Commit | Line | Data |
---|---|---|
00fd6e61 KM |
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 | ||
32 | Sub nodes for regulator_init_data | |
33 | LP8720 has maximum 6 nodes. (child name: ldo1 ~ 5 and buck) | |
34 | LP8725 has maximum 9 nodes. (child name: ldo1 ~ 5, lilo1,2 and buck1,2) | |
35 | For more details, please see the following binding document. | |
36 | (Documentation/devicetree/bindings/regulator/regulator.txt) | |
37 | ||
38 | Datasheet | |
39 | - LP8720: http://www.ti.com/lit/ds/symlink/lp8720.pdf | |
40 | - LP8725: http://www.ti.com/lit/ds/symlink/lp8725.pdf | |
41 | ||
42 | Example 1) LP8720 | |
43 | ||
44 | lp8720@7d { | |
45 | compatible = "ti,lp8720"; | |
46 | reg = <0x7d>; | |
47 | ||
48 | /* external DVS pin used, timestep is 25usec */ | |
49 | ti,general-config = /bits/ 8 <0x03>; | |
50 | ti,update-config; | |
51 | ||
52 | /* | |
53 | * The dvs-gpio depends on the processor environment. | |
54 | * For example, following GPIO specifier means GPIO134 in OMAP4. | |
55 | */ | |
56 | ti,dvs-gpio = <&gpio5 6 0>; | |
57 | ti,dvs-vsel = /bits/ 8 <1>; /* SEL_V2 */ | |
58 | ti,dvs-state = /bits/ 8 <1>; /* DVS_HIGH */ | |
59 | ||
60 | vaf: ldo1 { | |
61 | regulator-min-microvolt = <1200000>; | |
62 | regulator-max-microvolt = <3300000>; | |
63 | }; | |
64 | ||
65 | vmmc: ldo2 { | |
66 | regulator-min-microvolt = <1200000>; | |
67 | regulator-max-microvolt = <3300000>; | |
68 | }; | |
69 | ||
70 | vcam_io: ldo3 { | |
71 | regulator-min-microvolt = <1200000>; | |
72 | regulator-max-microvolt = <3300000>; | |
73 | regulator-boot-on; | |
74 | }; | |
75 | ||
76 | vcam_core: ldo4 { | |
77 | regulator-min-microvolt = <800000>; | |
78 | regulator-max-microvolt = <2850000>; | |
79 | regulator-boot-on; | |
80 | }; | |
81 | ||
82 | vcam: ldo5 { | |
83 | regulator-min-microvolt = <1200000>; | |
84 | regulator-max-microvolt = <3300000>; | |
85 | }; | |
86 | ||
87 | vcc: buck { | |
88 | regulator-name = "VBUCK"; | |
89 | regulator-min-microvolt = <800000>; | |
90 | regulator-max-microvolt = <2300000>; | |
91 | }; | |
92 | }; | |
93 | ||
94 | Example 2) LP8725 | |
95 | ||
96 | lp8725@7a { | |
97 | compatible = "ti,lp8725"; | |
98 | reg = <0x7a>; | |
99 | ||
100 | /* Enable BUCK1,2, no DVS, normal LDO mode, timestep is 256usec */ | |
101 | ti,general-config = /bits/ 8 <0xdd>; | |
102 | ti,update-config; | |
103 | ||
104 | vcam_io: ldo1 { | |
105 | regulator-min-microvolt = <1200000>; | |
106 | regulator-max-microvolt = <3300000>; | |
107 | }; | |
108 | ||
109 | vcam_core: ldo2 { | |
110 | regulator-min-microvolt = <1200000>; | |
111 | regulator-max-microvolt = <3300000>; | |
112 | }; | |
113 | ||
114 | vcam: ldo3 { | |
115 | regulator-min-microvolt = <1200000>; | |
116 | regulator-max-microvolt = <3300000>; | |
117 | }; | |
118 | ||
119 | vcmmb_io: ldo4 { | |
120 | regulator-min-microvolt = <1200000>; | |
121 | regulator-max-microvolt = <3300000>; | |
122 | regulator-boot-on; | |
123 | }; | |
124 | ||
125 | vcmmb_core: ldo5 { | |
126 | regulator-min-microvolt = <1200000>; | |
127 | regulator-max-microvolt = <3300000>; | |
128 | regulator-boot-on; | |
129 | }; | |
130 | ||
131 | vaux1: lilo1 { | |
132 | regulator-name = "VAUX1"; | |
133 | regulator-min-microvolt = <800000>; | |
134 | regulator-max-microvolt = <3300000>; | |
135 | }; | |
136 | ||
137 | vaux2: lilo2 { | |
138 | regulator-name = "VAUX2"; | |
139 | regulator-min-microvolt = <800000>; | |
140 | regulator-max-microvolt = <3300000>; | |
141 | }; | |
142 | ||
143 | vcc1: buck1 { | |
144 | regulator-name = "VBUCK1"; | |
145 | regulator-min-microvolt = <800000>; | |
146 | regulator-max-microvolt = <3000000>; | |
147 | regulator-min-microamp = <460000>; | |
148 | regulator-max-microamp = <1370000>; | |
149 | regulator-boot-on; | |
150 | }; | |
151 | ||
152 | vcc2: buck2 { | |
153 | regulator-name = "VBUCK2"; | |
154 | regulator-min-microvolt = <800000>; | |
155 | regulator-max-microvolt = <3000000>; | |
156 | regulator-min-microamp = <460000>; | |
157 | regulator-max-microamp = <1370000>; | |
158 | regulator-boot-on; | |
159 | }; | |
160 | }; |