Skip to content

Commit 30fa60c

Browse files
committed
ARM: dts: omap4-droid4: Fix flakey wlan by disabling internal pull for gpio
The wlan on droid4 is flakey on some devices, and experiments have shown this gets fixed if we disable the internal pull for wlan gpio interrupt line. The symptoms are that the wlan connection is very slow and almost useless with lots of wlcore firmware reboot warnings in the dmesg. In addition to configuring the wlan gpio pulls, let's also configure the rest of the wlan sd pins. We have not configured those eariler as we're booting using kexec. Signed-off-by: Tony Lindgren <[email protected]>
1 parent 175ae3a commit 30fa60c

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

arch/arm/boot/dts/motorola-mapphone-common.dtsi

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,8 @@
367367
};
368368

369369
&mmc3 {
370+
pinctrl-names = "default";
371+
pinctrl-0 = <&mmc3_pins>;
370372
vmmc-supply = <&wl12xx_vmmc>;
371373
/* uart2_tx.sdmmc3_dat1 pad as wakeirq */
372374
interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH
@@ -472,6 +474,37 @@
472474
>;
473475
};
474476

477+
/*
478+
* Android uses PIN_OFF_INPUT_PULLDOWN | PIN_INPUT_PULLUP | MUX_MODE3
479+
* for gpio_100, but the internal pull makes wlan flakey on some
480+
* devices. Off mode value should be tested if we have off mode working
481+
* later on.
482+
*/
483+
mmc3_pins: pinmux_mmc3_pins {
484+
pinctrl-single,pins = <
485+
/* 0x4a10008e gpmc_wait2.gpio_100 d23 */
486+
OMAP4_IOPAD(0x08e, PIN_INPUT | MUX_MODE3)
487+
488+
/* 0x4a100102 abe_mcbsp1_dx.sdmmc3_dat2 ab25 */
489+
OMAP4_IOPAD(0x102, PIN_INPUT_PULLUP | MUX_MODE1)
490+
491+
/* 0x4a100104 abe_mcbsp1_fsx.sdmmc3_dat3 ac27 */
492+
OMAP4_IOPAD(0x104, PIN_INPUT_PULLUP | MUX_MODE1)
493+
494+
/* 0x4a100118 uart2_cts.sdmmc3_clk ab26 */
495+
OMAP4_IOPAD(0x118, PIN_INPUT | MUX_MODE1)
496+
497+
/* 0x4a10011a uart2_rts.sdmmc3_cmd ab27 */
498+
OMAP4_IOPAD(0x11a, PIN_INPUT_PULLUP | MUX_MODE1)
499+
500+
/* 0x4a10011c uart2_rx.sdmmc3_dat0 aa25 */
501+
OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE1)
502+
503+
/* 0x4a10011e uart2_tx.sdmmc3_dat1 aa26 */
504+
OMAP4_IOPAD(0x11e, PIN_INPUT_PULLUP | MUX_MODE1)
505+
>;
506+
};
507+
475508
/* gpmc_ncs0.gpio_50 */
476509
poweroff_gpio: pinmux_poweroff_pins {
477510
pinctrl-single,pins = <

0 commit comments

Comments
 (0)