]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ARM: dts: sunxi: Explicitly enable pull-ups for MMC pins
authorChen-Yu Tsai <wens@csie.org>
Thu, 17 Nov 2016 09:34:38 +0000 (17:34 +0800)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Tue, 10 Jan 2017 17:52:41 +0000 (18:52 +0100)
In the past, all the MMC pins had

allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;

which was actually a no-op. We were relying on U-boot to set the bias
pull up for us. These properties were removed as part of the fix up to
actually support no bias on the pins. During the transition some boards
experienced regular MMC time-outs during normal operation, while others
completely failed to initialize the SD card.

Given that MMC starts in open-drain mode and the pull-ups are required,
it's best to enable it for all the pin settings.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun4i-a10.dtsi
arch/arm/boot/dts/sun5i.dtsi
arch/arm/boot/dts/sun6i-a31.dtsi
arch/arm/boot/dts/sun7i-a20.dtsi
arch/arm/boot/dts/sun8i-a23-a33.dtsi
arch/arm/boot/dts/sun8i-a83t.dtsi
arch/arm/boot/dts/sun8i-h3.dtsi
arch/arm/boot/dts/sun9i-a80.dtsi

index dae838e4dd9ee4f4bceb21eff99e902d2007d9b0..ba20b48c07028acd761655e7a5e56d198e01bd4b 100644 (file)
@@ -1023,6 +1023,7 @@ mmc0_pins_a: mmc0@0 {
                                       "PF3", "PF4", "PF5";
                                function = "mmc0";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        mmc0_cd_pin_reference_design: mmc0_cd_pin@0 {
index 7ab6b336533ed6c9c0521da9a9b9c0a680701101..54170147040f4d5a7ff77cac612e1dafe9aad5c7 100644 (file)
@@ -582,6 +582,7 @@ mmc0_pins_a: mmc0@0 {
                                       "PF4", "PF5";
                                function = "mmc0";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        mmc2_pins_a: mmc2@0 {
index 7ea1116c7c886e604552af9f8f84f8558fdc5a2b..20a0331ddfb5a9ebd57f38d9b2874a6e26266b1c 100644 (file)
@@ -547,6 +547,7 @@ mmc0_pins_a: mmc0@0 {
                                                 "PF3", "PF4", "PF5";
                                function = "mmc0";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        mmc1_pins_a: mmc1@0 {
@@ -554,6 +555,7 @@ mmc1_pins_a: mmc1@0 {
                                                 "PG4", "PG5";
                                function = "mmc1";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        mmc2_pins_a: mmc2@0 {
@@ -571,6 +573,7 @@ mmc2_8bit_emmc_pins: mmc2@1 {
                                                 "PC24";
                                function = "mmc2";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        mmc3_8bit_emmc_pins: mmc3@1 {
@@ -580,6 +583,7 @@ mmc3_8bit_emmc_pins: mmc3@1 {
                                                 "PC24";
                                function = "mmc3";
                                drive-strength = <40>;
+                               bias-pull-up;
                        };
 
                        uart0_pins_a: uart0@0 {
index 34d613b0dd730278416e06569cbdc6a49790b39f..a1ee4197129aa1ff9411b65b5833f780ab09e6d2 100644 (file)
@@ -1179,6 +1179,7 @@ mmc0_pins_a: mmc0@0 {
                                       "PF3", "PF4", "PF5";
                                function = "mmc0";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        mmc0_cd_pin_reference_design: mmc0_cd_pin@0 {
@@ -1200,6 +1201,7 @@ mmc3_pins_a: mmc3@0 {
                                       "PI7", "PI8", "PI9";
                                function = "mmc3";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        ps20_pins_a: ps20@0 {
index ecb49a5a76150561c617fb3d8fa4b3372a5a5e2c..bc3e936edfcfc156f1a909e1c19d648e934a0086 100644 (file)
@@ -293,6 +293,7 @@ mmc0_pins_a: mmc0@0 {
                                       "PF3", "PF4", "PF5";
                                function = "mmc0";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        mmc1_pins_a: mmc1@0 {
@@ -300,6 +301,7 @@ mmc1_pins_a: mmc1@0 {
                                       "PG3", "PG4", "PG5";
                                function = "mmc1";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        mmc2_8bit_pins: mmc2_8bit {
@@ -309,6 +311,7 @@ mmc2_8bit_pins: mmc2_8bit {
                                       "PC15", "PC16";
                                function = "mmc2";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        pwm0_pins: pwm0 {
index 656cdb5f7a8895b16edd0fb2f0e8d95e6e12c338..79eaa7139f432d3a6b02fd69f5dc0b9f5c4970ad 100644 (file)
@@ -171,6 +171,7 @@ mmc0_pins_a: mmc0@0 {
                                       "PF3", "PF4", "PF5";
                                function = "mmc0";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        uart0_pins_a: uart0@0 {
index e7f7502f6f25e2ad02dcdc239ae87de28a412ba2..fe24cda6cb5261756f1a71b0c3ea0d2449319ad3 100644 (file)
@@ -348,6 +348,7 @@ mmc0_pins_a: mmc0@0 {
                                       "PF4", "PF5";
                                function = "mmc0";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        mmc0_cd_pin: mmc0_cd_pin@0 {
@@ -361,6 +362,7 @@ mmc1_pins_a: mmc1@0 {
                                       "PG4", "PG5";
                                function = "mmc1";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        mmc2_8bit_pins: mmc2_8bit {
@@ -370,6 +372,7 @@ mmc2_8bit_pins: mmc2_8bit {
                                       "PC15", "PC16";
                                function = "mmc2";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        spi0_pins: spi0 {
index b97db1df0803fdfeb9815ac67630acd00346b61e..7231d2c90ddea0533bbf6cd61f9df476372883ff 100644 (file)
@@ -696,6 +696,7 @@ mmc0_pins: mmc0 {
                                       "PF4", "PF5";
                                function = "mmc0";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        mmc1_pins: mmc1 {
@@ -703,6 +704,7 @@ mmc1_pins: mmc1 {
                                                 "PG4", "PG5";
                                function = "mmc1";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        mmc2_8bit_pins: mmc2_8bit {
@@ -712,6 +714,7 @@ mmc2_8bit_pins: mmc2_8bit {
                                       "PC16";
                                function = "mmc2";
                                drive-strength = <30>;
+                               bias-pull-up;
                        };
 
                        uart0_pins_a: uart0@0 {