diff mbox series

arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem

Message ID 20210407104303.25950-1-a-govindraju@ti.com (mailing list archive)
State New, archived
Headers show
Series arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem | expand

Commit Message

Aswath Govindraju April 7, 2021, 10:43 a.m. UTC
UHS-I speed modes are supported in AM65 S.R. 2.0 SoC[1].

Add support by removing the no-1-8-v tag and including the voltage
regulator device tree nodes for power cycling.

[1] - https://www.ti.com/lit/ug/spruid7e/spruid7e.pdf, section 12.3.6.1.1

Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
---

test logs:
https://pastebin.ubuntu.com/p/vpYbY9QWh8/

 arch/arm64/boot/dts/ti/k3-am65-main.dtsi      |  1 -
 .../arm64/boot/dts/ti/k3-am654-base-board.dts | 33 +++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

Comments

Nishanth Menon April 7, 2021, 2:59 p.m. UTC | #1
On 16:13-20210407, Aswath Govindraju wrote:
> UHS-I speed modes are supported in AM65 S.R. 2.0 SoC[1].
> 
> Add support by removing the no-1-8-v tag and including the voltage
> regulator device tree nodes for power cycling.
> 
> [1] - https://www.ti.com/lit/ug/spruid7e/spruid7e.pdf, section 12.3.6.1.1
> 
> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>

> ---
> 
> test logs:
> https://pastebin.ubuntu.com/p/vpYbY9QWh8/
> 
Thanks, but I dont plan on queuing this for 5.13-rc1 (my PR is already
out). but it does trigger an interesting discussion..

>  arch/arm64/boot/dts/ti/k3-am65-main.dtsi      |  1 -
>  .../arm64/boot/dts/ti/k3-am654-base-board.dts | 33 +++++++++++++++++++
>  2 files changed, 33 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
> index cb340d1b401f..632f32fce4a1 100644
> --- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
> @@ -301,7 +301,6 @@
>  		ti,otap-del-sel = <0x2>;
>  		ti,trm-icp = <0x8>;
>  		dma-coherent;
> -		no-1-8-v;
>  	};
>  

Jan - this will break your IOT SR1.0 boards, no? with all the SR1.0,
2.0, 2.1 coming along, the plan for TI was to support older revs via
overlays hoping that older boards will eventually get replaced or die
out of lack of use.. but you do have production on 1.0 -> so would you
rather handle this in overlay OR IOT boards dts introduce no-1-8-v
property?
Jan Kiszka April 7, 2021, 3:13 p.m. UTC | #2
On 07.04.21 16:59, Nishanth Menon wrote:
> On 16:13-20210407, Aswath Govindraju wrote:
>> UHS-I speed modes are supported in AM65 S.R. 2.0 SoC[1].
>>
>> Add support by removing the no-1-8-v tag and including the voltage
>> regulator device tree nodes for power cycling.
>>
>> [1] - https://www.ti.com/lit/ug/spruid7e/spruid7e.pdf, section 12.3.6.1.1
>>
>> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
> 
>> ---
>>
>> test logs:
>> https://pastebin.ubuntu.com/p/vpYbY9QWh8/
>>
> Thanks, but I dont plan on queuing this for 5.13-rc1 (my PR is already
> out). but it does trigger an interesting discussion..
> 
>>  arch/arm64/boot/dts/ti/k3-am65-main.dtsi      |  1 -
>>  .../arm64/boot/dts/ti/k3-am654-base-board.dts | 33 +++++++++++++++++++
>>  2 files changed, 33 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
>> index cb340d1b401f..632f32fce4a1 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
>> @@ -301,7 +301,6 @@
>>  		ti,otap-del-sel = <0x2>;
>>  		ti,trm-icp = <0x8>;
>>  		dma-coherent;
>> -		no-1-8-v;
>>  	};
>>  
> 
> Jan - this will break your IOT SR1.0 boards, no? with all the SR1.0,
> 2.0, 2.1 coming along, the plan for TI was to support older revs via
> overlays hoping that older boards will eventually get replaced or die
> out of lack of use.. but you do have production on 1.0 -> so would you
> rather handle this in overlay OR IOT boards dts introduce no-1-8-v
> property?

I'm fine with pulling anything needed into our board-specific DTs. Those
pending are for SR1.0 boards only. SR2 will come later and have their
own DTs.

Didn't follow the thread: Where is this patch located wrt my IOT2050
series? Does it come first first, and we would have to rebase? Or would
this change rather have to move the flag to k3-am65-iot2050-common.dtsi?

Thanks a lot for having an eye on these subtle dependencies!

Jan
Nishanth Menon April 7, 2021, 3:30 p.m. UTC | #3
On 17:13-20210407, Jan Kiszka wrote:
> On 07.04.21 16:59, Nishanth Menon wrote:
> > On 16:13-20210407, Aswath Govindraju wrote:
> >> UHS-I speed modes are supported in AM65 S.R. 2.0 SoC[1].
> >>
> >> Add support by removing the no-1-8-v tag and including the voltage
> >> regulator device tree nodes for power cycling.
> >>
> >> [1] - https://www.ti.com/lit/ug/spruid7e/spruid7e.pdf, section 12.3.6.1.1
> >>
> >> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
> > 
> >> ---
> >>
> >> test logs:
> >> https://pastebin.ubuntu.com/p/vpYbY9QWh8/
> >>
> > Thanks, but I dont plan on queuing this for 5.13-rc1 (my PR is already
> > out). but it does trigger an interesting discussion..
> > 
> >>  arch/arm64/boot/dts/ti/k3-am65-main.dtsi      |  1 -
> >>  .../arm64/boot/dts/ti/k3-am654-base-board.dts | 33 +++++++++++++++++++
> >>  2 files changed, 33 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
> >> index cb340d1b401f..632f32fce4a1 100644
> >> --- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
> >> +++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
> >> @@ -301,7 +301,6 @@
> >>  		ti,otap-del-sel = <0x2>;
> >>  		ti,trm-icp = <0x8>;
> >>  		dma-coherent;
> >> -		no-1-8-v;
> >>  	};
> >>  
> > 
> > Jan - this will break your IOT SR1.0 boards, no? with all the SR1.0,
> > 2.0, 2.1 coming along, the plan for TI was to support older revs via
> > overlays hoping that older boards will eventually get replaced or die
> > out of lack of use.. but you do have production on 1.0 -> so would you
> > rather handle this in overlay OR IOT boards dts introduce no-1-8-v
> > property?
> 
> I'm fine with pulling anything needed into our board-specific DTs. Those
> pending are for SR1.0 boards only. SR2 will come later and have their
> own DTs.

OK - I think the safe option will be for Ashwath to add no-1-8-v into
IOT board.dts as part of this patch to maintain bisectability.

> Didn't follow the thread: Where is this patch located wrt my IOT2050
> series? Does it come first first, and we would have to rebase? Or would
> this change rather have to move the flag to k3-am65-iot2050-common.dtsi?

5.13 PR is sent https://lore.kernel.org/linux-arm-kernel/20210405155336.smohb7uzkperqwuz@reflex/
IoT is part of that.. I am guessing Arnd / Olof will pick it up later this week
or weekend once it goes through their checklist.

we are starting to see 5.14 material now, so nothing you need to do from
rebase perspective - testing will be appreciated to make sure that the
new patches have'nt broken your board.

> Thanks a lot for having an eye on these subtle dependencies!

Sure..
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
index cb340d1b401f..632f32fce4a1 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
@@ -301,7 +301,6 @@ 
 		ti,otap-del-sel = <0x2>;
 		ti,trm-icp = <0x8>;
 		dma-coherent;
-		no-1-8-v;
 	};
 
 	scm_conf: scm-conf@100000 {
diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
index 9e87fb313a54..6f7292b6fe0a 100644
--- a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
@@ -91,6 +91,38 @@ 
 		#clock-cells = <0>;
 		clock-frequency = <24000000>;
 	};
+
+	evm_12v0: fixedregulator-evm12v0 {
+		/* main supply */
+		compatible = "regulator-fixed";
+		regulator-name = "evm_12v0";
+		regulator-min-microvolt = <12000000>;
+		regulator-max-microvolt = <12000000>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	vcc3v3_io: fixedregulator-vcc3v3io {
+		/* Output of TPS54334 */
+		compatible = "regulator-fixed";
+		regulator-name = "vcc3v3_io";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+		regulator-boot-on;
+		vin-supply = <&evm_12v0>;
+	};
+
+	vdd_mmc1_sd: fixedregulator-sd {
+		compatible = "regulator-fixed";
+		regulator-name = "vdd_mmc1_sd";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-boot-on;
+		enable-active-high;
+		vin-supply = <&vcc3v3_io>;
+		gpio = <&pca9554 4 GPIO_ACTIVE_HIGH>;
+	};
 };
 
 &wkup_pmx0 {
@@ -350,6 +382,7 @@ 
  * disable sdhci1
  */
 &sdhci1 {
+	vmmc-supply = <&vdd_mmc1_sd>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&main_mmc1_pins_default>;
 	ti,driver-strength-ohm = <50>;