GNU Linux-libre 4.19.286-gnu1
[releases.git] / Documentation / devicetree / bindings / regulator / lp872x.txt
1 Binding for TI/National Semiconductor LP872x Driver
2
3 Required properties:
4   - compatible: "ti,lp8720" or "ti,lp8725"
5   - reg: I2C slave address. 0x7d = LP8720, 0x7a = LP8725
6
7 Optional properties:
8   - ti,general-config: the value of LP872X_GENERAL_CFG register (u8)
9     (LP8720)
10     bit[2]: BUCK output voltage control by external DVS pin or register
11             1 = external pin, 0 = bit7 of register 08h
12     bit[1]: sleep control by external DVS pin or register
13             1 = external pin, 0 = bit6 of register 08h
14     bit[0]: time step unit(usec). 1 = 25, 0 = 50
15
16     (LP8725)
17     bit[7:6]: time step unit(usec). 00 = 32, 01 = 64, 10 = 128, 11 = 256
18     bit[4]:   BUCK2 enable control. 1 = enable, 0 = disable
19     bit[3]:   BUCK2 output voltage register address. 1 = 0Ah, 0 = 0Bh
20     bit[2]:   BUCK1 output voltage control by external DVS pin or register
21               1 = register 08h, 0 = DVS
22     bit[1]:   LDO sleep control. 1 = sleep mode, 0 = normal
23     bit[0]:   BUCK1 enable control, 1 = enable, 0 = disable
24
25     For more details, please see the datasheet.
26
27   - ti,update-config: define it when LP872X_GENERAL_CFG register should be set
28   - ti,dvs-gpio: GPIO specifier for external DVS pin control of LP872x devices.
29   - ti,dvs-vsel: DVS selector. 0 = SEL_V1, 1 = SEL_V2.
30   - ti,dvs-state: initial DVS pin state. 0 = DVS_LOW, 1 = DVS_HIGH.
31   - enable-gpios: GPIO specifier for EN pin control of LP872x devices.
32
33   Sub nodes for regulator_init_data
34     LP8720 has maximum 6 nodes. (child name: ldo1 ~ 5 and buck)
35     LP8725 has maximum 9 nodes. (child name: ldo1 ~ 5, lilo1,2 and buck1,2)
36     For more details, please see the following binding document.
37     (Documentation/devicetree/bindings/regulator/regulator.txt)
38
39 Datasheet
40   - LP8720: http://www.ti.com/lit/ds/symlink/lp8720.pdf
41   - LP8725: http://www.ti.com/lit/ds/symlink/lp8725.pdf
42
43 Example 1) LP8720
44
45 lp8720@7d {
46         compatible = "ti,lp8720";
47         reg = <0x7d>;
48
49         /* external DVS pin used, timestep is 25usec */
50         ti,general-config = /bits/ 8 <0x03>;
51         ti,update-config;
52
53         /*
54          * The dvs-gpio depends on the processor environment.
55          * For example, following GPIO specifier means GPIO134 in OMAP4.
56          */
57         ti,dvs-gpio = <&gpio5 6 0>;
58         ti,dvs-vsel = /bits/ 8 <1>;             /* SEL_V2 */
59         ti,dvs-state = /bits/ 8 <1>;            /* DVS_HIGH */
60
61         vaf: ldo1 {
62                 regulator-min-microvolt = <1200000>;
63                 regulator-max-microvolt = <3300000>;
64         };
65
66         vmmc: ldo2 {
67                 regulator-min-microvolt = <1200000>;
68                 regulator-max-microvolt = <3300000>;
69         };
70
71         vcam_io: ldo3 {
72                 regulator-min-microvolt = <1200000>;
73                 regulator-max-microvolt = <3300000>;
74                 regulator-boot-on;
75         };
76
77         vcam_core: ldo4 {
78                 regulator-min-microvolt = <800000>;
79                 regulator-max-microvolt = <2850000>;
80                 regulator-boot-on;
81         };
82
83         vcam: ldo5 {
84                 regulator-min-microvolt = <1200000>;
85                 regulator-max-microvolt = <3300000>;
86         };
87
88         vcc: buck {
89                 regulator-name = "VBUCK";
90                 regulator-min-microvolt = <800000>;
91                 regulator-max-microvolt = <2300000>;
92         };
93 };
94
95 Example 2) LP8725
96
97 lp8725@7a {
98         compatible = "ti,lp8725";
99         reg = <0x7a>;
100
101         /* Enable BUCK1,2, no DVS, normal LDO mode, timestep is 256usec */
102         ti,general-config = /bits/ 8 <0xdd>;
103         ti,update-config;
104
105         vcam_io: ldo1 {
106                 regulator-min-microvolt = <1200000>;
107                 regulator-max-microvolt = <3300000>;
108         };
109
110         vcam_core: ldo2 {
111                 regulator-min-microvolt = <1200000>;
112                 regulator-max-microvolt = <3300000>;
113         };
114
115         vcam: ldo3 {
116                 regulator-min-microvolt = <1200000>;
117                 regulator-max-microvolt = <3300000>;
118         };
119
120         vcmmb_io: ldo4 {
121                 regulator-min-microvolt = <1200000>;
122                 regulator-max-microvolt = <3300000>;
123                 regulator-boot-on;
124         };
125
126         vcmmb_core: ldo5 {
127                 regulator-min-microvolt = <1200000>;
128                 regulator-max-microvolt = <3300000>;
129                 regulator-boot-on;
130         };
131
132         vaux1: lilo1 {
133                 regulator-name = "VAUX1";
134                 regulator-min-microvolt = <800000>;
135                 regulator-max-microvolt = <3300000>;
136         };
137
138         vaux2: lilo2 {
139                 regulator-name = "VAUX2";
140                 regulator-min-microvolt = <800000>;
141                 regulator-max-microvolt = <3300000>;
142         };
143
144         vcc1: buck1 {
145                 regulator-name = "VBUCK1";
146                 regulator-min-microvolt = <800000>;
147                 regulator-max-microvolt = <3000000>;
148                 regulator-min-microamp  = <460000>;
149                 regulator-max-microamp  = <1370000>;
150                 regulator-boot-on;
151         };
152
153         vcc2: buck2 {
154                 regulator-name = "VBUCK2";
155                 regulator-min-microvolt = <800000>;
156                 regulator-max-microvolt = <3000000>;
157                 regulator-min-microamp  = <460000>;
158                 regulator-max-microamp  = <1370000>;
159                 regulator-boot-on;
160         };
161 };