2021-05-11 16:52:26

by Aswath Govindraju

[permalink] [raw]
Subject: [PATCH v3] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem

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 node of
the common iot2050 device tree file.

[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 <[email protected]>
---

changes since v2:
- moved the no-1-8-v tag to common iot2050 dtsi file.

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.

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

diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
index de763ca9251c..46cc348cd4be 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
@@ -555,6 +555,7 @@
pinctrl-0 = <&main_mmc1_pins_default>;
ti,driver-strength-ohm = <50>;
disable-wp;
+ no-1-8-v;
};

&usb0 {
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..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>;
--
2.17.1


2021-05-28 18:40:07

by Jan Kiszka

[permalink] [raw]
Subject: Re: [PATCH v3] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem

On 11.05.21 18:48, 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 node of
> the common iot2050 device tree file.
>
> [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 <[email protected]>
> ---
>
> changes since v2:
> - moved the no-1-8-v tag to common iot2050 dtsi file.
>
> 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.
>
> .../boot/dts/ti/k3-am65-iot2050-common.dtsi | 1 +
> arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 1 -
> .../arm64/boot/dts/ti/k3-am654-base-board.dts | 33 +++++++++++++++++++
> 3 files changed, 34 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> index de763ca9251c..46cc348cd4be 100644
> --- a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> @@ -555,6 +555,7 @@
> pinctrl-0 = <&main_mmc1_pins_default>;
> ti,driver-strength-ohm = <50>;
> disable-wp;
> + no-1-8-v;
> };
>

Acked-by: Jan Kiszka <[email protected]>

Jan

> &usb0 {
> 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..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>;
>

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

2021-05-28 21:30:51

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH v3] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem

On 20:34-20210528, Jan Kiszka wrote:
> On 11.05.21 18:48, 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 node of
> > the common iot2050 device tree file.
> >
> > [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 <[email protected]>
> > ---
> >
> > changes since v2:
> > - moved the no-1-8-v tag to common iot2050 dtsi file.
> >
> > 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.
> >
> > .../boot/dts/ti/k3-am65-iot2050-common.dtsi | 1 +
> > arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 1 -
> > .../arm64/boot/dts/ti/k3-am654-base-board.dts | 33 +++++++++++++++++++
> > 3 files changed, 34 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> > index de763ca9251c..46cc348cd4be 100644
> > --- a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> > +++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> > @@ -555,6 +555,7 @@
> > pinctrl-0 = <&main_mmc1_pins_default>;
> > ti,driver-strength-ohm = <50>;
> > disable-wp;
> > + no-1-8-v;
> > };
> >
>
> Acked-by: Jan Kiszka <[email protected]>
>

Thanks Jan.

Aswath:

It does'nt apply cleanly on my tree as I am picking up patches.. There are
new cleanups and nodes I have picked up, so could be conflicting with
those.

Please rebase and post based on:
https://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux.git/log/?h=ti-k3-dts-next

I'd suggest you do that on monday OR base on monday's linux-next tag for
the next post.

We need to make sure it does'nt conflict with Suman's repost[1] - So,
lets sync with suman offline to make sure we queue this up in the right
order.



[1] https://lore.kernel.org/linux-arm-kernel/[email protected]/


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