ARM: mvebu: set SW polling as SDHCI card detection on A388-GP
authorMarcin Wojtas <mw@semihalf.com>
Thu, 15 Oct 2015 16:25:44 +0000 (18:25 +0200)
committerGregory CLEMENT <gregory.clement@free-electrons.com>
Fri, 16 Oct 2015 17:17:57 +0000 (19:17 +0200)
The newest revisions of A388-GP (v1.5 and higher) support only
DAT3-based card detection. Revisions < v1.5 based on GPIO detection
via I2C expander, but this solution is supposed to be deprecated on
new boards. In order to satisfy all type of hardware this commit
changes card detection to use software polling mechanism. Also a
comment is added on possible card detection options in A388-GP
DT board file.

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
arch/arm/boot/dts/armada-388-gp.dts

index 4baac9329f3d383e295ff7e3f01155780f8017e0..a633be3defda4b5c6015ec0b85f5b74a7ad2d82e 100644 (file)
                        sdhci@d8000 {
                                pinctrl-names = "default";
                                pinctrl-0 = <&sdhci_pins>;
-                               cd-gpios = <&expander0 5 GPIO_ACTIVE_LOW>;
                                no-1-8-v;
+                               /*
+                                * A388-GP board v1.5 and higher replace
+                                * hitherto card detection method based on GPIO
+                                * with the one using DAT3 pin. As they are
+                                * incompatible, software-based polling is
+                                * enabled with 'broken-cd' property. For boards
+                                * older than v1.5 it can be replaced with:
+                                * 'cd-gpios = <&expander0 5 GPIO_ACTIVE_LOW>;',
+                                * whereas for the newer ones following can be
+                                * used instead:
+                                * 'dat3-cd;'
+                                * 'cd-inverted;'
+                                */
+                               broken-cd;
                                wp-inverted;
                                bus-width = <8>;
                                status = "okay";