xref: /openbmc/linux/Documentation/devicetree/bindings/regulator/ltc3589.txt (revision e5451c8f8330e03ad3cfa16048b4daf961af434f)
1*a3cd1de4SPhilipp ZabelLinear Technology LTC3589, LTC3589-1, and LTC3589-2 8-output regulators
2*a3cd1de4SPhilipp Zabel
3*a3cd1de4SPhilipp ZabelRequired properties:
4*a3cd1de4SPhilipp Zabel- compatible: "lltc,ltc3589", "lltc,ltc3589-1" or "lltc,ltc3589-2"
5*a3cd1de4SPhilipp Zabel- reg: I2C slave address
6*a3cd1de4SPhilipp Zabel
7*a3cd1de4SPhilipp ZabelRequired child node:
8*a3cd1de4SPhilipp Zabel- regulators: Contains eight regulator child nodes sw1, sw2, sw3, bb-out,
9*a3cd1de4SPhilipp Zabel  ldo1, ldo2, ldo3, and ldo4, specifying the initialization data as
10*a3cd1de4SPhilipp Zabel  documented in Documentation/devicetree/bindings/regulator/regulator.txt.
11*a3cd1de4SPhilipp Zabel
12*a3cd1de4SPhilipp ZabelEach regulator is defined using the standard binding for regulators. The
13*a3cd1de4SPhilipp Zabelnodes for sw1, sw2, sw3, bb-out, ldo1, and ldo2 additionally need to specify
14*a3cd1de4SPhilipp Zabelthe resistor values of their external feedback voltage dividers:
15*a3cd1de4SPhilipp Zabel
16*a3cd1de4SPhilipp ZabelRequired properties (not on ldo3, ldo4):
17*a3cd1de4SPhilipp Zabel- lltc,fb-voltage-divider: An array of two integers containing the resistor
18*a3cd1de4SPhilipp Zabel  values R1 and R2 of the feedback voltage divider in ohms.
19*a3cd1de4SPhilipp Zabel
20*a3cd1de4SPhilipp ZabelRegulators sw1, sw2, sw3, and ldo2 can regulate the feedback reference from
21*a3cd1de4SPhilipp Zabel0.3625 V to 0.75 V in 12.5 mV steps. The output voltage thus ranges between
22*a3cd1de4SPhilipp Zabel0.3625 * (1 + R1/R2) V and 0.75 * (1 + R1/R2) V. Regulators bb-out and ldo1
23*a3cd1de4SPhilipp Zabelhave a fixed 0.8 V reference and thus output 0.8 * (1 + R1/R2) V. The ldo3
24*a3cd1de4SPhilipp Zabelregulator is fixed to 1.8 V on LTC3589 and to 2.8 V on LTC3589-1,2. The ldo4
25*a3cd1de4SPhilipp Zabelregulator can output between 1.8 V and 3.3 V on LTC3589 and between 1.2 V
26*a3cd1de4SPhilipp Zabeland 3.2 V on LTC3589-1,2 in four steps. The ldo1 standby regulator can not
27*a3cd1de4SPhilipp Zabelbe disabled and thus should have the regulator-always-on property set.
28*a3cd1de4SPhilipp Zabel
29*a3cd1de4SPhilipp ZabelExample:
30*a3cd1de4SPhilipp Zabel
31*a3cd1de4SPhilipp Zabel	ltc3589: pmic@34 {
32*a3cd1de4SPhilipp Zabel		compatible = "lltc,ltc3589-1";
33*a3cd1de4SPhilipp Zabel		reg = <0x34>;
34*a3cd1de4SPhilipp Zabel
35*a3cd1de4SPhilipp Zabel		regulators {
36*a3cd1de4SPhilipp Zabel			sw1_reg: sw1 {
37*a3cd1de4SPhilipp Zabel				regulator-min-microvolt = <591930>;
38*a3cd1de4SPhilipp Zabel				regulator-max-microvolt = <1224671>;
39*a3cd1de4SPhilipp Zabel				lltc,fb-voltage-divider = <100000 158000>;
40*a3cd1de4SPhilipp Zabel				regulator-ramp-delay = <7000>;
41*a3cd1de4SPhilipp Zabel				regulator-boot-on;
42*a3cd1de4SPhilipp Zabel				regulator-always-on;
43*a3cd1de4SPhilipp Zabel			};
44*a3cd1de4SPhilipp Zabel
45*a3cd1de4SPhilipp Zabel			sw2_reg: sw2 {
46*a3cd1de4SPhilipp Zabel				regulator-min-microvolt = <704123>;
47*a3cd1de4SPhilipp Zabel				regulator-max-microvolt = <1456803>;
48*a3cd1de4SPhilipp Zabel				lltc,fb-voltage-divider = <180000 191000>;
49*a3cd1de4SPhilipp Zabel				regulator-ramp-delay = <7000>;
50*a3cd1de4SPhilipp Zabel				regulator-boot-on;
51*a3cd1de4SPhilipp Zabel				regulator-always-on;
52*a3cd1de4SPhilipp Zabel			};
53*a3cd1de4SPhilipp Zabel
54*a3cd1de4SPhilipp Zabel			sw3_reg: sw3 {
55*a3cd1de4SPhilipp Zabel				regulator-min-microvolt = <1341250>;
56*a3cd1de4SPhilipp Zabel				regulator-max-microvolt = <2775000>;
57*a3cd1de4SPhilipp Zabel				lltc,fb-voltage-divider = <270000 100000>;
58*a3cd1de4SPhilipp Zabel				regulator-ramp-delay = <7000>;
59*a3cd1de4SPhilipp Zabel				regulator-boot-on;
60*a3cd1de4SPhilipp Zabel				regulator-always-on;
61*a3cd1de4SPhilipp Zabel			};
62*a3cd1de4SPhilipp Zabel
63*a3cd1de4SPhilipp Zabel			bb_out_reg: bb-out {
64*a3cd1de4SPhilipp Zabel				regulator-min-microvolt = <3387341>;
65*a3cd1de4SPhilipp Zabel				regulator-max-microvolt = <3387341>;
66*a3cd1de4SPhilipp Zabel				lltc,fb-voltage-divider = <511000 158000>;
67*a3cd1de4SPhilipp Zabel				regulator-boot-on;
68*a3cd1de4SPhilipp Zabel				regulator-always-on;
69*a3cd1de4SPhilipp Zabel			};
70*a3cd1de4SPhilipp Zabel
71*a3cd1de4SPhilipp Zabel			ldo1_reg: ldo1 {
72*a3cd1de4SPhilipp Zabel				regulator-min-microvolt = <1306329>;
73*a3cd1de4SPhilipp Zabel				regulator-max-microvolt = <1306329>;
74*a3cd1de4SPhilipp Zabel				lltc,fb-voltage-divider = <100000 158000>;
75*a3cd1de4SPhilipp Zabel				regulator-boot-on;
76*a3cd1de4SPhilipp Zabel				regulator-always-on;
77*a3cd1de4SPhilipp Zabel			};
78*a3cd1de4SPhilipp Zabel
79*a3cd1de4SPhilipp Zabel			ldo2_reg: ldo2 {
80*a3cd1de4SPhilipp Zabel				regulator-min-microvolt = <704123>;
81*a3cd1de4SPhilipp Zabel				regulator-max-microvolt = <1456806>;
82*a3cd1de4SPhilipp Zabel				lltc,fb-voltage-divider = <180000 191000>;
83*a3cd1de4SPhilipp Zabel				regulator-ramp-delay = <7000>;
84*a3cd1de4SPhilipp Zabel				regulator-boot-on;
85*a3cd1de4SPhilipp Zabel				regulator-always-on;
86*a3cd1de4SPhilipp Zabel			};
87*a3cd1de4SPhilipp Zabel
88*a3cd1de4SPhilipp Zabel			ldo3_reg: ldo3 {
89*a3cd1de4SPhilipp Zabel				regulator-min-microvolt = <2800000>;
90*a3cd1de4SPhilipp Zabel				regulator-max-microvolt = <2800000>;
91*a3cd1de4SPhilipp Zabel				regulator-boot-on;
92*a3cd1de4SPhilipp Zabel			};
93*a3cd1de4SPhilipp Zabel
94*a3cd1de4SPhilipp Zabel			ldo4_reg: ldo4 {
95*a3cd1de4SPhilipp Zabel				regulator-min-microvolt = <1200000>;
96*a3cd1de4SPhilipp Zabel				regulator-max-microvolt = <3200000>;
97*a3cd1de4SPhilipp Zabel			};
98*a3cd1de4SPhilipp Zabel		};
99*a3cd1de4SPhilipp Zabel	};
100