ARM: dts: imx8m: increase off-on delay on the SD Vcc regulator
authorAndrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
Sat, 5 Dec 2020 17:29:17 +0000 (17:29 +0000)
committerStefano Babic <sbabic@denx.de>
Sat, 26 Dec 2020 11:36:19 +0000 (12:36 +0100)
Some SD Card controller and power circuitry has increased capacitance,
which keeps the internal logic remains powered after regulator is switch
off. This is generally the case when card is switched to SD104 mode,
where a power cycle should be performed. In case if the card internal
logic remains powered, it causes a subsequent failure of mode
transition, effectively leading to failed enumeration.

Introduce a delay of 20 msec in order to provide a possibility for
internal card circuitry to drain voltages and perform a power cycle
correctly.

Similar fix is done in commit c49d0ac38a76 ("ARM: dts: rmobile: Increase
off-on delay on the SD Vcc regulator") targeted Renesas SOCs.

Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
Cc: Stefano Babic <sbabic@denx.de>
arch/arm/dts/imx8mm-beacon-kit-u-boot.dtsi
arch/arm/dts/imx8mm-evk-u-boot.dtsi
arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi
arch/arm/dts/imx8mp-evk-u-boot.dtsi
arch/arm/dts/imx8mq-evk-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/imx8mq-phanbell-u-boot.dtsi [new file with mode: 0644]

index fc1aebb..6d80a52 100644 (file)
        /delete-property/ assigned-clock-rates;
 };
 
+&reg_usdhc2_vmmc {
+       u-boot,off-on-delay-us = <20000>;
+};
+
 &fec1 {
        phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
 };
index b5c1210..9f77d3c 100644 (file)
        u-boot,dm-spl;
 };
 
+&reg_usdhc2_vmmc {
+       u-boot,off-on-delay-us = <20000>;
+};
+
 &pinctrl_reg_usdhc2_vmmc {
        u-boot,dm-spl;
 };
index 4419679..98b0b98 100644 (file)
        u-boot,dm-spl;
 };
 
+&reg_usdhc2_vmmc {
+       u-boot,off-on-delay-us = <20000>;
+};
+
 &pinctrl_uart2 {
        u-boot,dm-spl;
 };
index 24a93ac..2452e91 100644 (file)
 };
 
 &reg_usdhc2_vmmc {
+       u-boot,off-on-delay-us = <20000>;
+};
+
+&reg_usdhc2_vmmc {
        u-boot,dm-spl;
 };
 
diff --git a/arch/arm/dts/imx8mq-evk-u-boot.dtsi b/arch/arm/dts/imx8mq-evk-u-boot.dtsi
new file mode 100644 (file)
index 0000000..4712cf6
--- /dev/null
@@ -0,0 +1,5 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+&reg_usdhc2_vmmc {
+       u-boot,off-on-delay-us = <20000>;
+};
diff --git a/arch/arm/dts/imx8mq-phanbell-u-boot.dtsi b/arch/arm/dts/imx8mq-phanbell-u-boot.dtsi
new file mode 100644 (file)
index 0000000..4712cf6
--- /dev/null
@@ -0,0 +1,5 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+&reg_usdhc2_vmmc {
+       u-boot,off-on-delay-us = <20000>;
+};