Skip to content

Commit 80ee72e

Browse files
wensmripard
authored andcommitted
ARM: dts: sunxi: Explicitly enable pull-ups for MMC pins
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>
1 parent 1edcd36 commit 80ee72e

File tree

8 files changed

+18
-0
lines changed

8 files changed

+18
-0
lines changed

arch/arm/boot/dts/sun4i-a10.dtsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1023,6 +1023,7 @@
10231023
"PF3", "PF4", "PF5";
10241024
function = "mmc0";
10251025
drive-strength = <30>;
1026+
bias-pull-up;
10261027
};
10271028

10281029
mmc0_cd_pin_reference_design: mmc0_cd_pin@0 {

arch/arm/boot/dts/sun5i.dtsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,7 @@
582582
"PF4", "PF5";
583583
function = "mmc0";
584584
drive-strength = <30>;
585+
bias-pull-up;
585586
};
586587

587588
mmc2_pins_a: mmc2@0 {

arch/arm/boot/dts/sun6i-a31.dtsi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -547,13 +547,15 @@
547547
"PF3", "PF4", "PF5";
548548
function = "mmc0";
549549
drive-strength = <30>;
550+
bias-pull-up;
550551
};
551552

552553
mmc1_pins_a: mmc1@0 {
553554
pins = "PG0", "PG1", "PG2", "PG3",
554555
"PG4", "PG5";
555556
function = "mmc1";
556557
drive-strength = <30>;
558+
bias-pull-up;
557559
};
558560

559561
mmc2_pins_a: mmc2@0 {
@@ -571,6 +573,7 @@
571573
"PC24";
572574
function = "mmc2";
573575
drive-strength = <30>;
576+
bias-pull-up;
574577
};
575578

576579
mmc3_8bit_emmc_pins: mmc3@1 {
@@ -580,6 +583,7 @@
580583
"PC24";
581584
function = "mmc3";
582585
drive-strength = <40>;
586+
bias-pull-up;
583587
};
584588

585589
uart0_pins_a: uart0@0 {

arch/arm/boot/dts/sun7i-a20.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1179,6 +1179,7 @@
11791179
"PF3", "PF4", "PF5";
11801180
function = "mmc0";
11811181
drive-strength = <30>;
1182+
bias-pull-up;
11821183
};
11831184

11841185
mmc0_cd_pin_reference_design: mmc0_cd_pin@0 {
@@ -1200,6 +1201,7 @@
12001201
"PI7", "PI8", "PI9";
12011202
function = "mmc3";
12021203
drive-strength = <30>;
1204+
bias-pull-up;
12031205
};
12041206

12051207
ps20_pins_a: ps20@0 {

arch/arm/boot/dts/sun8i-a23-a33.dtsi

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,13 +293,15 @@
293293
"PF3", "PF4", "PF5";
294294
function = "mmc0";
295295
drive-strength = <30>;
296+
bias-pull-up;
296297
};
297298

298299
mmc1_pins_a: mmc1@0 {
299300
pins = "PG0", "PG1", "PG2",
300301
"PG3", "PG4", "PG5";
301302
function = "mmc1";
302303
drive-strength = <30>;
304+
bias-pull-up;
303305
};
304306

305307
mmc2_8bit_pins: mmc2_8bit {
@@ -309,6 +311,7 @@
309311
"PC15", "PC16";
310312
function = "mmc2";
311313
drive-strength = <30>;
314+
bias-pull-up;
312315
};
313316

314317
pwm0_pins: pwm0 {

arch/arm/boot/dts/sun8i-a83t.dtsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@
171171
"PF3", "PF4", "PF5";
172172
function = "mmc0";
173173
drive-strength = <30>;
174+
bias-pull-up;
174175
};
175176

176177
uart0_pins_a: uart0@0 {

arch/arm/boot/dts/sun8i-h3.dtsi

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,7 @@
348348
"PF4", "PF5";
349349
function = "mmc0";
350350
drive-strength = <30>;
351+
bias-pull-up;
351352
};
352353

353354
mmc0_cd_pin: mmc0_cd_pin@0 {
@@ -361,6 +362,7 @@
361362
"PG4", "PG5";
362363
function = "mmc1";
363364
drive-strength = <30>;
365+
bias-pull-up;
364366
};
365367

366368
mmc2_8bit_pins: mmc2_8bit {
@@ -370,6 +372,7 @@
370372
"PC15", "PC16";
371373
function = "mmc2";
372374
drive-strength = <30>;
375+
bias-pull-up;
373376
};
374377

375378
spi0_pins: spi0 {

arch/arm/boot/dts/sun9i-a80.dtsi

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -696,13 +696,15 @@
696696
"PF4", "PF5";
697697
function = "mmc0";
698698
drive-strength = <30>;
699+
bias-pull-up;
699700
};
700701

701702
mmc1_pins: mmc1 {
702703
pins = "PG0", "PG1" ,"PG2", "PG3",
703704
"PG4", "PG5";
704705
function = "mmc1";
705706
drive-strength = <30>;
707+
bias-pull-up;
706708
};
707709

708710
mmc2_8bit_pins: mmc2_8bit {
@@ -712,6 +714,7 @@
712714
"PC16";
713715
function = "mmc2";
714716
drive-strength = <30>;
717+
bias-pull-up;
715718
};
716719

717720
uart0_pins_a: uart0@0 {

0 commit comments

Comments
 (0)