Merge tag 'usb-serial-5.11-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / regulator / nxp,pca9450-regulator.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/regulator/nxp,pca9450-regulator.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: NXP PCA9450A/B/C Power Management Integrated Circuit regulators
8
9 maintainers:
10   - Robin Gong <yibin.gong@nxp.com>
11
12 description: |
13   Regulator nodes should be named to BUCK_<number> and LDO_<number>. The
14   definition for each of these nodes is defined using the standard
15   binding for regulators at
16   Documentation/devicetree/bindings/regulator/regulator.txt.
17   Datasheet is available at
18   https://www.nxp.com/docs/en/data-sheet/PCA9450DS.pdf
19
20 #The valid names for PCA9450 regulator nodes are:
21 #BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6,
22 #LDO1, LDO2, LDO3, LDO4, LDO5
23 #Note: Buck3 removed on PCA9450B and connect with Buck1 on PCA9450C.
24
25 properties:
26   compatible:
27     enum:
28       - nxp,pca9450a
29       - nxp,pca9450b
30       - nxp,pca9450c
31
32   reg:
33     maxItems: 1
34
35   interrupts:
36     maxItems: 1
37
38   regulators:
39     type: object
40     description: |
41       list of regulators provided by this controller
42
43     patternProperties:
44       "^LDO[1-5]$":
45         type: object
46         $ref: regulator.yaml#
47         description:
48           Properties for single LDO regulator.
49
50         properties:
51           regulator-name:
52             pattern: "^LDO[1-5]$"
53             description:
54               should be "LDO1", ..., "LDO5"
55
56         unevaluatedProperties: false
57
58       "^BUCK[1-6]$":
59         type: object
60         $ref: regulator.yaml#
61         description:
62           Properties for single BUCK regulator.
63
64         properties:
65           regulator-name:
66             pattern: "^BUCK[1-6]$"
67             description:
68               should be "BUCK1", ..., "BUCK6"
69
70           nxp,dvs-run-voltage:
71             $ref: "/schemas/types.yaml#/definitions/uint32"
72             minimum: 600000
73             maximum: 2187500
74             description:
75               PMIC default "RUN" state voltage in uV. Only Buck1~3 have such
76               dvs(dynamic voltage scaling) property.
77
78           nxp,dvs-standby-voltage:
79             $ref: "/schemas/types.yaml#/definitions/uint32"
80             minimum: 600000
81             maximum: 2187500
82             description:
83               PMIC default "STANDBY" state voltage in uV. Only Buck1~3 have such
84               dvs(dynamic voltage scaling) property.
85
86         unevaluatedProperties: false
87
88     additionalProperties: false
89
90 required:
91   - compatible
92   - reg
93   - interrupts
94   - regulators
95
96 additionalProperties: false
97
98 examples:
99   - |
100     #include <dt-bindings/interrupt-controller/irq.h>
101
102     i2c {
103         #address-cells = <1>;
104         #size-cells = <0>;
105         pmic: pmic@25 {
106             compatible = "nxp,pca9450b";
107             reg = <0x25>;
108             pinctrl-0 = <&pinctrl_pmic>;
109             interrupt-parent = <&gpio1>;
110             interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
111
112             regulators {
113                 buck1: BUCK1 {
114                     regulator-name = "BUCK1";
115                     regulator-min-microvolt = <600000>;
116                     regulator-max-microvolt = <2187500>;
117                     regulator-boot-on;
118                     regulator-always-on;
119                     regulator-ramp-delay = <3125>;
120                 };
121                 buck2: BUCK2 {
122                     regulator-name = "BUCK2";
123                     regulator-min-microvolt = <600000>;
124                     regulator-max-microvolt = <2187500>;
125                     regulator-boot-on;
126                     regulator-always-on;
127                     regulator-ramp-delay = <3125>;
128                     nxp,dvs-run-voltage = <950000>;
129                     nxp,dvs-standby-voltage = <850000>;
130                 };
131                 buck4: BUCK4 {
132                     regulator-name = "BUCK4";
133                     regulator-min-microvolt = <600000>;
134                     regulator-max-microvolt = <3400000>;
135                     regulator-boot-on;
136                     regulator-always-on;
137                 };
138                 buck5: BUCK5 {
139                     regulator-name = "BUCK5";
140                     regulator-min-microvolt = <600000>;
141                     regulator-max-microvolt = <3400000>;
142                     regulator-boot-on;
143                     regulator-always-on;
144                 };
145                 buck6: BUCK6 {
146                     regulator-name = "BUCK6";
147                     regulator-min-microvolt = <600000>;
148                     regulator-max-microvolt = <3400000>;
149                     regulator-boot-on;
150                     regulator-always-on;
151                 };
152
153                 ldo1: LDO1 {
154                     regulator-name = "LDO1";
155                     regulator-min-microvolt = <1600000>;
156                     regulator-max-microvolt = <3300000>;
157                     regulator-boot-on;
158                     regulator-always-on;
159                 };
160                 ldo2: LDO2 {
161                     regulator-name = "LDO2";
162                     regulator-min-microvolt = <800000>;
163                     regulator-max-microvolt = <1150000>;
164                     regulator-boot-on;
165                     regulator-always-on;
166                 };
167                 ldo3: LDO3 {
168                     regulator-name = "LDO3";
169                     regulator-min-microvolt = <800000>;
170                     regulator-max-microvolt = <3300000>;
171                     regulator-boot-on;
172                     regulator-always-on;
173                 };
174                 ldo4: LDO4 {
175                     regulator-name = "LDO4";
176                     regulator-min-microvolt = <800000>;
177                     regulator-max-microvolt = <3300000>;
178                     regulator-boot-on;
179                     regulator-always-on;
180                 };
181                 ldo5: LDO5 {
182                     regulator-name = "LDO5";
183                     regulator-min-microvolt = <1800000>;
184                     regulator-max-microvolt = <3300000>;
185                     regulator-boot-on;
186                     regulator-always-on;
187                 };
188             };
189         };
190     };