blob: 3d469b8e9774841163f4e9366ded26d0120dd87e [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
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 unevaluatedProperties: false
51
52 "^BUCK[1-6]$":
53 type: object
54 $ref: regulator.yaml#
55 description:
56 Properties for single BUCK regulator.
57
58 properties:
59 nxp,dvs-run-voltage:
60 $ref: /schemas/types.yaml#/definitions/uint32
61 minimum: 600000
62 maximum: 2187500
63 description:
64 PMIC default "RUN" state voltage in uV. Only Buck1~3 have such
65 dvs(dynamic voltage scaling) property.
66
67 nxp,dvs-standby-voltage:
68 $ref: /schemas/types.yaml#/definitions/uint32
69 minimum: 600000
70 maximum: 2187500
71 description:
72 PMIC default "STANDBY" state voltage in uV. Only Buck1~3 have such
73 dvs(dynamic voltage scaling) property.
74
75 unevaluatedProperties: false
76
77 additionalProperties: false
78
79 sd-vsel-gpios:
80 description: GPIO that is used to switch LDO5 between being configured by
81 LDO5CTRL_L or LDO5CTRL_H register. Use this if the SD_VSEL signal is
82 connected to a host GPIO.
83
84 nxp,i2c-lt-enable:
85 type: boolean
86 description:
87 Indicates that the I2C Level Translator is used.
88
89 nxp,wdog_b-warm-reset:
90 type: boolean
91 description:
92 When WDOG_B signal is asserted a warm reset will be done instead of cold
93 reset.
94
95required:
96 - compatible
97 - reg
98 - interrupts
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 };