blob: ab895cd1cac1a92c9ab61da5017c0b19e5f12073 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001Binding for TI/National Semiconductor LP872x Driver
2
3Required properties:
4 - compatible: "ti,lp8720" or "ti,lp8725"
5 - reg: I2C slave address. 0x7d = LP8720, 0x7a = LP8725
6
7Optional 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
39Datasheet
40 - LP8720: https://www.ti.com/lit/ds/symlink/lp8720.pdf
41 - LP8725: https://www.ti.com/lit/ds/symlink/lp8725.pdf
42
43Example 1) LP8720
44
45lp8720@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
95Example 2) LP8725
96
97lp8725@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};