mmc: host: add SDHCI platform driver for msm chipsets
Subsystems (4)
PATCH 1/1 mmc: host: add SDHCI platform driver for msm chipsets
This platform driver adds the support of Secure Digital Host Controller Interface compliant controller in MSM chipsets.
--- .../devicetree/bindings/mmc/sdhci-msm.txt | 49 + drivers/mmc/host/Kconfig | 13 + drivers/mmc/host/Makefile | 1 + drivers/mmc/host/sdhci-msm.c | 961 ++++++++++++++++++++ 4 files changed, 1024 insertions(+), 0 deletions(-) create mode 100644 Documentation/devicetree/bindings/mmc/sdhci-msm.txt create mode 100644 drivers/mmc/host/sdhci-msm.c
Documentation/devicetree/bindings/mmc/sdhci-msm.txt new file +49 -0
@@ -0,0 +1,49 @@ +Qualcomm Standard Secure Digital Host Controller (SDHC) + +Secure Digital Host Controller provides standard host interface to SD/MMC/SDIO cards. + +Required properties: + - compatible : should be "qcom,sdhci-msm" + - reg : should contain SDHC, SD Core register map. + - reg-names : indicates various resources passed to driver (via reg proptery) by name. + "reg-names" examples are "hc_mem" and "core_mem" + - interrupts : should contain SDHC interrupts. + - interrupt-names : indicates interrupts passed to driver (via interrupts property) by name. + "interrupt-names" examples are "hc_irq" and "pwr_irq" + - <supply-name>-supply: phandle to the regulator device tree node + "supply-name" examples are "vdd", "vdd-io". + +Optional Properties: + - cell-index - defines slot ID. + - qcom,bus-width - defines the bus I/O width that controller supports. + - qcom,nonremovable - specifies whether the card in slot is + hot pluggable or hard wired. + - qcom,bus-speed-mode - specifies supported bus speed modes by host. + - qcom,current-limit - specifies max. current the host can drive. + +In the following, <supply> can be vdd (flash core voltage) or vdd-io (I/O voltage). + - qcom,<supply>-always_on - specifies whether supply should be kept "on" always. + - qcom,<supply>-lpm_sup - specifies whether supply can be kept in low power mode (lpm). + - qcom,<supply>-voltage_level - specifies voltage levels for supply. Should be + specified in pairs (min, max), units uV. + - qcom,<supply>-current_level - specifies load levels for supply in lpm or + high power mode (hpm). Should be specified in pairs (lpm, hpm), units uA. + + - gpios - specifies gpios assigned for sdhc slot. + - qcom,gpio-names - a list of strings that map in order to the list of gpios + + - qcom,max-clk-rate - specifies the max. clock rate supported for a particular slot. + +Example: + + qcom,sdhc@f9824900 { + cell-index = <1>; // SDC1 used as eMMC slot + compatible = "qcom,sdhci-msm"; + reg = <0xf9824900 0x11C>, // SDHC register interface + <0xf9824000 0x800> // SD Core register interface + + interrupts = <0 123 0>, // Core interrupt + <0 138 0>; // Pwr interrupt + qcom,sdcc-bus-width = <8>; // 8-bit wide + qcom,sdcc-nonremovable; + };
drivers/mmc/host/Kconfig +13 -0
@@ -458,6 +458,19 @@ config MMC_SDRICOH_CS config MMC_TMIO_CORE tristate +config MMC_SDHCI_MSM + tristate "Qualcomm SDHCI Controller Support" + depends on ARCH_MSM + depends on MMC_SDHCI_PLTFM + help + This selects the Secure Digital Host Controller Interface (SDHCI) + support present in MSM SOCs from Qualcomm. The controller + supports SD/MMC/SDIO devices. + + If you have a controller with this interface, say Y or M here. + + If unsure, say N. + config MMC_MSM tristate "Qualcomm SDCC Controller Support" depends on MMC && ARCH_MSM
drivers/mmc/host/Makefile +1 -0
@@ -56,6 +56,7 @@ obj-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o obj-$(CONFIG_MMC_SDHCI_TEGRA) += sdhci-tegra.o obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o obj-$(CONFIG_MMC_SDHCI_OF_HLWD) += sdhci-of-hlwd.o +obj-$(CONFIG_MMC_SDHCI_MSM) += sdhci-msm.o ifeq ($(CONFIG_CB710_DEBUG),y) CFLAGS-cb710-mmc += -DDEBUG
drivers/mmc/host/sdhci-msm.c new file +961 -0
961 lines not on this page · raw message
Signature · 3 lines
1.7.8.3 -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Hi Asutosh,
Quoted 5 lines · Asutosh Das
This platform driver adds the support of Secure Digital Host Controller Interface compliant controller in MSM chipsets.
Signed-off-by Asutosh Das <[email protected]>Signed-off-by Venkat Gopalakrishnan <[email protected]>
Please resubmit (or just let me know) this patch once the SoC that contains this IP has mainline support queued for merging.
Also, please switch to using the standard MMC DT bindings where possible instead of the qcom,-prefixed ones.
Thanks!
- Chris.
Signature · 2 lines
Chris Ball <[email protected]> <http://printf.net/> One Laptop Per Child
Quoted 11 lines · Chris Ball
Hi Asutosh,
Quoted 5 lines · Asutosh Das
This platform driver adds the support of Secure Digital Host Controller Interface compliant controller in MSM chipsets.
Signed-off-by Asutosh Das <[email protected]>Signed-off-by Venkat Gopalakrishnan <[email protected]>Please resubmit (or just let me know) this patch once the SoC that contains this IP has mainline support queued for merging.
Quoted 6 lines
Also, please switch to using the standard MMC DT bindings where possible instead of the qcom,-prefixed ones.
Thanks!
- Chris.
Hi Chris
sure will do.
Thanks
Asutosh
Signature · 2 lines
Sent by a consultant of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.