arm64: dts: rockchip: Correct GPIO polarity on brcm BT nodes
authorDiederik de Haas <didi.debian@cknow.org>
Fri, 18 Oct 2024 14:45:50 +0000 (16:45 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Fri, 25 Oct 2024 06:41:15 +0000 (08:41 +0200)
Paragraph "3.4 Power up Timing Sequence" of the AzureWave-CM256SM
datasheet mentions the following about the BT_REG_ON pin, which is
connected to GPIO0_C4_d:

  When this pin is low and WL_REG_ON is high,
  the BT section is in reset.

Therefor set that pin to GPIO_ACTIVE_HIGH so that it can be pulled low
for a reset.
If set to GPIO_ACTIVE_LOW, the following errors are observed:

  Bluetooth: hci0: command 0x0c03 tx timeout
  Bluetooth: hci0: BCM: Reset failed (-110)

So fix the GPIO polarity by setting it to ACTIVE_HIGH.
This also matches what other devices with the same BT device have.

Fixes: 2b6a3f857550 ("arm64: dts: rockchip: Fix reset-gpios property on brcm BT nodes")
Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
Link: https://lore.kernel.org/r/20241018145053.11928-2-didi.debian@cknow.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi
arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi

index a477bd9..0131f2c 100644 (file)
                host-wakeup-gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>;
                pinctrl-0 = <&bt_enable_h>, <&bt_host_wake_l>, <&bt_wake_h>;
                pinctrl-names = "default";
-               shutdown-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
+               shutdown-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
                vbat-supply = <&vcc_wl>;
                vddio-supply = <&vcca_1v8_pmu>;
        };
index e9fa9be..1e36f73 100644 (file)
                host-wakeup-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
                pinctrl-0 = <&bt_host_wake_h &bt_reg_on_h &bt_wake_host_h>;
-               shutdown-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_LOW>;
+               shutdown-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
                vbat-supply = <&vcc_3v3>;
                vddio-supply = <&vcc_1v8>;
        };