1
- Patch 1/4 Add description of the PMU of the WCN6750 module.
1
Resending the below reviewed patches after fixing the regulator warnings in v7 P1.
2
- Patch 2/4 add and enable BT node for qcs6490-rb3gen board.
2
- Patch 1/2 Add and enable BT node for qcs6490-rb3gen board.
3
- Patch 3/4 use the power sequencer for wcn6750.
3
- Patch 2/2 Use the power sequencer for wcn6750.
4
- Patch 4/4 add support for the WCN6750 PMU.
5
4
6
----
5
----
6
Changes from v7:
7
* updated P1 & P2 with tag: Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
8
* Link to v7: https://lore.kernel.org/lkml/20250107134157.211702-1-quic_janathot@quicinc.com/#t
9
10
Changes from v6:
11
* Elaborated the commit message with more information.
12
* Link to v6: https://lore.kernel.org/lkml/20241223135700.22660-1-quic_janathot@quicinc.com/
13
14
Changes from v5:
15
* Update the wcn6750 required properties in bindings.
16
* Link to v5: https://lore.kernel.org/linux-arm-msm/20241209103455.9675-1-quic_janathot@quicinc.com/
17
18
Changes from v4:
19
* Added reviewed tag by Krzysztof in p1
20
* Updated the p2 commit message with sw_ctrl and wifi-enable are
21
handled in wifi FW.
22
* Added blank line between the nodes in p2
23
* Placed the structures in proper order in p4
24
* Link to v4: https://lore.kernel.org/all/20241204131706.20791-1-quic_janathot@quicinc.com/
25
7
Changes from v3:
26
Changes from v3:
8
* Defined the PMU node and used the its output to power up BT
27
* Defined the PMU node and used the its output to power up BT
9
* Used power sequencer for wcn wcn6750 module
28
* Used power sequencer for wcn wcn6750 module
10
* Split the patch to multiple as per subtree
29
* Split the patch to multiple as per subtree
11
* Add description of the PMU of the WCN6750 module
30
* Add description of the PMU of the WCN6750 module
12
* Include separate UART state node for sleep pin configuarion
31
* Include separate UART state node for sleep pin configuarion
13
* Link to v3: https://lore.kernel.org/linux-arm-msm/20241022104600.3228-1-quic_janathot@quicinc.com/
32
* Link to v3: https://lore.kernel.org/linux-arm-msm/20241022104600.3228-1-quic_janathot@quicinc.com/
33
14
Changes from v2:
34
Changes from v2:
15
* Sorted nodes alphabetically
35
* Sorted nodes alphabetically
16
* Link to v2: https://lore.kernel.org/linux-arm-msm/20241010105107.30118-1-quic_janathot@quicinc.com/
36
* Link to v2: https://lore.kernel.org/linux-arm-msm/20241010105107.30118-1-quic_janathot@quicinc.com/
37
17
Changes from v1:
38
Changes from v1:
18
* Corrected the board name in subject
39
* Corrected the board name in subject
19
* Link to v1: https://lore.kernel.org/linux-arm-msm/20241009111436.23473-1-quic_janathot@quicinc.com/
40
* Link to v1: https://lore.kernel.org/linux-arm-msm/20241009111436.23473-1-quic_janathot@quicinc.com/
20
Janaki Ramaiah Thota (4):
41
Janaki Ramaiah Thota (2):
21
regulator:·dt-bindings:·qcom,qca6390-pmu:·document wcn6750-pmu
22
arm64: dts: qcom: qcs6490-rb3gen: add and enable BT node
42
arm64: dts: qcom: qcs6490-rb3gen: add and enable BT node
23
Bluetooth: hci_qca: use the power sequencer for wcn6750
43
Bluetooth: hci_qca: use the power sequencer for wcn6750
24
power: sequencing: qcom-wcn: add support for the WCN6750 PMU
25
44
26
.../bindings/regulator/qcom,qca6390-pmu.yaml | 27 +++
45
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 168 ++++++++++++++++++-
27
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 165 +++++++++++++++++-
46
drivers/bluetooth/hci_qca.c | 2 +-
28
drivers/bluetooth/hci_qca.c | 2 +-
47
2 files changed, 168 insertions(+), 2 deletions(-)
29
drivers/power/sequencing/pwrseq-qcom-wcn.c | 22 +++
30
4 files changed, 214 insertions(+), 2 deletions(-)
31
48
32
--
49
--
33
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
34
a Linux Foundation Collaborative Project
35
diff view generated by jsdifflib
Deleted patch
1
Add description of the PMU of the WCN6750 module.
2
1
3
Signed-off-by: Janaki Ramaiah Thota <quic_janathot@quicinc.com>
4
---
5
.../bindings/regulator/qcom,qca6390-pmu.yaml | 27 +++++++++++++++++++
6
1 file changed, 27 insertions(+)
7
8
diff --git a/Documentation/devicetree/bindings/regulator/qcom,qca6390-pmu.yaml b/Documentation/devicetree/bindings/regulator/qcom,qca6390-pmu.yaml
9
index XXXXXXX..XXXXXXX 100644
10
--- a/Documentation/devicetree/bindings/regulator/qcom,qca6390-pmu.yaml
11
+++ b/Documentation/devicetree/bindings/regulator/qcom,qca6390-pmu.yaml
12
@@ -XXX,XX +XXX,XX @@ properties:
13
compatible:
14
enum:
15
- qcom,qca6390-pmu
16
+ - qcom,wcn6750-pmu
17
- qcom,wcn6855-pmu
18
- qcom,wcn7850-pmu
19
20
@@ -XXX,XX +XXX,XX @@ properties:
21
vddaon-supply:
22
description: VDD_AON supply regulator handle
23
24
+ vddasd-supply:
25
+ description: VDD_ASD supply regulator handle
26
+
27
vdddig-supply:
28
description: VDD_DIG supply regulator handle
29
30
@@ -XXX,XX +XXX,XX @@ properties:
31
vddio1p2-supply:
32
description: VDD_IO_1P2 supply regulator handle
33
34
+ vddrfa0p8-supply:
35
+ description: VDD_RFA_0P8 supply regulator handle
36
+
37
vddrfa0p95-supply:
38
description: VDD_RFA_0P95 supply regulator handle
39
40
@@ -XXX,XX +XXX,XX @@ properties:
41
vddrfa1p3-supply:
42
description: VDD_RFA_1P3 supply regulator handle
43
44
+ vddrfa1p7-supply:
45
+ description: VDD_RFA_1P7 supply regulator handle
46
+
47
vddrfa1p8-supply:
48
description: VDD_RFA_1P8 supply regulator handle
49
50
vddrfa1p9-supply:
51
description: VDD_RFA_1P9 supply regulator handle
52
53
+ vddrfa2p2-supply:
54
+ description: VDD_RFA_2P2 supply regulator handle
55
+
56
vddpcie1p3-supply:
57
description: VDD_PCIE_1P3 supply regulator handle
58
59
@@ -XXX,XX +XXX,XX @@ allOf:
60
- vddpcie1p3-supply
61
- vddpcie1p9-supply
62
- vddio-supply
63
+ - if:
64
+ properties:
65
+ compatible:
66
+ contains:
67
+ const: qcom,wcn6750-pmu
68
+ then:
69
+ required:
70
+ - vddaon-supply
71
+ - vddasd-supply
72
+ - vddpmu-supply
73
+ - vddrfa0p8-supply
74
+ - vddrfa1p2-supply
75
+ - vddrfa1p7-supply
76
+ - vddrfa2p2-supply
77
- if:
78
properties:
79
compatible:
80
--
81
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
82
a Linux Foundation Collaborative Project
diff view generated by jsdifflib
1
Add a node for the PMU module of the WCN6750 present on the
1
Add the PMU node for WCN6750 present on the qcs6490-rb3gen
2
qcs6490-rb3gen board and assign its power outputs to the Bluetooth
2
board and assign its power outputs to the Bluetooth module.
3
module.
3
4
In WCN6750 module sw_ctrl and wifi-enable pins are handled
5
in the wifi controller firmware. Therefore, it is not required
6
to have those pins' entries in the PMU node.
4
7
5
Signed-off-by: Janaki Ramaiah Thota <quic_janathot@quicinc.com>
8
Signed-off-by: Janaki Ramaiah Thota <quic_janathot@quicinc.com>
9
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
6
---
10
---
7
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 165 ++++++++++++++++++-
11
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 168 ++++++++++++++++++-
8
1 file changed, 164 insertions(+), 1 deletion(-)
12
1 file changed, 167 insertions(+), 1 deletion(-)
9
13
10
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
14
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
11
index XXXXXXX..XXXXXXX 100644
15
index XXXXXXX..XXXXXXX 100644
12
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
16
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
13
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
17
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
...
...
17
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
21
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
18
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
22
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
19
*/
23
*/
20
24
21
/dts-v1/;
25
/dts-v1/;
22
@@ -XXX,XX +XXX,XX @@
26
@@ -XXX,XX +XXX,XX @@ / {
23
27
24
    aliases {
28
    aliases {
25
        serial0 = &uart5;
29
        serial0 = &uart5;
26
+        serial1 = &uart7;
30
+        serial1 = &uart7;
27
    };
31
    };
28
32
29
    chosen {
33
    chosen {
30
@@ -XXX,XX +XXX,XX @@
34
@@ -XXX,XX +XXX,XX @@ vph_pwr: vph-pwr-regulator {
31
        regulator-min-microvolt = <3700000>;
35
        regulator-min-microvolt = <3700000>;
32
        regulator-max-microvolt = <3700000>;
36
        regulator-max-microvolt = <3700000>;
33
    };
37
    };
34
+
38
+
35
+    wcn6750-pmu {
39
+    wcn6750-pmu {
...
...
89
+        };
93
+        };
90
+    };
94
+    };
91
};
95
};
92
96
93
&apps_rsc {
97
&apps_rsc {
94
@@ -XXX,XX +XXX,XX @@
98
@@ -XXX,XX +XXX,XX @@ &pon_resin {
95
    status = "okay";
99
    status = "okay";
96
};
100
};
97
101
98
+&qup_uart7_cts {
102
+&qup_uart7_cts {
99
+    /*
103
+    /*
100
+     * Configure a bias-bus-hold on CTS to lower power
104
+     * Configure a bias-bus-hold on CTS to lower power
101
+     * usage when Bluetooth is turned off. Bus hold will
105
+     * usage when Bluetooth is turned off. Bus hold will
...
...
129
+};
133
+};
130
+
134
+
131
&qupv3_id_0 {
135
&qupv3_id_0 {
132
    status = "okay";
136
    status = "okay";
133
};
137
};
134
@@ -XXX,XX +XXX,XX @@
138
@@ -XXX,XX +XXX,XX @@ &sdhc_2 {
135
&tlmm {
139
&tlmm {
136
    gpio-reserved-ranges = <32 2>, /* ADSP */
140
    gpio-reserved-ranges = <32 2>, /* ADSP */
137
             <48 4>; /* NFC */
141
             <48 4>; /* NFC */
142
+
138
+    bt_en: bt-en-state {
143
+    bt_en: bt-en-state {
139
+        pins = "gpio85";
144
+        pins = "gpio85";
140
+        function = "gpio";
145
+        function = "gpio";
141
+        output-low;
146
+        output-low;
142
+        bias-disable;
147
+        bias-disable;
143
+    };
148
+    };
149
+
144
+    qup_uart7_sleep: qup_uart7_sleep {
150
+    qup_uart7_sleep: qup_uart7_sleep {
145
+        qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
151
+        qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
146
+            pins = "gpio28";
152
+            pins = "gpio28";
147
+            function = "gpio";
153
+            function = "gpio";
148
+            /*
154
+            /*
...
...
199
+    interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
205
+    interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
200
+                <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
206
+                <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
201
+    pinctrl-1 = <&qup_uart7_sleep>;
207
+    pinctrl-1 = <&qup_uart7_sleep>;
202
+    pinctrl-names = "default", "sleep";
208
+    pinctrl-names = "default", "sleep";
203
+    status = "okay";
209
+    status = "okay";
210
+
204
+    bluetooth: bluetooth {
211
+    bluetooth: bluetooth {
205
+        compatible = "qcom,wcn6750-bt";
212
+        compatible = "qcom,wcn6750-bt";
206
+        vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
213
+        vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
207
+        vddaon-supply = <&vreg_pmu_aon_0p59>;
214
+        vddaon-supply = <&vreg_pmu_aon_0p59>;
208
+        vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
215
+        vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
...
...
diff view generated by jsdifflib
1
Older boards are having entry "enable-gpios" in dts, we can safely assume
1
Older boards are having entry "enable-gpios" in dts, we can safely assume
2
latest boards which are supporting PMU node enrty will support power
2
latest boards which are supporting PMU node enrty will support power
3
sequencer.
3
sequencer.
4
4
5
Signed-off-by: Janaki Ramaiah Thota <quic_janathot@quicinc.com>
5
Signed-off-by: Janaki Ramaiah Thota <quic_janathot@quicinc.com>
6
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
6
---
7
---
7
drivers/bluetooth/hci_qca.c | 2 +-
8
drivers/bluetooth/hci_qca.c | 2 +-
8
1 file changed, 1 insertion(+), 1 deletion(-)
9
1 file changed, 1 insertion(+), 1 deletion(-)
9
10
10
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
11
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
...
...
diff view generated by jsdifflib
Deleted patch
1
Enable support for controlling the power-up sequence of the PMU inside
2
the WCN6750 model.
3
1
4
Signed-off-by: Janaki Ramaiah Thota <quic_janathot@quicinc.com>
5
---
6
drivers/power/sequencing/pwrseq-qcom-wcn.c | 22 ++++++++++++++++++++++
7
1 file changed, 22 insertions(+)
8
9
diff --git a/drivers/power/sequencing/pwrseq-qcom-wcn.c b/drivers/power/sequencing/pwrseq-qcom-wcn.c
10
index XXXXXXX..XXXXXXX 100644
11
--- a/drivers/power/sequencing/pwrseq-qcom-wcn.c
12
+++ b/drivers/power/sequencing/pwrseq-qcom-wcn.c
13
@@ -XXX,XX +XXX,XX @@ static const struct pwrseq_qcom_wcn_pdata pwrseq_wcn6855_of_data = {
14
    .targets = pwrseq_qcom_wcn6855_targets,
15
};
16
17
+static const char *const pwrseq_wcn6750_vregs[] = {
18
+    "vddaon",
19
+    "vddasd",
20
+    "vddpmu",
21
+    "vddrfa0p8",
22
+    "vddrfa1p2",
23
+    "vddrfa1p7",
24
+    "vddrfa2p2",
25
+};
26
+
27
+static const struct pwrseq_qcom_wcn_pdata pwrseq_wcn6750_of_data = {
28
+    .vregs = pwrseq_wcn6750_vregs,
29
+    .num_vregs = ARRAY_SIZE(pwrseq_wcn6750_vregs),
30
+    .pwup_delay_ms = 50,
31
+    .gpio_enable_delay_ms = 5,
32
+    .targets = pwrseq_qcom_wcn_targets,
33
+};
34
+
35
static const char *const pwrseq_wcn7850_vregs[] = {
36
    "vdd",
37
    "vddio",
38
@@ -XXX,XX +XXX,XX @@ static const struct of_device_id pwrseq_qcom_wcn_of_match[] = {
39
        .compatible = "qcom,wcn7850-pmu",
40
        .data = &pwrseq_wcn7850_of_data,
41
    },
42
+    {
43
+        .compatible = "qcom,wcn6750-pmu",
44
+        .data = &pwrseq_wcn6750_of_data,
45
+    },
46
    { }
47
};
48
MODULE_DEVICE_TABLE(of, pwrseq_qcom_wcn_of_match);
49
--
50
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
51
a Linux Foundation Collaborative Project
diff view generated by jsdifflib