arm64: dts: ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem
authorAswath Govindraju <a-govindraju@ti.com>
Sat, 29 May 2021 03:37:49 +0000 (09:07 +0530)
committerNishanth Menon <nm@ti.com>
Mon, 7 Jun 2021 14:54:12 +0000 (09:54 -0500)
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>
Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210529033749.6250-1-a-govindraju@ti.com
arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
arch/arm64/boot/dts/ti/k3-am65-main.dtsi
arch/arm64/boot/dts/ti/k3-am654-base-board.dts

index f4ec9ed5293954788d57a9fb9dd2d02db3ba1de2..d90abda1de84b2e8604b8ab1eeb638c74be3cb3a 100644 (file)
        pinctrl-0 = <&main_mmc1_pins_default>;
        ti,driver-strength-ohm = <50>;
        disable-wp;
+       no-1-8-v;
 };
 
 &usb0 {
index 6cd3131eb9ff94002662ed461681f28292906cf5..f97fc00c00ca0fe78fab1a24d56168f15bd99eec 100644 (file)
                ti,otap-del-sel = <0x2>;
                ti,trm-icp = <0x8>;
                dma-coherent;
-               no-1-8-v;
        };
 
        scm_conf: scm-conf@100000 {
index 97c3440884830dd2ce354ef457496085709a1174..60e43fd7af12b7474cf530b49f1a352f77ed48f7 100644 (file)
                        gpios = <&wkup_gpio0 27 GPIO_ACTIVE_LOW>;
                };
        };
+
+       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 {
  * disable sdhci1
  */
 &sdhci1 {
+       vmmc-supply = <&vdd_mmc1_sd>;
        pinctrl-names = "default";
        pinctrl-0 = <&main_mmc1_pins_default>;
        ti,driver-strength-ohm = <50>;