Re: [PATCH v3 1/3] arm: dts: rk3288-tinker.dtsi: Fix SD card detection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2019-03-12 2:08 pm, Heiko Stuebner wrote:
Am Samstag, 9. März 2019, 16:39:21 CET schrieb David Summers:
The Problem:

On ASUS Tinker Board S, when booting from the eMMC, and there is card
in the sd slot, there are constant errors.

Also when warm reboot, uboot can not access the sd slot

Cause:

Identified by Robin Murphy @ ARM. The Card Detect on rk3288
devices is pulled up by vccio-sd; so when the regulator powers this
off, card detect gives spurious errors. A second problem, is during
power down, vccio-sd apprears to be powered down. This causes a
problem when warm rebooting from the sd card. This was identified by
Jonas Karlman.

History:

A common fault on these rk3288 board, which impliment the reference
design.

When this arose before:

http://lists.infradead.org/pipermail/linux-arm-kernel/2014-August/281153.html

And Ulf and Jaehoon clearly said this was a broken card detect design,
which should be solved via polling

Solution:

Hence broken-cd is set as a property. This cures the errors. The
powering down of vccio-sd during reboot is cured by adding
regulator-boot-on.

This solutions has been fairly widely reviewed and tested.

Signed-off-by: David Summers <beagleboard@xxxxxxxxxxxxxxxxxxx>
Reviewed by: Robin Murphy <robin.murphy@xxxxxxx>
Reviewed by: Jonas Karlman <jonas@xxxxxxxxx>
Test by: TheSaint @ ArchLinux Arm

please follow patch submission guidelines, here it would be
Tested-by: ... with an actual Name + mail address

Also I did try to go through the way big mail thread but didn't
find an actual "Reviewed-by" from Robin Murphy, similar to what
he pointed out in patch2

Ah, I didn't get a direct CC of this patch so I hadn't spotted that - FWIW though, I'm happy with Doug's reasoning for "broken-cd" being the most robust solution for now, so feel free to keep

Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx>

for this one.

Cheers,
Robin.


Other than that and including the past discussions, this looks good.


Heiko

---
  arch/arm/boot/dts/rk3288-tinker.dtsi | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi
index aa107ee41b8b..ef653c3209bc 100644
--- a/arch/arm/boot/dts/rk3288-tinker.dtsi
+++ b/arch/arm/boot/dts/rk3288-tinker.dtsi
@@ -254,6 +254,7 @@
  			};
vccio_sd: LDO_REG5 {
+				regulator-boot-on;
  				regulator-min-microvolt = <1800000>;
  				regulator-max-microvolt = <3300000>;
  				regulator-name = "vccio_sd";
@@ -430,7 +431,7 @@
  	bus-width = <4>;
  	cap-mmc-highspeed;
  	cap-sd-highspeed;
-	card-detect-delay = <200>;
+	broken-cd;
  	disable-wp;			/* wp not hooked up */
  	pinctrl-names = "default";
  	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;








[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux