linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem
@ 2021-05-11  9:53 Aswath Govindraju
  2021-05-11  9:55 ` Aswath Govindraju
  2021-05-11 10:01 ` Jan Kiszka
  0 siblings, 2 replies; 7+ messages in thread
From: Aswath Govindraju @ 2021-05-11  9:53 UTC (permalink / raw)
  Cc: Vignesh Raghavendra, Lokesh Vutla, Kishon Vijay Abraham I,
	Jan Kiszka, Aswath Govindraju, Nishanth Menon, Tero Kristo,
	Rob Herring, linux-arm-kernel, devicetree, linux-kernel

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.

However, the 4 bit interface of AM65 SR 1.0 cannot be supported at 3.3 V or
1.8 V because of erratas i2025 and i2026 [2]. As the SD card is the primary
boot mode for development usecases, continue to enable SD card and disable
UHS-I modes in it to minimize any ageing issues happening because of
erratas.

k3-am6528-iot2050-basic and k3-am6548-iot2050-advanced boards use S.R. 1.0
version of AM65 SoC. Therefore, add no-1-8-v in sdhci1 device tree nodes
for these boards.

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

Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
---
 arch/arm64/boot/dts/ti/k3-am65-main.dtsi      |  1 -
 .../boot/dts/ti/k3-am6528-iot2050-basic.dts   |  4 +++
 .../arm64/boot/dts/ti/k3-am654-base-board.dts | 33 +++++++++++++++++++
 .../dts/ti/k3-am6548-iot2050-advanced.dts     |  4 +++
 4 files changed, 41 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;
 	};
 
 	scm_conf: scm-conf@100000 {
diff --git a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
index 4f7e3f2a6265..485266960d5f 100644
--- a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
+++ b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
@@ -40,6 +40,10 @@
 	status = "disabled";
 };
 
+&sdhci1 {
+	no-1-8-v;
+};
+
 &main_pmx0 {
 	main_uart0_pins_default: main-uart0-pins-default {
 		pinctrl-single,pins = <
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..51c594b4dddb 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>;
diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
index ec9617c13cdb..3643a19b5f33 100644
--- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
+++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
@@ -55,6 +55,10 @@
 	disable-wp;
 };
 
+&sdhci1 {
+	no-1-8-v;
+};
+
 &main_uart0 {
 	status = "disabled";
 };
-- 
2.17.1


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

* Re: [PATCH v2] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem
  2021-05-11  9:53 [PATCH v2] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem Aswath Govindraju
@ 2021-05-11  9:55 ` Aswath Govindraju
  2021-05-11 10:01 ` Jan Kiszka
  1 sibling, 0 replies; 7+ messages in thread
From: Aswath Govindraju @ 2021-05-11  9:55 UTC (permalink / raw)
  Cc: Vignesh Raghavendra, Lokesh Vutla, Kishon Vijay Abraham I,
	Jan Kiszka, Nishanth Menon, Tero Kristo, Rob Herring,
	linux-arm-kernel, devicetree, linux-kernel

On 11/05/21 3:23 pm, 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.
> 
> However, the 4 bit interface of AM65 SR 1.0 cannot be supported at 3.3 V or
> 1.8 V because of erratas i2025 and i2026 [2]. As the SD card is the primary
> boot mode for development usecases, continue to enable SD card and disable
> UHS-I modes in it to minimize any ageing issues happening because of
> erratas.
> 
> k3-am6528-iot2050-basic and k3-am6548-iot2050-advanced boards use S.R. 1.0
> version of AM65 SoC. Therefore, add no-1-8-v in sdhci1 device tree nodes
> for these boards.
> 
> [1] - https://www.ti.com/lit/ug/spruid7e/spruid7e.pdf, section 12.3.6.1.1
> [2] - https://www.ti.com/lit/er/sprz452e/sprz452e.pdf
> 
> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
> ---

changes since v1:
 - added no-1-8-v tag in sdhci1 dt nodes of k3-am6528-iot2050-basic and
k3-am6548-iot2050-advanced boards as they use S.R.1.0 version AM65 SoC.

Thanks,
Aswath

>  arch/arm64/boot/dts/ti/k3-am65-main.dtsi      |  1 -
>  .../boot/dts/ti/k3-am6528-iot2050-basic.dts   |  4 +++
>  .../arm64/boot/dts/ti/k3-am654-base-board.dts | 33 +++++++++++++++++++
>  .../dts/ti/k3-am6548-iot2050-advanced.dts     |  4 +++
>  4 files changed, 41 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;
>  	};
>  
>  	scm_conf: scm-conf@100000 {
> diff --git a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
> index 4f7e3f2a6265..485266960d5f 100644
> --- a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
> @@ -40,6 +40,10 @@
>  	status = "disabled";
>  };
>  
> +&sdhci1 {
> +	no-1-8-v;
> +};
> +
>  &main_pmx0 {
>  	main_uart0_pins_default: main-uart0-pins-default {
>  		pinctrl-single,pins = <
> 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..51c594b4dddb 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>;
> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> index ec9617c13cdb..3643a19b5f33 100644
> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> @@ -55,6 +55,10 @@
>  	disable-wp;
>  };
>  
> +&sdhci1 {
> +	no-1-8-v;
> +};
> +
>  &main_uart0 {
>  	status = "disabled";
>  };
> 


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

* Re: [PATCH v2] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem
  2021-05-11  9:53 [PATCH v2] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem Aswath Govindraju
  2021-05-11  9:55 ` Aswath Govindraju
@ 2021-05-11 10:01 ` Jan Kiszka
  2021-05-11 10:13   ` Aswath Govindraju
  1 sibling, 1 reply; 7+ messages in thread
From: Jan Kiszka @ 2021-05-11 10:01 UTC (permalink / raw)
  To: Aswath Govindraju
  Cc: Vignesh Raghavendra, Lokesh Vutla, Kishon Vijay Abraham I,
	Nishanth Menon, Tero Kristo, Rob Herring, linux-arm-kernel,
	devicetree, linux-kernel

On 11.05.21 11:53, 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.
> 
> However, the 4 bit interface of AM65 SR 1.0 cannot be supported at 3.3 V or
> 1.8 V because of erratas i2025 and i2026 [2]. As the SD card is the primary
> boot mode for development usecases, continue to enable SD card and disable
> UHS-I modes in it to minimize any ageing issues happening because of
> erratas.
> 
> k3-am6528-iot2050-basic and k3-am6548-iot2050-advanced boards use S.R. 1.0
> version of AM65 SoC. Therefore, add no-1-8-v in sdhci1 device tree nodes
> for these boards.
> 
> [1] - https://www.ti.com/lit/ug/spruid7e/spruid7e.pdf
> [2] - https://www.ti.com/lit/er/sprz452e/sprz452e.pdf
> 
> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
> ---
>  arch/arm64/boot/dts/ti/k3-am65-main.dtsi      |  1 -
>  .../boot/dts/ti/k3-am6528-iot2050-basic.dts   |  4 +++
>  .../arm64/boot/dts/ti/k3-am654-base-board.dts | 33 +++++++++++++++++++
>  .../dts/ti/k3-am6548-iot2050-advanced.dts     |  4 +++
>  4 files changed, 41 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;
>  	};
>  
>  	scm_conf: scm-conf@100000 {
> diff --git a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
> index 4f7e3f2a6265..485266960d5f 100644
> --- a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
> @@ -40,6 +40,10 @@
>  	status = "disabled";
>  };
>  
> +&sdhci1 {
> +	no-1-8-v;
> +};
> +

Let's move that to k3-am65-iot2050-common.dtsi, to avoid repeating
yourself. There is already a sdhci1 extension.

Jan

>  &main_pmx0 {
>  	main_uart0_pins_default: main-uart0-pins-default {
>  		pinctrl-single,pins = <
> 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..51c594b4dddb 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>;
> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> index ec9617c13cdb..3643a19b5f33 100644
> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> @@ -55,6 +55,10 @@
>  	disable-wp;
>  };
>  
> +&sdhci1 {
> +	no-1-8-v;
> +};
> +
>  &main_uart0 {
>  	status = "disabled";
>  };
> 

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

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

* Re: [PATCH v2] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem
  2021-05-11 10:01 ` Jan Kiszka
@ 2021-05-11 10:13   ` Aswath Govindraju
  2021-05-11 15:26     ` Jan Kiszka
  0 siblings, 1 reply; 7+ messages in thread
From: Aswath Govindraju @ 2021-05-11 10:13 UTC (permalink / raw)
  To: Jan Kiszka
  Cc: Vignesh Raghavendra, Lokesh Vutla, Kishon Vijay Abraham I,
	Nishanth Menon, Tero Kristo, Rob Herring, linux-arm-kernel,
	devicetree, linux-kernel

Hi Jan,

On 11/05/21 3:31 pm, Jan Kiszka wrote:
> On 11.05.21 11:53, 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.
>>
>> However, the 4 bit interface of AM65 SR 1.0 cannot be supported at 3.3 V or
>> 1.8 V because of erratas i2025 and i2026 [2]. As the SD card is the primary
>> boot mode for development usecases, continue to enable SD card and disable
>> UHS-I modes in it to minimize any ageing issues happening because of
>> erratas.
>>
>> k3-am6528-iot2050-basic and k3-am6548-iot2050-advanced boards use S.R. 1.0
>> version of AM65 SoC. Therefore, add no-1-8-v in sdhci1 device tree nodes
>> for these boards.
>>
>> [1] - https://www.ti.com/lit/ug/spruid7e/spruid7e.pdf
>> [2] - https://www.ti.com/lit/er/sprz452e/sprz452e.pdf
>>
>> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
>> ---
>>  arch/arm64/boot/dts/ti/k3-am65-main.dtsi      |  1 -
>>  .../boot/dts/ti/k3-am6528-iot2050-basic.dts   |  4 +++
>>  .../arm64/boot/dts/ti/k3-am654-base-board.dts | 33 +++++++++++++++++++
>>  .../dts/ti/k3-am6548-iot2050-advanced.dts     |  4 +++
>>  4 files changed, 41 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;
>>  	};
>>  
>>  	scm_conf: scm-conf@100000 {
>> diff --git a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
>> index 4f7e3f2a6265..485266960d5f 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
>> +++ b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
>> @@ -40,6 +40,10 @@
>>  	status = "disabled";
>>  };
>>  
>> +&sdhci1 {
>> +	no-1-8-v;
>> +};
>> +
> 
> Let's move that to k3-am65-iot2050-common.dtsi, to avoid repeating
> yourself. There is already a sdhci1 extension.
> 

The reason why I added these tags in board dts and not in the common
dtsi is because if it was added in the common board then for all the iot
boards this will be applicable and in future if a different version of
iot boards use S.R. 2.0 then we might have to change it again.

Thanks,
Aswath

> Jan
> 
>>  &main_pmx0 {
>>  	main_uart0_pins_default: main-uart0-pins-default {
>>  		pinctrl-single,pins = <
>> 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..51c594b4dddb 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>;
>> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>> index ec9617c13cdb..3643a19b5f33 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>> @@ -55,6 +55,10 @@
>>  	disable-wp;
>>  };
>>  
>> +&sdhci1 {
>> +	no-1-8-v;
>> +};
>> +
>>  &main_uart0 {
>>  	status = "disabled";
>>  };
>>
> 


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

* Re: [PATCH v2] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem
  2021-05-11 10:13   ` Aswath Govindraju
@ 2021-05-11 15:26     ` Jan Kiszka
  2021-05-11 16:33       ` Nishanth Menon
  0 siblings, 1 reply; 7+ messages in thread
From: Jan Kiszka @ 2021-05-11 15:26 UTC (permalink / raw)
  To: Aswath Govindraju
  Cc: Vignesh Raghavendra, Lokesh Vutla, Kishon Vijay Abraham I,
	Nishanth Menon, Tero Kristo, Rob Herring, linux-arm-kernel,
	devicetree, linux-kernel

On 11.05.21 12:13, Aswath Govindraju wrote:
> Hi Jan,
> 
> On 11/05/21 3:31 pm, Jan Kiszka wrote:
>> On 11.05.21 11:53, 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.
>>>
>>> However, the 4 bit interface of AM65 SR 1.0 cannot be supported at 3.3 V or
>>> 1.8 V because of erratas i2025 and i2026 [2]. As the SD card is the primary
>>> boot mode for development usecases, continue to enable SD card and disable
>>> UHS-I modes in it to minimize any ageing issues happening because of
>>> erratas.
>>>
>>> k3-am6528-iot2050-basic and k3-am6548-iot2050-advanced boards use S.R. 1.0
>>> version of AM65 SoC. Therefore, add no-1-8-v in sdhci1 device tree nodes
>>> for these boards.
>>>
>>> [1] - https://www.ti.com/lit/ug/spruid7e/spruid7e.pdf
>>> [2] - https://www.ti.com/lit/er/sprz452e/sprz452e.pdf
>>>
>>> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
>>> ---
>>>  arch/arm64/boot/dts/ti/k3-am65-main.dtsi      |  1 -
>>>  .../boot/dts/ti/k3-am6528-iot2050-basic.dts   |  4 +++
>>>  .../arm64/boot/dts/ti/k3-am654-base-board.dts | 33 +++++++++++++++++++
>>>  .../dts/ti/k3-am6548-iot2050-advanced.dts     |  4 +++
>>>  4 files changed, 41 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;
>>>  	};
>>>  
>>>  	scm_conf: scm-conf@100000 {
>>> diff --git a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
>>> index 4f7e3f2a6265..485266960d5f 100644
>>> --- a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
>>> +++ b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic.dts
>>> @@ -40,6 +40,10 @@
>>>  	status = "disabled";
>>>  };
>>>  
>>> +&sdhci1 {
>>> +	no-1-8-v;
>>> +};
>>> +
>>
>> Let's move that to k3-am65-iot2050-common.dtsi, to avoid repeating
>> yourself. There is already a sdhci1 extension.
>>
> 
> The reason why I added these tags in board dts and not in the common
> dtsi is because if it was added in the common board then for all the iot
> boards this will be applicable and in future if a different version of
> iot boards use S.R. 2.0 then we might have to change it again.

Yes, we will have to take care of the split-up for SR2.0-based variants.
I didn't have the chance study their DTs yet but I strongly suspect that
there will be more differences. Then we may add some
k3-am65-iot2050-common-{SR1,SR2}.dtsi.

So, I would not try to refactor when not all variables are on the table yet.

Thanks
Jan


-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

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

* Re: [PATCH v2] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem
  2021-05-11 15:26     ` Jan Kiszka
@ 2021-05-11 16:33       ` Nishanth Menon
  2021-05-11 16:40         ` Aswath Govindraju
  0 siblings, 1 reply; 7+ messages in thread
From: Nishanth Menon @ 2021-05-11 16:33 UTC (permalink / raw)
  To: Jan Kiszka
  Cc: Aswath Govindraju, Vignesh Raghavendra, Lokesh Vutla,
	Kishon Vijay Abraham I, Tero Kristo, Rob Herring,
	linux-arm-kernel, devicetree, linux-kernel

On 17:26-20210511, Jan Kiszka wrote:
[...]
> >>> +&sdhci1 {
> >>> +	no-1-8-v;
> >>> +};
> >>> +
> >>
> >> Let's move that to k3-am65-iot2050-common.dtsi, to avoid repeating
> >> yourself. There is already a sdhci1 extension.
> >>
> > 
> > The reason why I added these tags in board dts and not in the common
> > dtsi is because if it was added in the common board then for all the iot
> > boards this will be applicable and in future if a different version of
> > iot boards use S.R. 2.0 then we might have to change it again.
> 
> Yes, we will have to take care of the split-up for SR2.0-based variants.
> I didn't have the chance study their DTs yet but I strongly suspect that
> there will be more differences. Then we may add some
> k3-am65-iot2050-common-{SR1,SR2}.dtsi.
> 
> So, I would not try to refactor when not all variables are on the table yet.


I agree with Jan. lets bring it in the current common.dtsi and see the
sr2 introduction separately.

-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D

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

* Re: [PATCH v2] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem
  2021-05-11 16:33       ` Nishanth Menon
@ 2021-05-11 16:40         ` Aswath Govindraju
  0 siblings, 0 replies; 7+ messages in thread
From: Aswath Govindraju @ 2021-05-11 16:40 UTC (permalink / raw)
  To: Nishanth Menon, Jan Kiszka
  Cc: Vignesh Raghavendra, Lokesh Vutla, Kishon Vijay Abraham I,
	Tero Kristo, Rob Herring, linux-arm-kernel, devicetree,
	linux-kernel

Hi Nishanth, Jan,

On 11/05/21 10:03 pm, Nishanth Menon wrote:
> On 17:26-20210511, Jan Kiszka wrote:
> [...]
>>>>> +&sdhci1 {
>>>>> +	no-1-8-v;
>>>>> +};
>>>>> +
>>>>
>>>> Let's move that to k3-am65-iot2050-common.dtsi, to avoid repeating
>>>> yourself. There is already a sdhci1 extension.
>>>>
>>>
>>> The reason why I added these tags in board dts and not in the common
>>> dtsi is because if it was added in the common board then for all the iot
>>> boards this will be applicable and in future if a different version of
>>> iot boards use S.R. 2.0 then we might have to change it again.
>>
>> Yes, we will have to take care of the split-up for SR2.0-based variants.
>> I didn't have the chance study their DTs yet but I strongly suspect that
>> there will be more differences. Then we may add some
>> k3-am65-iot2050-common-{SR1,SR2}.dtsi.
>>
>> So, I would not try to refactor when not all variables are on the table yet.
> 
> 
> I agree with Jan. lets bring it in the current common.dtsi and see the
> sr2 introduction separately.
> 

okay, I'll post a respin of this patch making this change.

Thanks,
Aswath

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

end of thread, other threads:[~2021-05-11 16:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-11  9:53 [PATCH v2] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem Aswath Govindraju
2021-05-11  9:55 ` Aswath Govindraju
2021-05-11 10:01 ` Jan Kiszka
2021-05-11 10:13   ` Aswath Govindraju
2021-05-11 15:26     ` Jan Kiszka
2021-05-11 16:33       ` Nishanth Menon
2021-05-11 16:40         ` Aswath Govindraju

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