xref: /linux/Documentation/devicetree/bindings/regulator/qcom,qca6390-pmu.yaml (revision fcc79e1714e8c2b8e216dc3149812edd37884eef)
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,wcn6855-pmu
22      - qcom,wcn7850-pmu
23
24  vdd-supply:
25    description: VDD supply regulator handle
26
27  vddaon-supply:
28    description: VDD_AON supply regulator handle
29
30  vdddig-supply:
31    description: VDD_DIG supply regulator handle
32
33  vddpmu-supply:
34    description: VDD_PMU supply regulator handle
35
36  vddpmumx-supply:
37    description: VDD_PMU_MX supply regulator handle
38
39  vddpmucx-supply:
40    description: VDD_PMU_CX supply regulator handle
41
42  vddio1p2-supply:
43    description: VDD_IO_1P2 supply regulator handle
44
45  vddrfa0p95-supply:
46    description: VDD_RFA_0P95 supply regulator handle
47
48  vddrfa1p2-supply:
49    description: VDD_RFA_1P2 supply regulator handle
50
51  vddrfa1p3-supply:
52    description: VDD_RFA_1P3 supply regulator handle
53
54  vddrfa1p8-supply:
55    description: VDD_RFA_1P8 supply regulator handle
56
57  vddrfa1p9-supply:
58    description: VDD_RFA_1P9 supply regulator handle
59
60  vddpcie1p3-supply:
61    description: VDD_PCIE_1P3 supply regulator handle
62
63  vddpcie1p9-supply:
64    description: VDD_PCIE_1P9 supply regulator handle
65
66  vddio-supply:
67    description: VDD_IO supply regulator handle
68
69  wlan-enable-gpios:
70    maxItems: 1
71    description: GPIO line enabling the ATH11K WLAN module supplied by the PMU
72
73  bt-enable-gpios:
74    maxItems: 1
75    description: GPIO line enabling the Bluetooth module supplied by the PMU
76
77  swctrl-gpios:
78    maxItems: 1
79    description: GPIO line indicating the state of the clock supply to the BT module
80
81  xo-clk-gpios:
82    maxItems: 1
83    description: GPIO line allowing to select the XO clock configuration for the module
84
85  clocks:
86    maxItems: 1
87    description: Reference clock handle
88
89  regulators:
90    type: object
91    description:
92      LDO outputs of the PMU
93
94    patternProperties:
95      "^ldo[0-9]$":
96        $ref: regulator.yaml#
97        type: object
98        unevaluatedProperties: false
99
100    additionalProperties: false
101
102required:
103  - compatible
104  - regulators
105
106allOf:
107  - if:
108      properties:
109        compatible:
110          contains:
111            const: qcom,qca6390-pmu
112    then:
113      required:
114        - vddaon-supply
115        - vddpmu-supply
116        - vddrfa0p95-supply
117        - vddrfa1p3-supply
118        - vddrfa1p9-supply
119        - vddpcie1p3-supply
120        - vddpcie1p9-supply
121        - vddio-supply
122  - if:
123      properties:
124        compatible:
125          contains:
126            const: qcom,wcn6855-pmu
127    then:
128      required:
129        - vddio-supply
130        - vddaon-supply
131        - vddpmu-supply
132        - vddpmumx-supply
133        - vddpmucx-supply
134        - vddrfa0p95-supply
135        - vddrfa1p3-supply
136        - vddrfa1p9-supply
137        - vddpcie1p3-supply
138        - vddpcie1p9-supply
139  - if:
140      properties:
141        compatible:
142          contains:
143            const: qcom,wcn7850-pmu
144    then:
145      required:
146        - vdd-supply
147        - vddio-supply
148        - vddaon-supply
149        - vdddig-supply
150        - vddrfa1p2-supply
151        - vddrfa1p8-supply
152
153additionalProperties: false
154
155examples:
156  - |
157    #include <dt-bindings/gpio/gpio.h>
158    pmu {
159        compatible = "qcom,qca6390-pmu";
160
161        pinctrl-names = "default";
162        pinctrl-0 = <&bt_en_state>, <&wlan_en_state>;
163
164        vddaon-supply = <&vreg_s6a_0p95>;
165        vddpmu-supply = <&vreg_s2f_0p95>;
166        vddrfa0p95-supply = <&vreg_s2f_0p95>;
167        vddrfa1p3-supply = <&vreg_s8c_1p3>;
168        vddrfa1p9-supply = <&vreg_s5a_1p9>;
169        vddpcie1p3-supply = <&vreg_s8c_1p3>;
170        vddpcie1p9-supply = <&vreg_s5a_1p9>;
171        vddio-supply = <&vreg_s4a_1p8>;
172
173        wlan-enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
174        bt-enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
175
176        regulators {
177            vreg_pmu_rfa_cmn: ldo0 {
178                regulator-name = "vreg_pmu_rfa_cmn";
179            };
180
181            vreg_pmu_aon_0p59: ldo1 {
182                regulator-name = "vreg_pmu_aon_0p59";
183            };
184
185            vreg_pmu_wlcx_0p8: ldo2 {
186                regulator-name = "vreg_pmu_wlcx_0p8";
187            };
188
189            vreg_pmu_wlmx_0p85: ldo3 {
190                regulator-name = "vreg_pmu_wlmx_0p85";
191            };
192
193            vreg_pmu_btcmx_0p85: ldo4 {
194                regulator-name = "vreg_pmu_btcmx_0p85";
195            };
196
197            vreg_pmu_rfa_0p8: ldo5 {
198                regulator-name = "vreg_pmu_rfa_0p8";
199            };
200
201            vreg_pmu_rfa_1p2: ldo6 {
202                regulator-name = "vreg_pmu_rfa_1p2";
203            };
204
205            vreg_pmu_rfa_1p7: ldo7 {
206                regulator-name = "vreg_pmu_rfa_1p7";
207            };
208
209            vreg_pmu_pcie_0p9: ldo8 {
210                regulator-name = "vreg_pmu_pcie_0p9";
211            };
212
213            vreg_pmu_pcie_1p8: ldo9 {
214                regulator-name = "vreg_pmu_pcie_1p8";
215            };
216        };
217    };
218