xref: /freebsd/sys/contrib/device-tree/Bindings/regulator/pfuze100.txt (revision dd41de95a84d979615a2ef11df6850622bf6184e)
1PFUZE100 family of regulators
2
3Required properties:
4- compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000", "fsl,pfuze3001"
5- reg: I2C slave address
6
7Optional properties:
8- fsl,pfuze-support-disable-sw: Boolean, if present disable all unused switch
9  regulators to save power consumption. Attention, ensure that all important
10  regulators (e.g. DDR ref, DDR supply) has set the "regulator-always-on"
11  property. If not present, the switched regulators are always on and can't be
12  disabled. This binding is a workaround to keep backward compatibility with
13  old dtb's which rely on the fact that the switched regulators are always on
14  and don't mark them explicit as "regulator-always-on".
15- fsl,pmic-stby-poweroff: if present, configure the PMIC to shutdown all
16  power rails when PMIC_STBY_REQ line is asserted during the power off sequence.
17  Use this option if the SoC should be powered off by external power
18  management IC (PMIC) on PMIC_STBY_REQ signal.
19  As opposite to PMIC_STBY_REQ boards can implement PMIC_ON_REQ signal.
20
21Required child node:
22- regulators: This is the list of child nodes that specify the regulator
23  initialization data for defined regulators. Please refer to below doc
24  Documentation/devicetree/bindings/regulator/regulator.txt.
25
26  The valid names for regulators are:
27  --PFUZE100
28  sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6
29  --PFUZE200
30  sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6,coin
31  --PFUZE3000
32  sw1a,sw1b,sw2,sw3,swbst,vsnvs,vrefddr,vldo1,vldo2,vccsd,v33,vldo3,vldo4
33  --PFUZE3001
34  sw1,sw2,sw3,vsnvs,vldo1,vldo2,vccsd,v33,vldo3,vldo4
35
36Each regulator is defined using the standard binding for regulators.
37
38Example 1: PFUZE100
39
40	pfuze100: pmic@8 {
41		compatible = "fsl,pfuze100";
42		reg = <0x08>;
43
44		regulators {
45			sw1a_reg: sw1ab {
46				regulator-min-microvolt = <300000>;
47				regulator-max-microvolt = <1875000>;
48				regulator-boot-on;
49				regulator-always-on;
50				regulator-ramp-delay = <6250>;
51			};
52
53			sw1c_reg: sw1c {
54				regulator-min-microvolt = <300000>;
55				regulator-max-microvolt = <1875000>;
56				regulator-boot-on;
57				regulator-always-on;
58			};
59
60			sw2_reg: sw2 {
61				regulator-min-microvolt = <800000>;
62				regulator-max-microvolt = <3300000>;
63				regulator-boot-on;
64				regulator-always-on;
65			};
66
67			sw3a_reg: sw3a {
68				regulator-min-microvolt = <400000>;
69				regulator-max-microvolt = <1975000>;
70				regulator-boot-on;
71				regulator-always-on;
72			};
73
74			sw3b_reg: sw3b {
75				regulator-min-microvolt = <400000>;
76				regulator-max-microvolt = <1975000>;
77				regulator-boot-on;
78				regulator-always-on;
79			};
80
81			sw4_reg: sw4 {
82				regulator-min-microvolt = <800000>;
83				regulator-max-microvolt = <3300000>;
84			};
85
86			swbst_reg: swbst {
87				regulator-min-microvolt = <5000000>;
88				regulator-max-microvolt = <5150000>;
89			};
90
91			snvs_reg: vsnvs {
92				regulator-min-microvolt = <1000000>;
93				regulator-max-microvolt = <3000000>;
94				regulator-boot-on;
95				regulator-always-on;
96			};
97
98			vref_reg: vrefddr {
99				regulator-boot-on;
100				regulator-always-on;
101			};
102
103			vgen1_reg: vgen1 {
104				regulator-min-microvolt = <800000>;
105				regulator-max-microvolt = <1550000>;
106			};
107
108			vgen2_reg: vgen2 {
109				regulator-min-microvolt = <800000>;
110				regulator-max-microvolt = <1550000>;
111			};
112
113			vgen3_reg: vgen3 {
114				regulator-min-microvolt = <1800000>;
115				regulator-max-microvolt = <3300000>;
116			};
117
118			vgen4_reg: vgen4 {
119				regulator-min-microvolt = <1800000>;
120				regulator-max-microvolt = <3300000>;
121				regulator-always-on;
122			};
123
124			vgen5_reg: vgen5 {
125				regulator-min-microvolt = <1800000>;
126				regulator-max-microvolt = <3300000>;
127				regulator-always-on;
128			};
129
130			vgen6_reg: vgen6 {
131				regulator-min-microvolt = <1800000>;
132				regulator-max-microvolt = <3300000>;
133				regulator-always-on;
134			};
135		};
136	};
137
138
139Example 2: PFUZE200
140
141	pfuze200: pmic@8 {
142		compatible = "fsl,pfuze200";
143		reg = <0x08>;
144
145		regulators {
146			sw1a_reg: sw1ab {
147				regulator-min-microvolt = <300000>;
148				regulator-max-microvolt = <1875000>;
149				regulator-boot-on;
150				regulator-always-on;
151				regulator-ramp-delay = <6250>;
152			};
153
154			sw2_reg: sw2 {
155				regulator-min-microvolt = <800000>;
156				regulator-max-microvolt = <3300000>;
157				regulator-boot-on;
158				regulator-always-on;
159			};
160
161			sw3a_reg: sw3a {
162				regulator-min-microvolt = <400000>;
163				regulator-max-microvolt = <1975000>;
164				regulator-boot-on;
165				regulator-always-on;
166			};
167
168			sw3b_reg: sw3b {
169				regulator-min-microvolt = <400000>;
170				regulator-max-microvolt = <1975000>;
171				regulator-boot-on;
172				regulator-always-on;
173			};
174
175			swbst_reg: swbst {
176				regulator-min-microvolt = <5000000>;
177				regulator-max-microvolt = <5150000>;
178			};
179
180			snvs_reg: vsnvs {
181				regulator-min-microvolt = <1000000>;
182				regulator-max-microvolt = <3000000>;
183				regulator-boot-on;
184				regulator-always-on;
185			};
186
187			vref_reg: vrefddr {
188				regulator-boot-on;
189				regulator-always-on;
190			};
191
192			vgen1_reg: vgen1 {
193				regulator-min-microvolt = <800000>;
194				regulator-max-microvolt = <1550000>;
195			};
196
197			vgen2_reg: vgen2 {
198				regulator-min-microvolt = <800000>;
199				regulator-max-microvolt = <1550000>;
200			};
201
202			vgen3_reg: vgen3 {
203				regulator-min-microvolt = <1800000>;
204				regulator-max-microvolt = <3300000>;
205			};
206
207			vgen4_reg: vgen4 {
208				regulator-min-microvolt = <1800000>;
209				regulator-max-microvolt = <3300000>;
210				regulator-always-on;
211			};
212
213			vgen5_reg: vgen5 {
214				regulator-min-microvolt = <1800000>;
215				regulator-max-microvolt = <3300000>;
216				regulator-always-on;
217			};
218
219			vgen6_reg: vgen6 {
220				regulator-min-microvolt = <1800000>;
221				regulator-max-microvolt = <3300000>;
222				regulator-always-on;
223			};
224
225			coin_reg: coin {
226				regulator-min-microvolt = <2500000>;
227				regulator-max-microvolt = <3300000>;
228				regulator-always-on;
229			};
230		};
231	};
232
233Example 3: PFUZE3000
234
235	pfuze3000: pmic@8 {
236		compatible = "fsl,pfuze3000";
237		reg = <0x08>;
238
239		regulators {
240			sw1a_reg: sw1a {
241				regulator-min-microvolt = <700000>;
242				regulator-max-microvolt = <1475000>;
243				regulator-boot-on;
244				regulator-always-on;
245				regulator-ramp-delay = <6250>;
246			};
247			/* use sw1c_reg to align with pfuze100/pfuze200 */
248			sw1c_reg: sw1b {
249				regulator-min-microvolt = <700000>;
250				regulator-max-microvolt = <1475000>;
251				regulator-boot-on;
252				regulator-always-on;
253				regulator-ramp-delay = <6250>;
254			};
255
256			sw2_reg: sw2 {
257				regulator-min-microvolt = <2500000>;
258				regulator-max-microvolt = <3300000>;
259				regulator-boot-on;
260				regulator-always-on;
261			};
262
263			sw3a_reg: sw3 {
264				regulator-min-microvolt = <900000>;
265				regulator-max-microvolt = <1650000>;
266				regulator-boot-on;
267				regulator-always-on;
268			};
269
270			swbst_reg: swbst {
271				regulator-min-microvolt = <5000000>;
272				regulator-max-microvolt = <5150000>;
273			};
274
275			snvs_reg: vsnvs {
276				regulator-min-microvolt = <1000000>;
277				regulator-max-microvolt = <3000000>;
278				regulator-boot-on;
279				regulator-always-on;
280			};
281
282			vref_reg: vrefddr {
283				regulator-boot-on;
284				regulator-always-on;
285			};
286
287			vgen1_reg: vldo1 {
288				regulator-min-microvolt = <1800000>;
289				regulator-max-microvolt = <3300000>;
290				regulator-always-on;
291			};
292
293			vgen2_reg: vldo2 {
294				regulator-min-microvolt = <800000>;
295				regulator-max-microvolt = <1550000>;
296			};
297
298			vgen3_reg: vccsd {
299				regulator-min-microvolt = <2850000>;
300				regulator-max-microvolt = <3300000>;
301				regulator-always-on;
302			};
303
304			vgen4_reg: v33 {
305				regulator-min-microvolt = <2850000>;
306				regulator-max-microvolt = <3300000>;
307			};
308
309			vgen5_reg: vldo3 {
310				regulator-min-microvolt = <1800000>;
311				regulator-max-microvolt = <3300000>;
312				regulator-always-on;
313			};
314
315			vgen6_reg: vldo4 {
316				regulator-min-microvolt = <1800000>;
317				regulator-max-microvolt = <3300000>;
318				regulator-always-on;
319			};
320		};
321	};
322
323Example 4: PFUZE 3001
324
325	pfuze3001: pmic@8 {
326		compatible = "fsl,pfuze3001";
327		reg = <0x08>;
328
329		regulators {
330			sw1_reg: sw1 {
331				regulator-min-microvolt = <700000>;
332				regulator-max-microvolt = <3300000>;
333				regulator-boot-on;
334				regulator-always-on;
335			};
336
337			sw2_reg: sw2 {
338				regulator-min-microvolt = <1500000>;
339				regulator-max-microvolt = <3300000>;
340				regulator-boot-on;
341				regulator-always-on;
342			};
343
344			sw3_reg: sw3 {
345				regulator-min-microvolt = <900000>;
346				regulator-max-microvolt = <1650000>;
347				regulator-boot-on;
348				regulator-always-on;
349			};
350
351			snvs_reg: vsnvs {
352				regulator-min-microvolt = <1000000>;
353				regulator-max-microvolt = <3000000>;
354				regulator-boot-on;
355				regulator-always-on;
356			};
357
358			vgen1_reg: vldo1 {
359				regulator-min-microvolt = <1800000>;
360				regulator-max-microvolt = <3300000>;
361				regulator-always-on;
362			};
363
364			vgen2_reg: vldo2 {
365				regulator-min-microvolt = <800000>;
366				regulator-max-microvolt = <1550000>;
367				regulator-always-on;
368			};
369
370			vgen3_reg: vccsd {
371				regulator-min-microvolt = <2850000>;
372				regulator-max-microvolt = <3300000>;
373				regulator-always-on;
374			};
375
376			vgen4_reg: v33 {
377				regulator-min-microvolt = <2850000>;
378				regulator-max-microvolt = <3300000>;
379				regulator-always-on;
380			};
381
382			vgen5_reg: vldo3 {
383				regulator-min-microvolt = <1800000>;
384				regulator-max-microvolt = <3300000>;
385				regulator-always-on;
386			};
387
388			vgen6_reg: vldo4 {
389				regulator-min-microvolt = <1800000>;
390				regulator-max-microvolt = <3300000>;
391				regulator-always-on;
392			};
393		};
394	};
395