Add SDHCI support for APM X-Gene SoC using ARASAN SDHCI controller.
Subsystems (4)
v6 cover Add SDHCI support for APM X-Gene SoC using ARASAN SDHCI controller.
This patch adds the SDHCI support for APM X-Gene SoC using ARASAN SDHCI controller.
v1 change:
* Use the CONFIG_ARM64_DMA_HAS_IOMMU for dma-mapping.
v2 change:
* Drop the IOMMU support and switching to PIO mode for arasan. controller integrated inside APM X-Gene SoC.
v3 change:
* Change the sdhci-of-arasan.c to support arasan4.9a.
* Add quirks for arasan4.9a.
v4 change:
* Cleanup the Documentation and dts.
v5 change:
* Rebase the dts files.
* Drop patch 2 and 3 as it is applied.
v6 change:
* Clean the unrequired properties from dts.
* Rename sdhc to sdhci.
* support to disable timming using capability register read.
---
Suman Tripathi (2):
arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi.
mmc: sdhci: Add support to disable SDR104/SDR50/DDR50 based on
capability register 0.
arch/arm64/boot/dts/apm/apm-mustang.dts | 4 +++ arch/arm64/boot/dts/apm/apm-storm.dtsi | 43 +++++++++++++++++++++++++++++++++ drivers/mmc/host/sdhci.c | 3 ++- 3 files changed, 49 insertions(+), 1 deletion(-)
--
1.8.2.1
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): 1431333531-30491-1-git-send-email-stripathi-qTEPVZfXA3Y@public.gmane.org
PATCH RESEND v6 1/2 arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi
This patch adds the arasan sdhci nodes to reuse the of-arasan driver for APM X-Gene SoC.
--- arch/arm64/boot/dts/apm/apm-mustang.dts | 4 +++ arch/arm64/boot/dts/apm/apm-storm.dtsi | 43 +++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+)
arch/arm64/boot/dts/apm/apm-mustang.dts +4 -0
@@ -52,3 +52,7 @@ &xgenet { status = "ok"; }; + +&sdhci0 { + status = "ok"; +};
arch/arm64/boot/dts/apm/apm-storm.dtsi +43 -0
55 lines not on this page · raw message
--
1.8.2.1
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH RESEND v6 1/2 arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi
Hi ,
Quoted 83 lines · Suman Tripathi
This patch adds the arasan sdhci nodes to reuse the of-arasan driver for APM X-Gene SoC.
Signed-off-by Suman Tripathi <[email protected]>--- arch/arm64/boot/dts/apm/apm-mustang.dts | 4 +++ arch/arm64/boot/dts/apm/apm-storm.dtsi | 43 +++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+)arch/arm64/boot/dts/apm/apm-mustang.dts +4
-0@@ -52,3 +52,7 @@ &xgenet { status = "ok"; }; + +&sdhci0 { + status = "ok"; +};arch/arm64/boot/dts/apm/apm-storm.dtsi +43
-1@@ -145,6 +145,40 @@ clock-output-names = "socplldiv2"; }; + ahbclk: ahbclk at 1f2ac000 { + compatible = "apm,xgene-device-clock"; + #clock-cells = <1>; + clocks = <&socplldiv2 0>; + reg = <0x0 0x1f2ac000 0x0 0x1000 + 0x0 0x17000000 0x0 0x2000>; + reg-names = "csr-reg", "div-reg"; + csr-offset = <0x0>; + csr-mask = <0x1>; + enable-offset = <0x8>; + enable-mask = <0x1>; + divider-offset = <0x164>; + divider-width = <0x5>; + divider-shift = <0x0>; + clock-output-names = "ahbclk"; + }; + + sdioclk: sdioclk at 1f2ac000 { + compatible = "apm,xgene-device-clock"; + #clock-cells = <1>; + clocks = <&socplldiv2 0>; + reg = <0x0 0x1f2ac000 0x0 0x1000 + 0x0 0x17000000 0x0 0x2000>; + reg-names = "csr-reg", "div-reg"; + csr-offset = <0x0>; + csr-mask = <0x2>; + enable-offset = <0x8>; + enable-mask = <0x2>; + divider-offset = <0x178>; + divider-width = <0x8>; + divider-shift = <0x0>; + clock-output-names = "sdioclk"; + }; + qmlclk: qmlclk { compatible = "apm,xgene-device-clock"; #clock-cells = <1>;@@ -533,6 +567,15 @@ interrupts = <0x0 0x4f 0x4>; }; + sdhci0: sdhci at 1c000000 { + compatible = "arasan,sdhci-4.9a"; + reg = <0x0 0x1c000000 0x0 0x100>; + interrupts = <0x0 0x49 0x4>; + dma-coherent; + clock-names = "clk_xin", "clk_ahb"; + clocks = <&sdioclk 0>, <&ahbclk 0>; + }; + phy1: phy at 1f21a000 { compatible = "apm,xgene-phy"; reg = <0x0 0x1f21a000 0x0 0x100>; --
Quoted 2 lines
1.8.2.1
Can anyone from dt community review this patch ? I have changed the dts node names from sdhc to sdhci as per Arnd, Michael comments .
Signature · 3 lines
Thanks, with regards, Suman Tripathi
PATCH RESEND v6 1/2 arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi
Quoted 14 lines · On Tuesday 12 May 2015 11:03:46 Suman Tripathi wrote:
Quoted 14 lines
arch/arm64/boot/dts/apm/apm-storm.dtsi +9
-0@@ -533,6 +567,15 @@ interrupts = <0x0 0x4f 0x4>; }; + sdhci0: sdhci at 1c000000 { + compatible = "arasan,sdhci-4.9a"; + reg = <0x0 0x1c000000 0x0 0x100>; + interrupts = <0x0 0x49 0x4>; + dma-coherent; + clock-names = "clk_xin", "clk_ahb"; + clocks = <&sdioclk 0>, <&ahbclk 0>; + }; + phy1: phy at 1f21a000 {
Quoted 8 lines
Quoted 5 lines
arch/arm64/boot/dts/apm/apm-storm.dtsi +0
-1compatible = "apm,xgene-phy"; reg = <0x0 0x1f21a000 0x0 0x100>; --1.8.2.1
Can anyone from dt community review this patch ? I have changed the dts node names from sdhc to sdhci as per Arnd, Michael comments .
I was actually asking for it to be named 'mmc', not 'sdhci', because the name is supposed to indicate the purpose of the device, not the implementation. I realize that we are inconsistent here, just as with 'uart' vs 'serial', and that ePAPR does not define what to do.
We should probably add something to Documentation/devicetree/bindings/mmc/mmc.txt about this topic and change all the dts files accordingly (unless there is a risk for regressions). At the moment, the mmc.txt file also includes an example with 'sdhci', not 'mmc'.
Arnd
PATCH RESEND v6 1/2 arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi
Quoted 24 lines · Arnd Bergmann
Quoted 14 lines · On Tuesday 12 May 2015 11:03:46 Suman Tripathi wrote:
Quoted 14 lines
arch/arm64/boot/dts/apm/apm-storm.dtsi +9
-0@@ -533,6 +567,15 @@ interrupts = <0x0 0x4f 0x4>; }; + sdhci0: sdhci at 1c000000 { + compatible = "arasan,sdhci-4.9a"; + reg = <0x0 0x1c000000 0x0 0x100>; + interrupts = <0x0 0x49 0x4>; + dma-coherent; + clock-names = "clk_xin", "clk_ahb"; + clocks = <&sdioclk 0>, <&ahbclk 0>; + }; + phy1: phy at 1f21a000 {Quoted 8 lines
Quoted 5 lines
arch/arm64/boot/dts/apm/apm-storm.dtsi +0
-1compatible = "apm,xgene-phy"; reg = <0x0 0x1f21a000 0x0 0x100>; --1.8.2.1
Can anyone from dt community review this patch ? I have changed the dts node names from sdhc to sdhci as per Arnd, Michael comments .
Quoted 4 lines
I was actually asking for it to be named 'mmc', not 'sdhci', because the name is supposed to indicate the purpose of the device, not the implementation. I realize that we are inconsistent here, just as with 'uart' vs 'serial', and that ePAPR does not define what to do.
Then we need a common name to address the following purposes: SD, MMC, eMMC, SDIO.
Quoted 6 lines
We should probably add something to
Documentation/devicetree/bindings/mmc/mmc.txtabout this topic and change all the dts files accordingly (unless there is a risk for regressions). At the moment, the mmc.txt file also includes an example with 'sdhci', not 'mmc'.
I am happy to change, as long as we can come up with something better.
Kind regards
Uffe
PATCH RESEND v6 2/2 mmc: sdhci: Add support to disable SDR104/SDR50/DDR50 based on capability register 0.
In reply to a message not in the archiveThe sdhci framework disables SDR104/SDR50/DDR50 based on only quirk. This patch adds the support to disable SDR104/SDR50/DDR50 based on reading the capability register 0.
--- drivers/mmc/host/sdhci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/mmc/host/sdhci.c +2 -1
@@ -3199,7 +3199,8 @@ int sdhci_add_host(struct sdhci_host *host) } } -if (host->quirks2 &SDHCI_QUIRK2_NO_1_8_V ) +if (host->quirks2 &SDHCI_QUIRK2_NO_1_8_V || + !(caps[0 ] &SDHCI_CAN_VDD_180 )) caps[1 ] &= ~(SDHCI_SUPPORT_SDR104 |SDHCI_SUPPORT_SDR50 |SDHCI_SUPPORT_DDR50 );
--
1.8.2.1
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html