-
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.
Merge remote-tracking branch 'regulator/topic/lp872x' into regulator-…
…next
- Loading branch information
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