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