arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi | 2 +- arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
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: a3a625086192 ("arm64: dts: rockchip: Fix reset-gpios property on brcm BT nodes")
Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
---
Changes in v2:
- Better commit description with references to the datasheet
- Dropped the (self-)blame as it's not useful to evaluate the usefulness
of this patch
arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi | 2 +-
arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi
index a477bd992b40..0131f2cdd312 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi
@@ -688,7 +688,7 @@ bluetooth {
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>;
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi
index e9fa9bee995a..1e36f73840da 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi
@@ -404,7 +404,7 @@ bluetooth {
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>;
};
--
2.45.2
Hello Diederik, On 2024-10-18 16:45, Diederik de Haas wrote: > 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: a3a625086192 ("arm64: dts: rockchip: Fix reset-gpios property > on brcm BT nodes") > Signed-off-by: Diederik de Haas <didi.debian@cknow.org> I'm a bit late to the party, :) but just wanted to confirm that the information provided in the patch description is correct. > --- > Changes in v2: > - Better commit description with references to the datasheet > - Dropped the (self-)blame as it's not useful to evaluate the > usefulness > of this patch > > arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi | 2 +- > arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi > b/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi > index a477bd992b40..0131f2cdd312 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi > +++ b/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi > @@ -688,7 +688,7 @@ bluetooth { > 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>; > }; > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi > b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi > index e9fa9bee995a..1e36f73840da 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi > +++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi > @@ -404,7 +404,7 @@ bluetooth { > 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>; > };
On Fri, 18 Oct 2024 16:45:50 +0200, Diederik de Haas wrote: > 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. > > [...] Applied, thanks! [1/1] arm64: dts: rockchip: Correct GPIO polarity on brcm BT nodes commit: 273070dad96f046e622173b595e4719b82188376 Best regards, -- Heiko Stuebner <heiko@sntech.de>
© 2016 - 2024 Red Hat, Inc.