linux-tegra.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] arm64: tegra: Xavier SDMMC changes
@ 2020-07-23 21:09 Tamás Szűcs
       [not found] ` <20200723210932.8076-1-tszucs-g/b1ySJe57IkP3XJZ0H8fw@public.gmane.org>
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Tamás Szűcs @ 2020-07-23 21:09 UTC (permalink / raw)
  To: Rob Herring, Thierry Reding, Jonathan Hunter, Vidya Sagar,
	Lorenzo Pieralisi, JC Kuo, Sameer Pujar, devicetree, linux-tegra,
	linux-kernel
  Cc: Tamás Szűcs

It turns out uSD card detection on the Jetson AGX Xavier is not working and
I/Os are limited to 3.3 V. SDIO is supported but not enabled. Also, the
on-board eMMC module is using HS200 only.

Changes in v2:
- fix board name in commit messages
- rebase on for-next

Kind regards,
Tamas


Tamás Szűcs (4):
  arm64: tegra: Enable signal voltage switching on Tegra194 SDMMC1 and
    SDMMC3
  arm64: tegra: Fix CD on Jetson AGX Xavier SDMMC1
  arm64: tegra: Configure SDIO cards on Jetson AGX Xavier SDMMC1
  arm64: tegra: Enable HS400 on Tegra194 SDMMC4

 .../arm64/boot/dts/nvidia/tegra194-p2888.dtsi |  4 +-
 arch/arm64/boot/dts/nvidia/tegra194.dtsi      | 46 +++++++++++++++++++
 2 files changed, 49 insertions(+), 1 deletion(-)

-- 
2.20.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/4] arm64: tegra: Enable signal voltage switching on Tegra194 SDMMC1 and SDMMC3
       [not found] ` <20200723210932.8076-1-tszucs-g/b1ySJe57IkP3XJZ0H8fw@public.gmane.org>
@ 2020-07-23 21:09   ` Tamás Szűcs
  2020-07-23 21:09   ` [PATCH v2 4/4] arm64: tegra: Enable HS400 on Tegra194 SDMMC4 Tamás Szűcs
  1 sibling, 0 replies; 5+ messages in thread
From: Tamás Szűcs @ 2020-07-23 21:09 UTC (permalink / raw)
  To: Rob Herring, Thierry Reding, Jonathan Hunter, Vidya Sagar,
	Lorenzo Pieralisi, JC Kuo, Sameer Pujar,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: Tamás Szűcs

Add pad voltage configuration nodes for SDMMC pads with configurable voltages
and enable supported SD card, SDIO and eMMC modes.

Signed-off-by: Tamás Szűcs <tszucs-g/b1ySJe57IkP3XJZ0H8fw@public.gmane.org>
---
 arch/arm64/boot/dts/nvidia/tegra194.dtsi | 45 ++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
index 48160f48003a..8351035bb6a7 100644
--- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
@@ -4,6 +4,7 @@
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/mailbox/tegra186-hsp.h>
 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
+#include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h>
 #include <dt-bindings/power/tegra194-powergate.h>
 #include <dt-bindings/reset/tegra194-reset.h>
 #include <dt-bindings/thermal/tegra194-bpmp-thermal.h>
@@ -467,6 +468,9 @@
 			interconnects = <&mc TEGRA194_MEMORY_CLIENT_SDMMCRA &emc>,
 					<&mc TEGRA194_MEMORY_CLIENT_SDMMCWA &emc>;
 			interconnect-names = "dma-mem", "write";
+			pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
+			pinctrl-0 = <&sdmmc1_3v3>;
+			pinctrl-1 = <&sdmmc1_1v8>;
 			nvidia,pad-autocal-pull-up-offset-3v3-timeout =
 									<0x07>;
 			nvidia,pad-autocal-pull-down-offset-3v3-timeout =
@@ -478,6 +482,15 @@
 			nvidia,pad-autocal-pull-down-offset-sdr104 = <0x00>;
 			nvidia,default-tap = <0x9>;
 			nvidia,default-trim = <0x5>;
+			cap-sd-highspeed;
+			cap-mmc-highspeed;
+			sd-uhs-sdr12;
+			sd-uhs-sdr25;
+			sd-uhs-sdr50;
+			sd-uhs-sdr104;
+			cap-sdio-irq;
+			mmc-ddr-1_8v;
+			mmc-hs200-1_8v;
 			status = "disabled";
 		};
 
@@ -492,6 +505,9 @@
 			interconnects = <&mc TEGRA194_MEMORY_CLIENT_SDMMCR &emc>,
 					<&mc TEGRA194_MEMORY_CLIENT_SDMMCW &emc>;
 			interconnect-names = "dma-mem", "write";
+			pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
+			pinctrl-0 = <&sdmmc3_3v3>;
+			pinctrl-1 = <&sdmmc3_1v8>;
 			nvidia,pad-autocal-pull-up-offset-1v8 = <0x00>;
 			nvidia,pad-autocal-pull-down-offset-1v8 = <0x7a>;
 			nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
@@ -504,6 +520,15 @@
 			nvidia,pad-autocal-pull-down-offset-sdr104 = <0x00>;
 			nvidia,default-tap = <0x9>;
 			nvidia,default-trim = <0x5>;
+			cap-sd-highspeed;
+			cap-mmc-highspeed;
+			sd-uhs-sdr12;
+			sd-uhs-sdr25;
+			sd-uhs-sdr50;
+			sd-uhs-sdr104;
+			cap-sdio-irq;
+			mmc-ddr-1_8v;
+			mmc-hs200-1_8v;
 			status = "disabled";
 		};
 
@@ -1029,6 +1054,26 @@
 
 			#interrupt-cells = <2>;
 			interrupt-controller;
+
+			sdmmc1_3v3: sdmmc1-3v3 {
+				pins = "sdmmc1-hv";
+				power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
+			};
+
+			sdmmc1_1v8: sdmmc1-1v8 {
+				pins = "sdmmc1-hv";
+				power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
+			};
+
+			sdmmc3_3v3: sdmmc3-3v3 {
+				pins = "sdmmc3-hv";
+				power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
+			};
+
+			sdmmc3_1v8: sdmmc3-1v8 {
+				pins = "sdmmc3-hv";
+				power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
+			};
 		};
 
 		host1x@13e00000 {
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/4] arm64: tegra: Fix CD on Jetson AGX Xavier SDMMC1
  2020-07-23 21:09 [PATCH v2 0/4] arm64: tegra: Xavier SDMMC changes Tamás Szűcs
       [not found] ` <20200723210932.8076-1-tszucs-g/b1ySJe57IkP3XJZ0H8fw@public.gmane.org>
@ 2020-07-23 21:09 ` Tamás Szűcs
  2020-07-23 21:09 ` [PATCH v2 3/4] arm64: tegra: Configure SDIO cards " Tamás Szűcs
  2 siblings, 0 replies; 5+ messages in thread
From: Tamás Szűcs @ 2020-07-23 21:09 UTC (permalink / raw)
  To: Rob Herring, Thierry Reding, Jonathan Hunter, Vidya Sagar,
	Lorenzo Pieralisi, JC Kuo, Sameer Pujar, devicetree, linux-tegra,
	linux-kernel
  Cc: Tamás Szűcs

Change GPIO used for card detection on SDMMC1.

Signed-off-by: Tamás Szűcs <tszucs@protonmail.ch>
---
 arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi b/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
index 4c005b811233..6c4a19cee34c 100644
--- a/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
@@ -59,7 +59,7 @@
 
 		/* SDMMC1 (SD/MMC) */
 		mmc@3400000 {
-			cd-gpios = <&gpio TEGRA194_MAIN_GPIO(A, 0) GPIO_ACTIVE_LOW>;
+			cd-gpios = <&gpio TEGRA194_MAIN_GPIO(G, 7) GPIO_ACTIVE_LOW>;
 		};
 
 		/* SDMMC4 (eMMC) */
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 3/4] arm64: tegra: Configure SDIO cards on Jetson AGX Xavier SDMMC1
  2020-07-23 21:09 [PATCH v2 0/4] arm64: tegra: Xavier SDMMC changes Tamás Szűcs
       [not found] ` <20200723210932.8076-1-tszucs-g/b1ySJe57IkP3XJZ0H8fw@public.gmane.org>
  2020-07-23 21:09 ` [PATCH v2 2/4] arm64: tegra: Fix CD on Jetson AGX Xavier SDMMC1 Tamás Szűcs
@ 2020-07-23 21:09 ` Tamás Szűcs
  2 siblings, 0 replies; 5+ messages in thread
From: Tamás Szűcs @ 2020-07-23 21:09 UTC (permalink / raw)
  To: Rob Herring, Thierry Reding, Jonathan Hunter, Vidya Sagar,
	Lorenzo Pieralisi, JC Kuo, Sameer Pujar, devicetree, linux-tegra,
	linux-kernel
  Cc: Tamás Szűcs

Preserve SDIO card power during a suspend/resume cycle and enable wake up of
host system on SDIO IRQ assertion.

Signed-off-by: Tamás Szűcs <tszucs@protonmail.ch>
---
 arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi b/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
index 6c4a19cee34c..156e961a4557 100644
--- a/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
@@ -60,6 +60,8 @@
 		/* SDMMC1 (SD/MMC) */
 		mmc@3400000 {
 			cd-gpios = <&gpio TEGRA194_MAIN_GPIO(G, 7) GPIO_ACTIVE_LOW>;
+			keep-power-in-suspend;
+			wakeup-source;
 		};
 
 		/* SDMMC4 (eMMC) */
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 4/4] arm64: tegra: Enable HS400 on Tegra194 SDMMC4
       [not found] ` <20200723210932.8076-1-tszucs-g/b1ySJe57IkP3XJZ0H8fw@public.gmane.org>
  2020-07-23 21:09   ` [PATCH v2 1/4] arm64: tegra: Enable signal voltage switching on Tegra194 SDMMC1 and SDMMC3 Tamás Szűcs
@ 2020-07-23 21:09   ` Tamás Szűcs
  1 sibling, 0 replies; 5+ messages in thread
From: Tamás Szűcs @ 2020-07-23 21:09 UTC (permalink / raw)
  To: Rob Herring, Thierry Reding, Jonathan Hunter, Vidya Sagar,
	Lorenzo Pieralisi, JC Kuo, Sameer Pujar,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: Tamás Szűcs

Enable HS400 signaling on Tegra194 SDMMC4 controller.

Signed-off-by: Tamás Szűcs <tszucs-g/b1ySJe57IkP3XJZ0H8fw@public.gmane.org>
---
 arch/arm64/boot/dts/nvidia/tegra194.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
index 8351035bb6a7..e26f35b6279b 100644
--- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
@@ -558,6 +558,7 @@
 			nvidia,default-tap = <0x8>;
 			nvidia,default-trim = <0x14>;
 			nvidia,dqs-trim = <40>;
+			mmc-hs400-1_8v;
 			supports-cqe;
 			status = "disabled";
 		};
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-07-23 21:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-23 21:09 [PATCH v2 0/4] arm64: tegra: Xavier SDMMC changes Tamás Szűcs
     [not found] ` <20200723210932.8076-1-tszucs-g/b1ySJe57IkP3XJZ0H8fw@public.gmane.org>
2020-07-23 21:09   ` [PATCH v2 1/4] arm64: tegra: Enable signal voltage switching on Tegra194 SDMMC1 and SDMMC3 Tamás Szűcs
2020-07-23 21:09   ` [PATCH v2 4/4] arm64: tegra: Enable HS400 on Tegra194 SDMMC4 Tamás Szűcs
2020-07-23 21:09 ` [PATCH v2 2/4] arm64: tegra: Fix CD on Jetson AGX Xavier SDMMC1 Tamás Szűcs
2020-07-23 21:09 ` [PATCH v2 3/4] arm64: tegra: Configure SDIO cards " Tamás Szűcs

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).