2022-04-22 12:00:47

by Vijaya Krishna Nivarthi

[permalink] [raw]
Subject: [V6 0/2] arm64: dts: qcom: Configure CTS pin to bias-bus-hold for bluetooth

WLAN rail was leaking power during RBSC/sleep even after turning BT off.
Change pinctrl configuration to handle same.

Signed-off-by: Vijaya Krishna Nivarthi <[email protected]>
---
v6: add code comments about how bias-bus-hold could save power
v5: modify subject to include bluetooth
v4: modify subject of each patch to indicate what it is applying to
v3: apply same change to active state and other sc7280*.dts* as well
v2: used bias-bus-hold as per review comments
v1: intial patch used bias-disable for sleep pinctrl in sc7280-idp only
---

Vijaya Krishna Nivarthi (2):
arm64: dts: qcom: sc7280-idp: Configure CTS pin to bias-bus-hold for
bluetooth
arm64: dts: qcom: sc7280-qcard: Configure CTS pin to bias-bus-hold for
bluetooth

arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 18 ++++++++++++------
arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi | 19 ++++++++++++++-----
2 files changed, 26 insertions(+), 11 deletions(-)

--
Qualcomm INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by the Linux Foundation.


2022-04-22 17:47:57

by Vijaya Krishna Nivarthi

[permalink] [raw]
Subject: [V6 2/2] arm64: dts: qcom: sc7280-qcard: Configure CTS pin to bias-bus-hold for bluetooth

WLAN rail was leaking power during RBSC/sleep even after turning BT off.
Change active and sleep pinctrl configurations to handle same.

Signed-off-by: Vijaya Krishna Nivarthi <[email protected]>
Reviewed-by: Douglas Anderson <[email protected]>
---
v6: add code comments about how bias-bus-hold could save power
v5: modify subject to include bluetooth
v4: modify subject of patch to indicate file it is applying to
v3: apply same change to active state and other sc7280*.dts* as well
v2: used bias-bus-hold as per review comments
v1: intial patch used bias-disable for sleep pinctrl in sc7280-idp only
---
arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi b/arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi
index b833ba1..98b5cd70 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi
@@ -398,8 +398,14 @@ mos_bt_uart: &uart7 {

/* For mos_bt_uart */
&qup_uart7_cts {
- /* Configure a pull-down on CTS to match the pull of the Bluetooth module. */
- bias-pull-down;
+ /*
+ * Configure a bias-bus-hold on CTS to lower power
+ * usage when Bluetooth is turned off. Bus hold will
+ * maintain a low power state regardless of whether
+ * the Bluetooth module drives the pin in either
+ * direction or leaves the pin fully unpowered.
+ */
+ bias-bus-hold;
};

/* For mos_bt_uart */
@@ -490,10 +496,13 @@ mos_bt_uart: &uart7 {
pins = "gpio28";
function = "gpio";
/*
- * Configure a pull-down on CTS to match the pull of
- * the Bluetooth module.
+ * Configure a bias-bus-hold on CTS to lower power
+ * usage when Bluetooth is turned off. Bus hold will
+ * maintain a low power state regardless of whether
+ * the Bluetooth module drives the pin in either
+ * direction or leaves the pin fully unpowered.
*/
- bias-pull-down;
+ bias-bus-hold;
};

/* For mos_bt_uart */
--
Qualcomm INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by the Linux Foundation.

2022-04-22 19:28:44

by Vijaya Krishna Nivarthi

[permalink] [raw]
Subject: [V6 1/2] arm64: dts: qcom: sc7280-idp: Configure CTS pin to bias-bus-hold for bluetooth

WLAN rail was leaking power during RBSC/sleep even after turning BT off.
Change active and sleep pinctrl configurations to handle same.

Signed-off-by: Vijaya Krishna Nivarthi <[email protected]>
Reviewed-by: Douglas Anderson <[email protected]>
---
v6: add code comments about how bias-bus-hold could save power
v5: modify subject to include bluetooth
v4: modify subject of patch to indicate file it is applying to
v3: apply same change to active state and other sc7280*.dts* as well
v2: used bias-bus-hold as per review comments
v1: intial patch used bias-disable for sleep pinctrl in sc7280-idp only
---
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
index 015a347..6c2aab6 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
@@ -400,10 +400,13 @@

&qup_uart7_cts {
/*
- * Configure a pull-down on CTS to match the pull of
- * the Bluetooth module.
+ * Configure a bias-bus-hold on CTS to lower power
+ * usage when Bluetooth is turned off. Bus hold will
+ * maintain a low power state regardless of whether
+ * the Bluetooth module drives the pin in either
+ * direction or leaves the pin fully unpowered.
*/
- bias-pull-down;
+ bias-bus-hold;
};

&qup_uart7_rts {
@@ -495,10 +498,13 @@
pins = "gpio28";
function = "gpio";
/*
- * Configure a pull-down on CTS to match the pull of
- * the Bluetooth module.
+ * Configure a bias-bus-hold on CTS to lower power
+ * usage when Bluetooth is turned off. Bus hold will
+ * maintain a low power state regardless of whether
+ * the Bluetooth module drives the pin in either
+ * direction or leaves the pin fully unpowered.
*/
- bias-pull-down;
+ bias-bus-hold;
};

qup_uart7_sleep_rts: qup-uart7-sleep-rts {
--
Qualcomm INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by the Linux Foundation.

2022-05-03 20:32:51

by Doug Anderson

[permalink] [raw]
Subject: Re: [V6 0/2] arm64: dts: qcom: Configure CTS pin to bias-bus-hold for bluetooth

Bjorn,

On Thu, Apr 21, 2022 at 8:56 AM Vijaya Krishna Nivarthi
<[email protected]> wrote:
>
> WLAN rail was leaking power during RBSC/sleep even after turning BT off.
> Change pinctrl configuration to handle same.
>
> Signed-off-by: Vijaya Krishna Nivarthi <[email protected]>
> ---
> v6: add code comments about how bias-bus-hold could save power
> v5: modify subject to include bluetooth
> v4: modify subject of each patch to indicate what it is applying to
> v3: apply same change to active state and other sc7280*.dts* as well
> v2: used bias-bus-hold as per review comments
> v1: intial patch used bias-disable for sleep pinctrl in sc7280-idp only
> ---
>
> Vijaya Krishna Nivarthi (2):
> arm64: dts: qcom: sc7280-idp: Configure CTS pin to bias-bus-hold for
> bluetooth
> arm64: dts: qcom: sc7280-qcard: Configure CTS pin to bias-bus-hold for
> bluetooth
>
> arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 18 ++++++++++++------
> arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi | 19 ++++++++++++++-----
> 2 files changed, 26 insertions(+), 11 deletions(-)

If the tree hasn't closed yet, I think these two patches are waiting
to land and ready to go.

Thanks!

-Doug

2022-05-04 20:35:48

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [V6 0/2] arm64: dts: qcom: Configure CTS pin to bias-bus-hold for bluetooth

On Thu, 21 Apr 2022 21:26:05 +0530, Vijaya Krishna Nivarthi wrote:
> WLAN rail was leaking power during RBSC/sleep even after turning BT off.
> Change pinctrl configuration to handle same.
>
>

Applied, thanks!

[1/2] arm64: dts: qcom: sc7280-idp: Configure CTS pin to bias-bus-hold for bluetooth
commit: 497b272759986af1aa5a25b5e903d082c67bd8f6
[2/2] arm64: dts: qcom: sc7280-qcard: Configure CTS pin to bias-bus-hold for bluetooth
commit: 3d0e375bae55c2dfa6dd0762f45ad71f0b192f71

Best regards,
--
Bjorn Andersson <[email protected]>