Skip to content

Commit e212aa5

Browse files
author
Wei Deng
committed
WORKAROUND: arm64: dts: qcom: Remove WCN6855 PMU node to bypass pwrseq flow
There is a conflict between the current DTS configuration and the driver behavior for the WCN6855 Bluetooth path. With the PMU node in place, the driver takes the pwrseq code path unintentionally, which leads to Bluetooth failing to power up during an on -> off -> on transition. To unblock function, temporarily remove the WCN6855 PMU node so that the driver follows the non-pwrseq path and avoids the unexpected sequence. This is a TEMPORARY WORKAROUND. Once a proper M.2 binding/solution is upstreamed, will re-submit both DTS and driver changes aligned with the M.2 model. Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
1 parent 31b0beb commit e212aa5

2 files changed

Lines changed: 16 additions & 130 deletions

File tree

arch/arm64/boot/dts/qcom/lemans-evk.dts

Lines changed: 8 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -147,63 +147,6 @@
147147

148148
regulator-boot-on;
149149
};
150-
151-
wcn6855-pmu {
152-
compatible = "qcom,wcn6855-pmu";
153-
154-
vddio-supply = <&vreg_wcn_3p3>;
155-
vddaon-supply = <&vreg_wcn_3p3>;
156-
vddpmu-supply = <&vreg_wcn_3p3>;
157-
vddpmumx-supply = <&vreg_wcn_3p3>;
158-
vddpmucx-supply = <&vreg_wcn_3p3>;
159-
vddrfa0p95-supply = <&vreg_wcn_3p3>;
160-
vddrfa1p3-supply = <&vreg_wcn_3p3>;
161-
vddrfa1p9-supply = <&vreg_wcn_3p3>;
162-
vddpcielp3-supply = <&vreg_wcn_3p3>;
163-
vddpcielp9-supply = <&vreg_wcn_3p3>;
164-
165-
regulators {
166-
vreg_pmu_rfa_cmn: ldo0 {
167-
regulator-name = "vreg_pmu_rfa_cmn";
168-
};
169-
170-
vreg_pmu_aon_0p59: ldo1 {
171-
regulator-name = "vreg_pmu_aon_0p59";
172-
};
173-
174-
vreg_pmu_wlcx_0p8: ldo2 {
175-
regulator-name = "vreg_pmu_wlcx_0p8";
176-
};
177-
178-
vreg_pmu_wlmx_0p85: ldo3 {
179-
regulator-name = "vreg_pmu_wlmx_0p85";
180-
};
181-
182-
vreg_pmu_btcmx_0p85: ldo4 {
183-
regulator-name = "vreg_pmu_btcmx_0p85";
184-
};
185-
186-
vreg_pmu_rfa_0p8: ldo5 {
187-
regulator-name = "vreg_pmu_rfa_0p8";
188-
};
189-
190-
vreg_pmu_rfa_1p2: ldo6 {
191-
regulator-name = "vreg_pmu_rfa_1p2";
192-
};
193-
194-
vreg_pmu_rfa_1p8: ldo7 {
195-
regulator-name = "vreg_pmu_rfa_1p8";
196-
};
197-
198-
vreg_pmu_pcie_0p9: ldo8 {
199-
regulator-name = "vreg_pmu_pcie_0p9";
200-
};
201-
202-
vreg_pmu_pcie_1p8: ldo9 {
203-
regulator-name = "vreg_pmu_pcie_1p8";
204-
};
205-
};
206-
};
207150
};
208151

209152
&apps_rsc {
@@ -870,14 +813,14 @@
870813
compatible = "qcom,wcn6855-bt";
871814
max-speed = <3200000>;
872815

873-
vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
874-
vddaon-supply = <&vreg_pmu_aon_0p59>;
875-
vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
876-
vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
877-
vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
878-
vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
879-
vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
880-
vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
816+
vddrfacmn-supply = <&vreg_wcn_3p3>;
817+
vddaon-supply = <&vreg_wcn_3p3>;
818+
vddwlcx-supply = <&vreg_wcn_3p3>;
819+
vddwlmx-supply = <&vreg_wcn_3p3>;
820+
vddbtcmx-supply = <&vreg_wcn_3p3>;
821+
vddrfa0p8-supply = <&vreg_wcn_3p3>;
822+
vddrfa1p2-supply = <&vreg_wcn_3p3>;
823+
vddrfa1p8-supply = <&vreg_wcn_3p3>;
881824
};
882825
};
883826

arch/arm64/boot/dts/qcom/monaco-evk.dts

Lines changed: 8 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -101,63 +101,6 @@
101101

102102
regulator-boot-on;
103103
};
104-
105-
wcn6855-pmu {
106-
compatible = "qcom,wcn6855-pmu";
107-
108-
vddio-supply = <&vreg_wcn_3p3>;
109-
vddaon-supply = <&vreg_wcn_3p3>;
110-
vddpmu-supply = <&vreg_wcn_3p3>;
111-
vddpmumx-supply = <&vreg_wcn_3p3>;
112-
vddpmucx-supply = <&vreg_wcn_3p3>;
113-
vddrfa0p95-supply = <&vreg_wcn_3p3>;
114-
vddrfa1p3-supply = <&vreg_wcn_3p3>;
115-
vddrfa1p9-supply = <&vreg_wcn_3p3>;
116-
vddpcielp3-supply = <&vreg_wcn_3p3>;
117-
vddpcielp9-supply = <&vreg_wcn_3p3>;
118-
119-
regulators {
120-
vreg_pmu_rfa_cmn: ldo0 {
121-
regulator-name = "vreg_pmu_rfa_cmn";
122-
};
123-
124-
vreg_pmu_aon_0p59: ldo1 {
125-
regulator-name = "vreg_pmu_aon_0p59";
126-
};
127-
128-
vreg_pmu_wlcx_0p8: ldo2 {
129-
regulator-name = "vreg_pmu_wlcx_0p8";
130-
};
131-
132-
vreg_pmu_wlmx_0p85: ldo3 {
133-
regulator-name = "vreg_pmu_wlmx_0p85";
134-
};
135-
136-
vreg_pmu_btcmx_0p85: ldo4 {
137-
regulator-name = "vreg_pmu_btcmx_0p85";
138-
};
139-
140-
vreg_pmu_rfa_0p8: ldo5 {
141-
regulator-name = "vreg_pmu_rfa_0p8";
142-
};
143-
144-
vreg_pmu_rfa_1p2: ldo6 {
145-
regulator-name = "vreg_pmu_rfa_1p2";
146-
};
147-
148-
vreg_pmu_rfa_1p8: ldo7 {
149-
regulator-name = "vreg_pmu_rfa_1p8";
150-
};
151-
152-
vreg_pmu_pcie_0p9: ldo8 {
153-
regulator-name = "vreg_pmu_pcie_0p9";
154-
};
155-
156-
vreg_pmu_pcie_1p8: ldo9 {
157-
regulator-name = "vreg_pmu_pcie_1p8";
158-
};
159-
};
160-
};
161104
};
162105

163106
&apps_rsc {
@@ -711,14 +654,14 @@
711654
compatible = "qcom,wcn6855-bt";
712655
max-speed = <3200000>;
713656

714-
vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
715-
vddaon-supply = <&vreg_pmu_aon_0p59>;
716-
vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
717-
vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
718-
vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
719-
vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
720-
vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
721-
vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
657+
vddrfacmn-supply = <&vreg_wcn_3p3>;
658+
vddaon-supply = <&vreg_wcn_3p3>;
659+
vddwlcx-supply = <&vreg_wcn_3p3>;
660+
vddwlmx-supply = <&vreg_wcn_3p3>;
661+
vddbtcmx-supply = <&vreg_wcn_3p3>;
662+
vddrfa0p8-supply = <&vreg_wcn_3p3>;
663+
vddrfa1p2-supply = <&vreg_wcn_3p3>;
664+
vddrfa1p8-supply = <&vreg_wcn_3p3>;
722665
};
723666
};
724667

0 commit comments

Comments
 (0)