mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-26 14:05:46 +07:00
00fd6e6153
This patch enables the DT structure of the LP8720 and LP8725 device. The LP872x platform data is generated when the device tree is configured. Even if the platform data is NULL, it is no issue at all because the driver is configured with the default mode. Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
161 lines
4.2 KiB
Plaintext
161 lines
4.2 KiB
Plaintext
Binding for TI/National Semiconductor LP872x Driver
|
|
|
|
Required properties:
|
|
- compatible: "ti,lp8720" or "ti,lp8725"
|
|
- reg: I2C slave address. 0x7d = LP8720, 0x7a = LP8725
|
|
|
|
Optional properties:
|
|
- ti,general-config: the value of LP872X_GENERAL_CFG register (u8)
|
|
(LP8720)
|
|
bit[2]: BUCK output voltage control by external DVS pin or register
|
|
1 = external pin, 0 = bit7 of register 08h
|
|
bit[1]: sleep control by external DVS pin or register
|
|
1 = external pin, 0 = bit6 of register 08h
|
|
bit[0]: time step unit(usec). 1 = 25, 0 = 50
|
|
|
|
(LP8725)
|
|
bit[7:6]: time step unit(usec). 00 = 32, 01 = 64, 10 = 128, 11 = 256
|
|
bit[4]: BUCK2 enable control. 1 = enable, 0 = disable
|
|
bit[3]: BUCK2 output voltage register address. 1 = 0Ah, 0 = 0Bh
|
|
bit[2]: BUCK1 output voltage control by external DVS pin or register
|
|
1 = register 08h, 0 = DVS
|
|
bit[1]: LDO sleep control. 1 = sleep mode, 0 = normal
|
|
bit[0]: BUCK1 enable control, 1 = enable, 0 = disable
|
|
|
|
For more details, please see the datasheet.
|
|
|
|
- ti,update-config: define it when LP872X_GENERAL_CFG register should be set
|
|
- ti,dvs-gpio: GPIO specifier for external DVS pin control of LP872x devices.
|
|
- ti,dvs-vsel: DVS selector. 0 = SEL_V1, 1 = SEL_V2.
|
|
- ti,dvs-state: initial DVS pin state. 0 = DVS_LOW, 1 = DVS_HIGH.
|
|
|
|
Sub nodes for regulator_init_data
|
|
LP8720 has maximum 6 nodes. (child name: ldo1 ~ 5 and buck)
|
|
LP8725 has maximum 9 nodes. (child name: ldo1 ~ 5, lilo1,2 and buck1,2)
|
|
For more details, please see the following binding document.
|
|
(Documentation/devicetree/bindings/regulator/regulator.txt)
|
|
|
|
Datasheet
|
|
- LP8720: http://www.ti.com/lit/ds/symlink/lp8720.pdf
|
|
- LP8725: http://www.ti.com/lit/ds/symlink/lp8725.pdf
|
|
|
|
Example 1) LP8720
|
|
|
|
lp8720@7d {
|
|
compatible = "ti,lp8720";
|
|
reg = <0x7d>;
|
|
|
|
/* external DVS pin used, timestep is 25usec */
|
|
ti,general-config = /bits/ 8 <0x03>;
|
|
ti,update-config;
|
|
|
|
/*
|
|
* The dvs-gpio depends on the processor environment.
|
|
* For example, following GPIO specifier means GPIO134 in OMAP4.
|
|
*/
|
|
ti,dvs-gpio = <&gpio5 6 0>;
|
|
ti,dvs-vsel = /bits/ 8 <1>; /* SEL_V2 */
|
|
ti,dvs-state = /bits/ 8 <1>; /* DVS_HIGH */
|
|
|
|
vaf: ldo1 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
vmmc: ldo2 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
vcam_io: ldo3 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
vcam_core: ldo4 {
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <2850000>;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
vcam: ldo5 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
vcc: buck {
|
|
regulator-name = "VBUCK";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <2300000>;
|
|
};
|
|
};
|
|
|
|
Example 2) LP8725
|
|
|
|
lp8725@7a {
|
|
compatible = "ti,lp8725";
|
|
reg = <0x7a>;
|
|
|
|
/* Enable BUCK1,2, no DVS, normal LDO mode, timestep is 256usec */
|
|
ti,general-config = /bits/ 8 <0xdd>;
|
|
ti,update-config;
|
|
|
|
vcam_io: ldo1 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
vcam_core: ldo2 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
vcam: ldo3 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
vcmmb_io: ldo4 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
vcmmb_core: ldo5 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
vaux1: lilo1 {
|
|
regulator-name = "VAUX1";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
vaux2: lilo2 {
|
|
regulator-name = "VAUX2";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
vcc1: buck1 {
|
|
regulator-name = "VBUCK1";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-min-microamp = <460000>;
|
|
regulator-max-microamp = <1370000>;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
vcc2: buck2 {
|
|
regulator-name = "VBUCK2";
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-min-microamp = <460000>;
|
|
regulator-max-microamp = <1370000>;
|
|
regulator-boot-on;
|
|
};
|
|
};
|