xref: /linux/Documentation/devicetree/bindings/regulator/qcom,qca6390-pmu.yaml (revision 643e2e259c2b25a2af0ae4c23c6e16586d9fd19c)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/qcom,qca6390-pmu.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Technologies, Inc. QCA6390 PMU Regulators
8
9maintainers:
10  - Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
11
12description:
13  The QCA6390 package contains discrete modules for WLAN and Bluetooth. They
14  are powered by the Power Management Unit (PMU) that takes inputs from the
15  host and provides LDO outputs. This document describes this module.
16
17properties:
18  compatible:
19    enum:
20      - qcom,qca6390-pmu
21      - qcom,wcn6750-pmu
22      - qcom,wcn6855-pmu
23      - qcom,wcn7850-pmu
24
25  vdd-supply:
26    description: VDD supply regulator handle
27
28  vddaon-supply:
29    description: VDD_AON supply regulator handle
30
31  vddasd-supply:
32    description: VDD_ASD supply regulator handle
33
34  vdddig-supply:
35    description: VDD_DIG supply regulator handle
36
37  vddpmu-supply:
38    description: VDD_PMU supply regulator handle
39
40  vddpmumx-supply:
41    description: VDD_PMU_MX supply regulator handle
42
43  vddpmucx-supply:
44    description: VDD_PMU_CX supply regulator handle
45
46  vddio1p2-supply:
47    description: VDD_IO_1P2 supply regulator handle
48
49  vddrfa0p8-supply:
50    description: VDD_RFA_0P8 supply regulator handle
51
52  vddrfa0p95-supply:
53    description: VDD_RFA_0P95 supply regulator handle
54
55  vddrfa1p2-supply:
56    description: VDD_RFA_1P2 supply regulator handle
57
58  vddrfa1p3-supply:
59    description: VDD_RFA_1P3 supply regulator handle
60
61  vddrfa1p7-supply:
62    description: VDD_RFA_1P7 supply regulator handle
63
64  vddrfa1p8-supply:
65    description: VDD_RFA_1P8 supply regulator handle
66
67  vddrfa1p9-supply:
68    description: VDD_RFA_1P9 supply regulator handle
69
70  vddrfa2p2-supply:
71    description: VDD_RFA_2P2 supply regulator handle
72
73  vddpcie1p3-supply:
74    description: VDD_PCIE_1P3 supply regulator handle
75
76  vddpcie1p9-supply:
77    description: VDD_PCIE_1P9 supply regulator handle
78
79  vddio-supply:
80    description: VDD_IO supply regulator handle
81
82  wlan-enable-gpios:
83    maxItems: 1
84    description: GPIO line enabling the ATH11K WLAN module supplied by the PMU
85
86  bt-enable-gpios:
87    maxItems: 1
88    description: GPIO line enabling the Bluetooth module supplied by the PMU
89
90  swctrl-gpios:
91    maxItems: 1
92    description: GPIO line indicating the state of the clock supply to the BT module
93
94  xo-clk-gpios:
95    maxItems: 1
96    description: GPIO line allowing to select the XO clock configuration for the module
97
98  clocks:
99    maxItems: 1
100    description: Reference clock handle
101
102  regulators:
103    type: object
104    description:
105      LDO outputs of the PMU
106
107    patternProperties:
108      "^ldo[0-9]$":
109        $ref: regulator.yaml#
110        type: object
111        unevaluatedProperties: false
112
113    additionalProperties: false
114
115required:
116  - compatible
117  - regulators
118
119allOf:
120  - if:
121      properties:
122        compatible:
123          contains:
124            const: qcom,qca6390-pmu
125    then:
126      required:
127        - vddaon-supply
128        - vddpmu-supply
129        - vddrfa0p95-supply
130        - vddrfa1p3-supply
131        - vddrfa1p9-supply
132        - vddpcie1p3-supply
133        - vddpcie1p9-supply
134        - vddio-supply
135  - if:
136      properties:
137        compatible:
138          contains:
139            const: qcom,wcn6750-pmu
140    then:
141      required:
142        - vddaon-supply
143        - vddasd-supply
144        - vddpmu-supply
145        - vddrfa0p8-supply
146        - vddrfa1p2-supply
147        - vddrfa1p7-supply
148        - vddrfa2p2-supply
149  - if:
150      properties:
151        compatible:
152          contains:
153            const: qcom,wcn6855-pmu
154    then:
155      required:
156        - vddio-supply
157        - vddaon-supply
158        - vddpmu-supply
159        - vddpmumx-supply
160        - vddpmucx-supply
161        - vddrfa0p95-supply
162        - vddrfa1p3-supply
163        - vddrfa1p9-supply
164        - vddpcie1p3-supply
165        - vddpcie1p9-supply
166  - if:
167      properties:
168        compatible:
169          contains:
170            const: qcom,wcn7850-pmu
171    then:
172      required:
173        - vdd-supply
174        - vddio-supply
175        - vddaon-supply
176        - vdddig-supply
177        - vddrfa1p2-supply
178        - vddrfa1p8-supply
179
180additionalProperties: false
181
182examples:
183  - |
184    #include <dt-bindings/gpio/gpio.h>
185    pmu {
186        compatible = "qcom,qca6390-pmu";
187
188        pinctrl-names = "default";
189        pinctrl-0 = <&bt_en_state>, <&wlan_en_state>;
190
191        vddaon-supply = <&vreg_s6a_0p95>;
192        vddpmu-supply = <&vreg_s2f_0p95>;
193        vddrfa0p95-supply = <&vreg_s2f_0p95>;
194        vddrfa1p3-supply = <&vreg_s8c_1p3>;
195        vddrfa1p9-supply = <&vreg_s5a_1p9>;
196        vddpcie1p3-supply = <&vreg_s8c_1p3>;
197        vddpcie1p9-supply = <&vreg_s5a_1p9>;
198        vddio-supply = <&vreg_s4a_1p8>;
199
200        wlan-enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
201        bt-enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
202
203        regulators {
204            vreg_pmu_rfa_cmn: ldo0 {
205                regulator-name = "vreg_pmu_rfa_cmn";
206            };
207
208            vreg_pmu_aon_0p59: ldo1 {
209                regulator-name = "vreg_pmu_aon_0p59";
210            };
211
212            vreg_pmu_wlcx_0p8: ldo2 {
213                regulator-name = "vreg_pmu_wlcx_0p8";
214            };
215
216            vreg_pmu_wlmx_0p85: ldo3 {
217                regulator-name = "vreg_pmu_wlmx_0p85";
218            };
219
220            vreg_pmu_btcmx_0p85: ldo4 {
221                regulator-name = "vreg_pmu_btcmx_0p85";
222            };
223
224            vreg_pmu_rfa_0p8: ldo5 {
225                regulator-name = "vreg_pmu_rfa_0p8";
226            };
227
228            vreg_pmu_rfa_1p2: ldo6 {
229                regulator-name = "vreg_pmu_rfa_1p2";
230            };
231
232            vreg_pmu_rfa_1p7: ldo7 {
233                regulator-name = "vreg_pmu_rfa_1p7";
234            };
235
236            vreg_pmu_pcie_0p9: ldo8 {
237                regulator-name = "vreg_pmu_pcie_0p9";
238            };
239
240            vreg_pmu_pcie_1p8: ldo9 {
241                regulator-name = "vreg_pmu_pcie_1p8";
242            };
243        };
244    };
245