>From the SD host controller version 4.0 on, SDHCI implementation either is version 3 compatible or version 4 mode. This patch-set covers those changes which are common for SDHCI 4.0 version, regardless of whether they are used with SD or eMMC storage devices. This patchset also added a new sdhci driver for Spreadtrum's controller which supports v4.0 mode. This patchset has been tested on Spreadtrum's mobile phone, emmc can be initialized, mounted, read and written, with these changes for common sdhci framework and sdhci-sprd driver. Changes from V4: * Addressed Adrian's comments: - Enable v4 mode in __sdhci_read_caps() and sdhci_init() instead of sdhci_do_reset(); - Move the added member 'v4_mode' to following with other bools; - Add more comments in the added function sdhci_config_dma(); - Instead of enabling auto-CMD23 in init, enabled it only if receiving sbc from cards and the argument is suitable for host to deal with; - Make the addition of the SDHCI_SPEC_4xx defines a separate patch; - Disable auto-CMD23 if stuff bits is set in the argument of CMD23 in sdhci_request(). * For V4 mode, SDMA also can use auto-CMD23, adjusted host->flags in sdhci_setup_host(). Previous patch series: v4: https://lkml.org/lkml/2018/7/23/269 v3: https://lkml.org/lkml/2018/7/8/239 v2: https://lkml.org/lkml/2018/6/14/936 v1: https://lkml.org/lkml/2018/6/8/108 Chunyan Zhang (10): mmc: sdhci: Add version V4 definition mmc: sdhci: Add sd host v4 mode mmc: sdhci: Change SDMA address register for v4 mode mmc: sdhci: Add ADMA2 64-bit addressing support for V4 mode mmc: sdhci: Add 32-bit block count support for v4 mode mmc: sdhci: Disable auto-CMD23 if stuff bits is set in CMD23 argument mmc: sdhci: Add Auto CMD Auto Select support mmc: sdhci: SDMA may use Auto-CMD23 in v4 mode mmc: sdhci-sprd: Add Spreadtrum's initial host controller dt-bindings: sdhci-sprd: Add bindings for the sdhci-sprd controller .../devicetree/bindings/mmc/sdhci-sprd.txt | 41 ++ drivers/mmc/host/Kconfig | 13 + drivers/mmc/host/Makefile | 1 + drivers/mmc/host/sdhci-sprd.c | 464 +++++++++++++++++++++ drivers/mmc/host/sdhci.c | 251 ++++++++--- drivers/mmc/host/sdhci.h | 22 +- 6 files changed, 741 insertions(+), 51 deletions(-) create mode 100644 Documentation/devicetree/bindings/mmc/sdhci-sprd.txt create mode 100644 drivers/mmc/host/sdhci-sprd.c -- 2.7.4