ARM: dts: rmobile: Increase off-on delay on the SD Vcc regulator
authorMarek Vasut <marek.vasut+renesas@gmail.com>
Mon, 18 Mar 2019 02:20:31 +0000 (03:20 +0100)
committerMarek Vasut <marex@denx.de>
Mon, 25 Mar 2019 19:26:53 +0000 (20:26 +0100)
An ADATA 16GB Industrial MLC card has so much capacitance on the Vcc
pin that the usual toggling of regulator to power the card off and on
is insufficient. When the card is calibrated into UHS SDR104 mode, it
will remain in that mode across the power cycle and subsequent attempt
to communicate with the card will fail.

The test with this card is to insert it into an SDHI slot and perform
"mmc dev 0 ; mmc dev 0", where the second "mmc dev 0" will fail.

Fix this problem by increasing the off-on delay from 0 to 20 mS.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
arch/arm/dts/r8a7795-h3ulcb-u-boot.dts
arch/arm/dts/r8a7795-salvator-x-u-boot.dts
arch/arm/dts/r8a7796-m3ulcb-u-boot.dts
arch/arm/dts/r8a7796-salvator-x-u-boot.dts
arch/arm/dts/r8a77965-salvator-x-u-boot.dts
arch/arm/dts/r8a77990-ebisu-u-boot.dts

index ebbd234d78ee8a4afd7748394ab91cc06c5c00d6..3de640724dfd768de94786297017a4ecf1876850 100644 (file)
        };
 };
 
+&vcc_sdhi0 {
+       u-boot,off-on-delay-us = <20000>;
+};
+
 &sdhi2_pins {
        groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
        power-source = <1800>;
index 8be5e41a511bfda58340f23fce6f3307c766833c..a22028bb3184b662257411bd33d6df8cfed7ddc1 100644 (file)
@@ -8,6 +8,14 @@
 #include "r8a7795-salvator-x.dts"
 #include "r8a7795-u-boot.dtsi"
 
+&vcc_sdhi0 {
+       u-boot,off-on-delay-us = <20000>;
+};
+
+&vcc_sdhi3 {
+       u-boot,off-on-delay-us = <20000>;
+};
+
 &sdhi2_pins {
        groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
        power-source = <1800>;
index 4e960081f9ca880206d8149932e24e2445866243..612cc87c71045137dc16c1e11ea0a445f1d5d843 100644 (file)
        };
 };
 
+&vcc_sdhi0 {
+       u-boot,off-on-delay-us = <20000>;
+};
+
 &sdhi2_pins {
        groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
        power-source = <1800>;
index 44b2f9fb3731fa1ce6765d5c9a6794dd9d46dd00..c730b90a42c5d8bd30c5da18dadcd0a91320be06 100644 (file)
@@ -8,6 +8,14 @@
 #include "r8a7796-salvator-x.dts"
 #include "r8a7796-u-boot.dtsi"
 
+&vcc_sdhi0 {
+       u-boot,off-on-delay-us = <20000>;
+};
+
+&vcc_sdhi3 {
+       u-boot,off-on-delay-us = <20000>;
+};
+
 &sdhi2_pins {
        groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
        power-source = <1800>;
index 9e0cd26f4086e965512c3e8f86dd5fc78f2bc9d2..cfc0f74081592580e0e5a490d3a0c5d176da0ef3 100644 (file)
@@ -8,6 +8,14 @@
 #include "r8a77965-salvator-x.dts"
 #include "r8a77965-u-boot.dtsi"
 
+&vcc_sdhi0 {
+       u-boot,off-on-delay-us = <20000>;
+};
+
+&vcc_sdhi3 {
+       u-boot,off-on-delay-us = <20000>;
+};
+
 &sdhi2_pins {
        groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
        power-source = <1800>;
index b030d5c649d28c98971011665874070a25025ba2..4c1669e022cc6599fe2600b7aa6d0ef93e8152c8 100644 (file)
@@ -36,6 +36,7 @@
 
                gpio = <&gpio5 17 GPIO_ACTIVE_HIGH>;
                enable-active-high;
+               u-boot,off-on-delay-us = <20000>;
        };
 
        vccq_sdhi0: regulator-vccq-sdhi0 {
@@ -60,6 +61,7 @@
 
                gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>;
                enable-active-high;
+               u-boot,off-on-delay-us = <20000>;
        };
 
        vccq_sdhi1: regulator-vccq-sdhi1 {