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