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(-)
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
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"; > }; >
© 2016 - 2025 Red Hat, Inc.