* [PATCH RESEND v6 0/2] Add SDHCI support for APM X-Gene SoC using ARASAN SDHCI controller.
@ 2015-05-11 8:38 Suman Tripathi
2015-05-11 8:38 ` [PATCH RESEND v6 1/2] arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi Suman Tripathi
2015-05-11 8:38 ` [PATCH RESEND v6 2/2] mmc: sdhci: Add support to disable SDR104/SDR50/DDR50 based on capability register 0 Suman Tripathi
0 siblings, 2 replies; 6+ messages in thread
From: Suman Tripathi @ 2015-05-11 8:38 UTC (permalink / raw)
To: chris, anton, arnd, michal.simek
Cc: devicetree, mlangsdo, Suman Tripathi, jcm, linux-mmc, patches,
ddutile, linuxppc-dev, linux-arm-kernel
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.
Signed-off-by: Suman Tripathi <stripathi@apm.com>
---
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
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH RESEND v6 1/2] arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi 2015-05-11 8:38 [PATCH RESEND v6 0/2] Add SDHCI support for APM X-Gene SoC using ARASAN SDHCI controller Suman Tripathi @ 2015-05-11 8:38 ` Suman Tripathi 2015-05-12 5:33 ` Suman Tripathi 2015-05-11 8:38 ` [PATCH RESEND v6 2/2] mmc: sdhci: Add support to disable SDR104/SDR50/DDR50 based on capability register 0 Suman Tripathi 1 sibling, 1 reply; 6+ messages in thread From: Suman Tripathi @ 2015-05-11 8:38 UTC (permalink / raw) To: chris, anton, arnd, michal.simek Cc: devicetree, mlangsdo, Suman Tripathi, jcm, linux-mmc, patches, ddutile, linuxppc-dev, linux-arm-kernel This patch adds the arasan sdhci nodes to reuse the of-arasan driver for APM X-Gene SoC. Signed-off-by: Suman Tripathi <stripathi@apm.com> --- arch/arm64/boot/dts/apm/apm-mustang.dts | 4 +++ arch/arm64/boot/dts/apm/apm-storm.dtsi | 43 +++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/arch/arm64/boot/dts/apm/apm-mustang.dts b/arch/arm64/boot/dts/apm/apm-mustang.dts index 83578e7..7ccd517 100644 --- a/arch/arm64/boot/dts/apm/apm-mustang.dts +++ b/arch/arm64/boot/dts/apm/apm-mustang.dts @@ -52,3 +52,7 @@ &xgenet { status = "ok"; }; + +&sdhci0 { + status = "ok"; +}; diff --git a/arch/arm64/boot/dts/apm/apm-storm.dtsi b/arch/arm64/boot/dts/apm/apm-storm.dtsi index c8d3e0e..b5d2698 100644 --- a/arch/arm64/boot/dts/apm/apm-storm.dtsi +++ b/arch/arm64/boot/dts/apm/apm-storm.dtsi @@ -145,6 +145,40 @@ clock-output-names = "socplldiv2"; }; + ahbclk: ahbclk@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@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@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@1f21a000 { compatible = "apm,xgene-phy"; reg = <0x0 0x1f21a000 0x0 0x100>; -- 1.8.2.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH RESEND v6 1/2] arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi 2015-05-11 8:38 ` [PATCH RESEND v6 1/2] arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi Suman Tripathi @ 2015-05-12 5:33 ` Suman Tripathi 2015-05-12 7:28 ` Arnd Bergmann 0 siblings, 1 reply; 6+ messages in thread From: Suman Tripathi @ 2015-05-12 5:33 UTC (permalink / raw) To: Chris Ball, Anton Vorontsov, Arnd Bergmann, Michal Simek Cc: devicetree@vger.kernel.org, Mark Langsdorf, Suman Tripathi, Jon Masters, linux-mmc, patches, Don Dutile, linuxppc-dev, linux-arm-kernel Hi , On Mon, May 11, 2015 at 2:08 PM, Suman Tripathi <stripathi@apm.com> wrote: > This patch adds the arasan sdhci nodes to reuse the of-arasan > driver for APM X-Gene SoC. > > Signed-off-by: Suman Tripathi <stripathi@apm.com> > --- > arch/arm64/boot/dts/apm/apm-mustang.dts | 4 +++ > arch/arm64/boot/dts/apm/apm-storm.dtsi | 43 +++++++++++++++++++++++++++++++++ > 2 files changed, 47 insertions(+) > > diff --git a/arch/arm64/boot/dts/apm/apm-mustang.dts b/arch/arm64/boot/dts/apm/apm-mustang.dts > index 83578e7..7ccd517 100644 > --- a/arch/arm64/boot/dts/apm/apm-mustang.dts > +++ b/arch/arm64/boot/dts/apm/apm-mustang.dts > @@ -52,3 +52,7 @@ > &xgenet { > status = "ok"; > }; > + > +&sdhci0 { > + status = "ok"; > +}; > diff --git a/arch/arm64/boot/dts/apm/apm-storm.dtsi b/arch/arm64/boot/dts/apm/apm-storm.dtsi > index c8d3e0e..b5d2698 100644 > --- a/arch/arm64/boot/dts/apm/apm-storm.dtsi > +++ b/arch/arm64/boot/dts/apm/apm-storm.dtsi > @@ -145,6 +145,40 @@ > clock-output-names = "socplldiv2"; > }; > > + ahbclk: ahbclk@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@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@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@1f21a000 { > compatible = "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 . -- Thanks, with regards, Suman Tripathi ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH RESEND v6 1/2] arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi 2015-05-12 5:33 ` Suman Tripathi @ 2015-05-12 7:28 ` Arnd Bergmann 2015-05-12 12:30 ` Ulf Hansson 0 siblings, 1 reply; 6+ messages in thread From: Arnd Bergmann @ 2015-05-12 7:28 UTC (permalink / raw) To: linuxppc-dev Cc: devicetree@vger.kernel.org, Mark Langsdorf, Suman Tripathi, Jon Masters, Anton Vorontsov, linux-mmc, Chris Ball, Michal Simek, patches, Don Dutile, linux-arm-kernel On Tuesday 12 May 2015 11:03:46 Suman Tripathi wrote: > > @@ -533,6 +567,15 @@ > > interrupts = <0x0 0x4f 0x4>; > > }; > > > > + sdhci0: sdhci@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@1f21a000 { > > compatible = "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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH RESEND v6 1/2] arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi 2015-05-12 7:28 ` Arnd Bergmann @ 2015-05-12 12:30 ` Ulf Hansson 0 siblings, 0 replies; 6+ messages in thread From: Ulf Hansson @ 2015-05-12 12:30 UTC (permalink / raw) To: Arnd Bergmann Cc: devicetree@vger.kernel.org, Mark Langsdorf, Suman Tripathi, Jon Masters, Anton Vorontsov, linux-mmc, Chris Ball, Michal Simek, patches, Don Dutile, linuxppc-dev@lists.ozlabs.org, linux-arm-kernel On 12 May 2015 at 09:28, Arnd Bergmann <arnd@arndb.de> wrote: > On Tuesday 12 May 2015 11:03:46 Suman Tripathi wrote: >> > @@ -533,6 +567,15 @@ >> > interrupts = <0x0 0x4f 0x4>; >> > }; >> > >> > + sdhci0: sdhci@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@1f21a000 { >> > compatible = "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. Then we need a common name to address the following purposes: SD, MMC, eMMC, SDIO. > > 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'. > I am happy to change, as long as we can come up with something better. Kind regards Uffe ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH RESEND v6 2/2] mmc: sdhci: Add support to disable SDR104/SDR50/DDR50 based on capability register 0. 2015-05-11 8:38 [PATCH RESEND v6 0/2] Add SDHCI support for APM X-Gene SoC using ARASAN SDHCI controller Suman Tripathi 2015-05-11 8:38 ` [PATCH RESEND v6 1/2] arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi Suman Tripathi @ 2015-05-11 8:38 ` Suman Tripathi 1 sibling, 0 replies; 6+ messages in thread From: Suman Tripathi @ 2015-05-11 8:38 UTC (permalink / raw) To: chris, anton, arnd, michal.simek Cc: devicetree, mlangsdo, Suman Tripathi, jcm, linux-mmc, patches, ddutile, linuxppc-dev, linux-arm-kernel The 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. Signed-off-by: Suman Tripathi <stripathi@apm.com> --- drivers/mmc/host/sdhci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index c80287a..e024c64 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -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 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-05-12 12:30 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-05-11 8:38 [PATCH RESEND v6 0/2] Add SDHCI support for APM X-Gene SoC using ARASAN SDHCI controller Suman Tripathi 2015-05-11 8:38 ` [PATCH RESEND v6 1/2] arm64: dts: Add the arasan sdhci nodes in apm-storm.dtsi Suman Tripathi 2015-05-12 5:33 ` Suman Tripathi 2015-05-12 7:28 ` Arnd Bergmann 2015-05-12 12:30 ` Ulf Hansson 2015-05-11 8:38 ` [PATCH RESEND v6 2/2] mmc: sdhci: Add support to disable SDR104/SDR50/DDR50 based on capability register 0 Suman Tripathi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).