xref: /linux/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml (revision c94cd9508b1335b949fd13ebd269313c65492df0)
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
7title: NXP PCA9450A/B/C Power Management Integrated Circuit regulators
8
9maintainers:
10  - Robin Gong <yibin.gong@nxp.com>
11
12description: |
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
25properties:
26  compatible:
27    enum:
28      - nxp,pca9450a
29      - nxp,pca9450b
30      - nxp,pca9450c
31      - nxp,pca9451a
32
33  reg:
34    maxItems: 1
35
36  interrupts:
37    maxItems: 1
38
39  regulators:
40    type: object
41    description: |
42      list of regulators provided by this controller
43
44    patternProperties:
45      "^LDO[1-5]$":
46        type: object
47        $ref: regulator.yaml#
48        description:
49          Properties for single LDO regulator.
50
51        unevaluatedProperties: false
52
53      "^BUCK[1-6]$":
54        type: object
55        $ref: regulator.yaml#
56        description:
57          Properties for single BUCK regulator.
58
59        properties:
60          nxp,dvs-run-voltage:
61            $ref: /schemas/types.yaml#/definitions/uint32
62            minimum: 600000
63            maximum: 2187500
64            description:
65              PMIC default "RUN" state voltage in uV. Only Buck1~3 have such
66              dvs(dynamic voltage scaling) property.
67
68          nxp,dvs-standby-voltage:
69            $ref: /schemas/types.yaml#/definitions/uint32
70            minimum: 600000
71            maximum: 2187500
72            description:
73              PMIC default "STANDBY" state voltage in uV. Only Buck1~3 have such
74              dvs(dynamic voltage scaling) property.
75
76        unevaluatedProperties: false
77
78    additionalProperties: false
79
80  sd-vsel-gpios:
81    description: GPIO that is used to switch LDO5 between being configured by
82      LDO5CTRL_L or LDO5CTRL_H register. Use this if the SD_VSEL signal is
83      connected to a host GPIO.
84
85  nxp,i2c-lt-enable:
86    type: boolean
87    description:
88      Indicates that the I2C Level Translator is used.
89
90  nxp,wdog_b-warm-reset:
91    type: boolean
92    description:
93      When WDOG_B signal is asserted a warm reset will be done instead of cold
94      reset.
95
96required:
97  - compatible
98  - reg
99  - regulators
100
101additionalProperties: false
102
103examples:
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    };
196