-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
regulator: lp872x: support the device tree feature
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>
- Loading branch information
Kim, Milo
authored and
Mark Brown
committed
May 20, 2013
1 parent
c778879
commit 00fd6e6
Showing
2 changed files
with
274 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
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; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters