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