[PATCH v2] ARM: dts: ux500: Fix BT+WLAN on Samsung phones

Linus Walleij linus.walleij at linaro.org
Wed Mar 17 15:53:58 GMT 2021


On Wed, Mar 17, 2021 at 4:28 PM Stephan Gerhold <stephan at gerhold.net> wrote:

> According to the schematics for samsung-golden:
>   - GPIO215 goes to WL_REG_ON of BCM4334
>   - GPIO222 goes to BT_REG_ON of BCM4334

Yes it appears you are right...

This is in conflict with the source code in the vendor tree:
board-golden-pins.c:

        GPIO215_GPIO            | PIN_OUTPUT_LOW,       /* WLAN_RST_N */
        GPIO222_GPIO            | PIN_OUTPUT_LOW,       /* BT_VREG_EN */

However the BCM4334 does not have appear to have
any signal named WLAN_RST_N.

So I suspect a copy/paste error from Janice, which might
need this because of differences between BCM4330 and
BCM4334.

However another part of the patch is still needed because
GPIO215 is default initilized as low:

                wlan_en_default: wlan_en_default {
                        golden_cfg1 {
                                pins = "GPIO215_AH13";  /* WLAN_EN */
                                ste,config = <&gpio_out_lo>;
                        };
                };

It needs to be high, or the SDIO will not enumerate unless
someone powers on the Bluetooth by chance. (The driver
probes after the SDIO card is detected ... catch 22.)

Also IMO GPIO 222 should be modeled as a regulator and
not assigned to "shutdown-gpios", which could be a separate
patch. The whole notion of "shutdown-gpios" seems backward
as the driver handles regulators just fine.

I'll rehash and compare the BCM4330 and BCM4334
datasheets.

Thanks!
Linus Walleij



More information about the linux-arm-kernel mailing list