diff mbox series

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

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

Commit Message

Aswath Govindraju May 11, 2021, 9:53 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.

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

Comments

Aswath Govindraju May 11, 2021, 9:55 a.m. UTC | #1
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";
>  };
>
Jan Kiszka May 11, 2021, 10:01 a.m. UTC | #2
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";
>  };
>
Aswath Govindraju May 11, 2021, 10:13 a.m. UTC | #3
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";
>>  };
>>
>
Jan Kiszka May 11, 2021, 3:26 p.m. UTC | #4
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
Nishanth Menon May 11, 2021, 4:33 p.m. UTC | #5
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.
Aswath Govindraju May 11, 2021, 4:40 p.m. UTC | #6
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
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-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";
 };