18c2ecf20Sopenharmony_ciBinding for TI/National Semiconductor LP872x Driver
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci  - compatible: "ti,lp8720" or "ti,lp8725"
58c2ecf20Sopenharmony_ci  - reg: I2C slave address. 0x7d = LP8720, 0x7a = LP8725
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciOptional properties:
88c2ecf20Sopenharmony_ci  - ti,general-config: the value of LP872X_GENERAL_CFG register (u8)
98c2ecf20Sopenharmony_ci    (LP8720)
108c2ecf20Sopenharmony_ci    bit[2]: BUCK output voltage control by external DVS pin or register
118c2ecf20Sopenharmony_ci            1 = external pin, 0 = bit7 of register 08h
128c2ecf20Sopenharmony_ci    bit[1]: sleep control by external DVS pin or register
138c2ecf20Sopenharmony_ci            1 = external pin, 0 = bit6 of register 08h
148c2ecf20Sopenharmony_ci    bit[0]: time step unit(usec). 1 = 25, 0 = 50
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci    (LP8725)
178c2ecf20Sopenharmony_ci    bit[7:6]: time step unit(usec). 00 = 32, 01 = 64, 10 = 128, 11 = 256
188c2ecf20Sopenharmony_ci    bit[4]:   BUCK2 enable control. 1 = enable, 0 = disable
198c2ecf20Sopenharmony_ci    bit[3]:   BUCK2 output voltage register address. 1 = 0Ah, 0 = 0Bh
208c2ecf20Sopenharmony_ci    bit[2]:   BUCK1 output voltage control by external DVS pin or register
218c2ecf20Sopenharmony_ci              1 = register 08h, 0 = DVS
228c2ecf20Sopenharmony_ci    bit[1]:   LDO sleep control. 1 = sleep mode, 0 = normal
238c2ecf20Sopenharmony_ci    bit[0]:   BUCK1 enable control, 1 = enable, 0 = disable
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci    For more details, please see the datasheet.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci  - ti,update-config: define it when LP872X_GENERAL_CFG register should be set
288c2ecf20Sopenharmony_ci  - ti,dvs-gpio: GPIO specifier for external DVS pin control of LP872x devices.
298c2ecf20Sopenharmony_ci  - ti,dvs-vsel: DVS selector. 0 = SEL_V1, 1 = SEL_V2.
308c2ecf20Sopenharmony_ci  - ti,dvs-state: initial DVS pin state. 0 = DVS_LOW, 1 = DVS_HIGH.
318c2ecf20Sopenharmony_ci  - enable-gpios: GPIO specifier for EN pin control of LP872x devices.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  Sub nodes for regulator_init_data
348c2ecf20Sopenharmony_ci    LP8720 has maximum 6 nodes. (child name: ldo1 ~ 5 and buck)
358c2ecf20Sopenharmony_ci    LP8725 has maximum 9 nodes. (child name: ldo1 ~ 5, lilo1,2 and buck1,2)
368c2ecf20Sopenharmony_ci    For more details, please see the following binding document.
378c2ecf20Sopenharmony_ci    (Documentation/devicetree/bindings/regulator/regulator.txt)
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ciDatasheet
408c2ecf20Sopenharmony_ci  - LP8720: https://www.ti.com/lit/ds/symlink/lp8720.pdf
418c2ecf20Sopenharmony_ci  - LP8725: https://www.ti.com/lit/ds/symlink/lp8725.pdf
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ciExample 1) LP8720
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_cilp8720@7d {
468c2ecf20Sopenharmony_ci	compatible = "ti,lp8720";
478c2ecf20Sopenharmony_ci	reg = <0x7d>;
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci	/* external DVS pin used, timestep is 25usec */
508c2ecf20Sopenharmony_ci	ti,general-config = /bits/ 8 <0x03>;
518c2ecf20Sopenharmony_ci	ti,update-config;
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci	/*
548c2ecf20Sopenharmony_ci	 * The dvs-gpio depends on the processor environment.
558c2ecf20Sopenharmony_ci	 * For example, following GPIO specifier means GPIO134 in OMAP4.
568c2ecf20Sopenharmony_ci	 */
578c2ecf20Sopenharmony_ci	ti,dvs-gpio = <&gpio5 6 0>;
588c2ecf20Sopenharmony_ci	ti,dvs-vsel = /bits/ 8 <1>;		/* SEL_V2 */
598c2ecf20Sopenharmony_ci	ti,dvs-state = /bits/ 8 <1>;		/* DVS_HIGH */
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci	vaf: ldo1 {
628c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1200000>;
638c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
648c2ecf20Sopenharmony_ci	};
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci	vmmc: ldo2 {
678c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1200000>;
688c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
698c2ecf20Sopenharmony_ci	};
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci	vcam_io: ldo3 {
728c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1200000>;
738c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
748c2ecf20Sopenharmony_ci		regulator-boot-on;
758c2ecf20Sopenharmony_ci	};
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci	vcam_core: ldo4 {
788c2ecf20Sopenharmony_ci		regulator-min-microvolt = <800000>;
798c2ecf20Sopenharmony_ci		regulator-max-microvolt = <2850000>;
808c2ecf20Sopenharmony_ci		regulator-boot-on;
818c2ecf20Sopenharmony_ci	};
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci	vcam: ldo5 {
848c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1200000>;
858c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
868c2ecf20Sopenharmony_ci	};
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci	vcc: buck {
898c2ecf20Sopenharmony_ci		regulator-name = "VBUCK";
908c2ecf20Sopenharmony_ci		regulator-min-microvolt = <800000>;
918c2ecf20Sopenharmony_ci		regulator-max-microvolt = <2300000>;
928c2ecf20Sopenharmony_ci	};
938c2ecf20Sopenharmony_ci};
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciExample 2) LP8725
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_cilp8725@7a {
988c2ecf20Sopenharmony_ci	compatible = "ti,lp8725";
998c2ecf20Sopenharmony_ci	reg = <0x7a>;
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci	/* Enable BUCK1,2, no DVS, normal LDO mode, timestep is 256usec */
1028c2ecf20Sopenharmony_ci	ti,general-config = /bits/ 8 <0xdd>;
1038c2ecf20Sopenharmony_ci	ti,update-config;
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci	vcam_io: ldo1 {
1068c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1200000>;
1078c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
1088c2ecf20Sopenharmony_ci	};
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci	vcam_core: ldo2 {
1118c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1200000>;
1128c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
1138c2ecf20Sopenharmony_ci	};
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ci	vcam: ldo3 {
1168c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1200000>;
1178c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
1188c2ecf20Sopenharmony_ci	};
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ci	vcmmb_io: ldo4 {
1218c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1200000>;
1228c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
1238c2ecf20Sopenharmony_ci		regulator-boot-on;
1248c2ecf20Sopenharmony_ci	};
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci	vcmmb_core: ldo5 {
1278c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1200000>;
1288c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
1298c2ecf20Sopenharmony_ci		regulator-boot-on;
1308c2ecf20Sopenharmony_ci	};
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ci	vaux1: lilo1 {
1338c2ecf20Sopenharmony_ci		regulator-name = "VAUX1";
1348c2ecf20Sopenharmony_ci		regulator-min-microvolt = <800000>;
1358c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
1368c2ecf20Sopenharmony_ci	};
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci	vaux2: lilo2 {
1398c2ecf20Sopenharmony_ci		regulator-name = "VAUX2";
1408c2ecf20Sopenharmony_ci		regulator-min-microvolt = <800000>;
1418c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
1428c2ecf20Sopenharmony_ci	};
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ci	vcc1: buck1 {
1458c2ecf20Sopenharmony_ci		regulator-name = "VBUCK1";
1468c2ecf20Sopenharmony_ci		regulator-min-microvolt = <800000>;
1478c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3000000>;
1488c2ecf20Sopenharmony_ci		regulator-min-microamp  = <460000>;
1498c2ecf20Sopenharmony_ci		regulator-max-microamp  = <1370000>;
1508c2ecf20Sopenharmony_ci		regulator-boot-on;
1518c2ecf20Sopenharmony_ci	};
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ci	vcc2: buck2 {
1548c2ecf20Sopenharmony_ci		regulator-name = "VBUCK2";
1558c2ecf20Sopenharmony_ci		regulator-min-microvolt = <800000>;
1568c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3000000>;
1578c2ecf20Sopenharmony_ci		regulator-min-microamp  = <460000>;
1588c2ecf20Sopenharmony_ci		regulator-max-microamp  = <1370000>;
1598c2ecf20Sopenharmony_ci		regulator-boot-on;
1608c2ecf20Sopenharmony_ci	};
1618c2ecf20Sopenharmony_ci};
162