Merge tag 'ceph-for-5.15-rc1' of git://github.com/ceph/ceph-client
[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   sd-vsel-gpios:
91     description: GPIO that is used to switch LDO5 between being configured by
92       LDO5CTRL_L or LDO5CTRL_H register. Use this if the SD_VSEL signal is
93       connected to a host GPIO.
94
95 required:
96   - compatible
97   - reg
98   - interrupts
99   - regulators
100
101 additionalProperties: false
102
103 examples:
104   - |
105     #include <dt-bindings/interrupt-controller/irq.h>
106
107     i2c {
108         #address-cells = <1>;
109         #size-cells = <0>;
110         pmic: pmic@25 {
111             compatible = "nxp,pca9450b";
112             reg = <0x25>;
113             pinctrl-0 = <&pinctrl_pmic>;
114             interrupt-parent = <&gpio1>;
115             interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
116
117             regulators {
118                 buck1: BUCK1 {
119                     regulator-name = "BUCK1";
120                     regulator-min-microvolt = <600000>;
121                     regulator-max-microvolt = <2187500>;
122                     regulator-boot-on;
123                     regulator-always-on;
124                     regulator-ramp-delay = <3125>;
125                 };
126                 buck2: BUCK2 {
127                     regulator-name = "BUCK2";
128                     regulator-min-microvolt = <600000>;
129                     regulator-max-microvolt = <2187500>;
130                     regulator-boot-on;
131                     regulator-always-on;
132                     regulator-ramp-delay = <3125>;
133                     nxp,dvs-run-voltage = <950000>;
134                     nxp,dvs-standby-voltage = <850000>;
135                 };
136                 buck4: BUCK4 {
137                     regulator-name = "BUCK4";
138                     regulator-min-microvolt = <600000>;
139                     regulator-max-microvolt = <3400000>;
140                     regulator-boot-on;
141                     regulator-always-on;
142                 };
143                 buck5: BUCK5 {
144                     regulator-name = "BUCK5";
145                     regulator-min-microvolt = <600000>;
146                     regulator-max-microvolt = <3400000>;
147                     regulator-boot-on;
148                     regulator-always-on;
149                 };
150                 buck6: BUCK6 {
151                     regulator-name = "BUCK6";
152                     regulator-min-microvolt = <600000>;
153                     regulator-max-microvolt = <3400000>;
154                     regulator-boot-on;
155                     regulator-always-on;
156                 };
157
158                 ldo1: LDO1 {
159                     regulator-name = "LDO1";
160                     regulator-min-microvolt = <1600000>;
161                     regulator-max-microvolt = <3300000>;
162                     regulator-boot-on;
163                     regulator-always-on;
164                 };
165                 ldo2: LDO2 {
166                     regulator-name = "LDO2";
167                     regulator-min-microvolt = <800000>;
168                     regulator-max-microvolt = <1150000>;
169                     regulator-boot-on;
170                     regulator-always-on;
171                 };
172                 ldo3: LDO3 {
173                     regulator-name = "LDO3";
174                     regulator-min-microvolt = <800000>;
175                     regulator-max-microvolt = <3300000>;
176                     regulator-boot-on;
177                     regulator-always-on;
178                 };
179                 ldo4: LDO4 {
180                     regulator-name = "LDO4";
181                     regulator-min-microvolt = <800000>;
182                     regulator-max-microvolt = <3300000>;
183                     regulator-boot-on;
184                     regulator-always-on;
185                 };
186                 ldo5: LDO5 {
187                     regulator-name = "LDO5";
188                     regulator-min-microvolt = <1800000>;
189                     regulator-max-microvolt = <3300000>;
190                     regulator-boot-on;
191                     regulator-always-on;
192                 };
193             };
194         };
195     };