Message ID | 20210511164849.20016-1-a-govindraju@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem | expand |
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 <a-govindraju@ti.com> > --- > > 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 <jan.kiszka@siemens.com> 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>; >
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 <a-govindraju@ti.com> > > --- > > > > 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 <jan.kiszka@siemens.com> > 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/e0da118a-077b-2e04-1e75-1550bcfa3540@ti.com/
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>;
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 <a-govindraju@ti.com> --- 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(-)