Skip to contentSkip to conversation

ARM: dts: gose: Enable UHS-I SDR-50 and SDR-104

PATCH Superseded Simon Horman 3 participants 6 messages Apr 18, 2017 – May 11, 2017 Device tree bindings

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

cover ARM: dts: gose: Enable UHS-I SDR-50 and SDR-104

Enable
- SDR-50 and SDR-104 for SDHI0 and;
- SDR-50 for SDHI1

Verified:
- SDR104 for SDHI0
- SDR50 for SDHI1
- Results comprable to those listed for other Renesas R-Car Gen2 boards on
http://elinux.org/Tests:SD-SDHI-SDR104
Untested:
SDR50 for SDHI3
- HS C4 card present in slot on board which I access remotely

Simon Horman (2):
ARM: dts: r8a7793: set maximum frequency for SDHI clocks
ARM: dts: gose: Enable UHS-I SDR-50 and SDR-104

 arch/arm/boot/dts/r8a7793-gose.dts | 34 +++++++++++++++++++++++++++++++---
 arch/arm/boot/dts/r8a7793.dtsi     |  3 +++
 2 files changed, 34 insertions(+), 3 deletions(-)
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#1 lore raw

PATCH 1/2 ARM: dts: r8a7793: set maximum frequency for SDHI clocks

Define the upper limit otherwise the driver cannot utilize max speeds.

---
 arch/arm/boot/dts/r8a7793.dtsi | 3 +++
 1 file changed, 3 insertions(+)
arch/arm/boot/dts/r8a7793.dtsi +3 -0
index 4de6041d61f9..08b7b0f97909 100644
@@ -542,6 +542,7 @@
 		dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
 		       <&dmac1 0xcd>, <&dmac1 0xce>;
 		dma-names = "tx", "rx", "tx", "rx";
+		max-frequency = <195000000>;
 		power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
 		status = "disabled";
 	};
@@ -554,6 +555,7 @@
 		dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
 		       <&dmac1 0xc1>, <&dmac1 0xc2>;
 		dma-names = "tx", "rx", "tx", "rx";
+		max-frequency = <97500000>;
 		power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
 		status = "disabled";
 	};
@@ -566,6 +568,7 @@
 		dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
 		       <&dmac1 0xd3>, <&dmac1 0xd4>;
 		dma-names = "tx", "rx", "tx", "rx";
+		max-frequency = <97500000>;
 		power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
 		status = "disabled";
 	};
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#2 lore raw

PATCH 1/2 ARM: dts: r8a7793: set maximum frequency for SDHI clocks

Quoted 3 lines · Simon Horman

Define the upper limit otherwise the driver cannot utilize max speeds.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170419/fa482005/attachment.sig>

#3 lore raw

PATCH 2/2 ARM: dts: gose: Enable UHS-I SDR-50 and SDR-104

In reply to Simon Horman

Add the "1v8" pinctrl state and sd-uhs-sdr50 property to SDHI{0,1,2}. And the sd-uhs-sdr104 property to SDHI0.

---
* Verified:
- SDR104 for SDHI0
- SDR50 for SDHI1
- Results comprable to those listed for other Renesas R-Car Gen2 boards on

    http://elinux.org/Tests:SD-SDHI-SDR104
* Untested:
  - SDR50 for SDHI3
    + HS C4 card present in slot on board which I access remotely
---
 arch/arm/boot/dts/r8a7793-gose.dts | 34 +++++++++++++++++++++++++++++++---
 1 file changed, 31 insertions(+), 3 deletions(-)
arch/arm/boot/dts/r8a7793-gose.dts +31 -3
index 806c93f6ae8b..95e51b79c1d7 100644
@@ -348,16 +348,37 @@
 	sdhi0_pins: sd0 {
 		groups = "sdhi0_data4", "sdhi0_ctrl";
 		function = "sdhi0";
+		power-source = <3300>;
+	};
+
+	sdhi0_pins_uhs: sd0_uhs {
+		groups = "sdhi0_data4", "sdhi0_ctrl";
+		function = "sdhi0";
+		power-source = <1800>;
 	};
 
 	sdhi1_pins: sd1 {
 		groups = "sdhi1_data4", "sdhi1_ctrl";
 		function = "sdhi1";
+		power-source = <3300>;
+	};
+
+	sdhi1_pins_uhs: sd1_uhs {
+		groups = "sdhi1_data4", "sdhi1_ctrl";
+		function = "sdhi1";
+		power-source = <1800>;
 	};
 
 	sdhi2_pins: sd2 {
 		groups = "sdhi2_data4", "sdhi2_ctrl";
 		function = "sdhi2";
+		power-source = <3300>;
+	};
+
+	sdhi2_pins_uhs: sd2_uhs {
+		groups = "sdhi2_data4", "sdhi2_ctrl";
+		function = "sdhi2";
+		power-source = <1800>;
 	};
 
 	qspi_pins: qspi {
@@ -416,33 +437,40 @@
 
 &sdhi0 {
 	pinctrl-0 = <&sdhi0_pins>;
-	pinctrl-names = "default";
+	pinctrl-1 = <&sdhi0_pins_uhs>;
+	pinctrl-names = "default", "state_uhs";
 
 	vmmc-supply = <&vcc_sdhi0>;
 	vqmmc-supply = <&vccq_sdhi0>;
 	cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
 	wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
+	sd-uhs-sdr50;
+	sd-uhs-sdr104;
 	status = "okay";
 };
 
 &sdhi1 {
 	pinctrl-0 = <&sdhi1_pins>;
-	pinctrl-names = "default";
+	pinctrl-1 = <&sdhi1_pins_uhs>;
+	pinctrl-names = "default", "state_uhs";
 
 	vmmc-supply = <&vcc_sdhi1>;
 	vqmmc-supply = <&vccq_sdhi1>;
 	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
 	wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
+	sd-uhs-sdr50;
 	status = "okay";
 };
 
 &sdhi2 {
 	pinctrl-0 = <&sdhi2_pins>;
-	pinctrl-names = "default";
+	pinctrl-1 = <&sdhi2_pins_uhs>;
+	pinctrl-names = "default", "state_uhs";
 
 	vmmc-supply = <&vcc_sdhi2>;
 	vqmmc-supply = <&vccq_sdhi2>;
 	cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
+	sd-uhs-sdr50;
 	status = "okay";
 };
 
Signature · 1 line
2.7.0.rc3.207.g0ac5344
#4 lore raw

PATCH 2/2 ARM: dts: gose: Enable UHS-I SDR-50 and SDR-104

Quoted 4 lines · Simon Horman

Add the "1v8" pinctrl state and sd-uhs-sdr50 property to SDHI{0,1,2}. And the sd-uhs-sdr104 property to SDHI0.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170419/3e32ce9f/attachment.sig>

#5 lore raw

cover ARM: dts: gose: Enable UHS-I SDR-50 and SDR-104

In reply to Simon Horman
Quoted 4 lines · Simon Horman

Enable
- SDR-50 and SDR-104 for SDHI0 and;
- SDR-50 for SDHI1

Quoted 8 lines

Verified:
- SDR104 for SDHI0
- SDR50 for SDHI1
- Results comprable to those listed for other Renesas R-Car Gen2 boards on
http://elinux.org/Tests:SD-SDHI-SDR104
Untested:
SDR50 for SDHI3
- HS C4 card present in slot on board which I access remotely

The above should read SDHI2 rather than SDHI3.
I have now been able to test SDHI2 and have queued up this series with Wolfram's Acks.

Quoted 11 lines

Simon Horman (2):
ARM: dts: r8a7793: set maximum frequency for SDHI clocks
ARM: dts: gose: Enable UHS-I SDR-50 and SDR-104

 arch/arm/boot/dts/r8a7793-gose.dts | 34 +++++++++++++++++++++++++++++++---
 arch/arm/boot/dts/r8a7793.dtsi     |  3 +++
 2 files changed, 34 insertions(+), 3 deletions(-)
Signature · 1 line
2.7.0.rc3.207.g0ac5344