Kim, Milo | 00fd6e6 | 2013-05-20 12:36:07 +0000 | [diff] [blame] | 1 | Binding for TI/National Semiconductor LP872x Driver |
| 2 | |
| 3 | Required properties: |
| 4 | - compatible: "ti,lp8720" or "ti,lp8725" |
| 5 | - reg: I2C slave address. 0x7d = LP8720, 0x7a = LP8725 |
| 6 | |
| 7 | Optional 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 | |
| 32 | Sub nodes for regulator_init_data |
| 33 | LP8720 has maximum 6 nodes. (child name: ldo1 ~ 5 and buck) |
| 34 | LP8725 has maximum 9 nodes. (child name: ldo1 ~ 5, lilo1,2 and buck1,2) |
| 35 | For more details, please see the following binding document. |
| 36 | (Documentation/devicetree/bindings/regulator/regulator.txt) |
| 37 | |
| 38 | Datasheet |
| 39 | - LP8720: http://www.ti.com/lit/ds/symlink/lp8720.pdf |
| 40 | - LP8725: http://www.ti.com/lit/ds/symlink/lp8725.pdf |
| 41 | |
| 42 | Example 1) LP8720 |
| 43 | |
| 44 | lp8720@7d { |
| 45 | compatible = "ti,lp8720"; |
| 46 | reg = <0x7d>; |
| 47 | |
| 48 | /* external DVS pin used, timestep is 25usec */ |
| 49 | ti,general-config = /bits/ 8 <0x03>; |
| 50 | ti,update-config; |
| 51 | |
| 52 | /* |
| 53 | * The dvs-gpio depends on the processor environment. |
| 54 | * For example, following GPIO specifier means GPIO134 in OMAP4. |
| 55 | */ |
| 56 | ti,dvs-gpio = <&gpio5 6 0>; |
| 57 | ti,dvs-vsel = /bits/ 8 <1>; /* SEL_V2 */ |
| 58 | ti,dvs-state = /bits/ 8 <1>; /* DVS_HIGH */ |
| 59 | |
| 60 | vaf: ldo1 { |
| 61 | regulator-min-microvolt = <1200000>; |
| 62 | regulator-max-microvolt = <3300000>; |
| 63 | }; |
| 64 | |
| 65 | vmmc: ldo2 { |
| 66 | regulator-min-microvolt = <1200000>; |
| 67 | regulator-max-microvolt = <3300000>; |
| 68 | }; |
| 69 | |
| 70 | vcam_io: ldo3 { |
| 71 | regulator-min-microvolt = <1200000>; |
| 72 | regulator-max-microvolt = <3300000>; |
| 73 | regulator-boot-on; |
| 74 | }; |
| 75 | |
| 76 | vcam_core: ldo4 { |
| 77 | regulator-min-microvolt = <800000>; |
| 78 | regulator-max-microvolt = <2850000>; |
| 79 | regulator-boot-on; |
| 80 | }; |
| 81 | |
| 82 | vcam: ldo5 { |
| 83 | regulator-min-microvolt = <1200000>; |
| 84 | regulator-max-microvolt = <3300000>; |
| 85 | }; |
| 86 | |
| 87 | vcc: buck { |
| 88 | regulator-name = "VBUCK"; |
| 89 | regulator-min-microvolt = <800000>; |
| 90 | regulator-max-microvolt = <2300000>; |
| 91 | }; |
| 92 | }; |
| 93 | |
| 94 | Example 2) LP8725 |
| 95 | |
| 96 | lp8725@7a { |
| 97 | compatible = "ti,lp8725"; |
| 98 | reg = <0x7a>; |
| 99 | |
| 100 | /* Enable BUCK1,2, no DVS, normal LDO mode, timestep is 256usec */ |
| 101 | ti,general-config = /bits/ 8 <0xdd>; |
| 102 | ti,update-config; |
| 103 | |
| 104 | vcam_io: ldo1 { |
| 105 | regulator-min-microvolt = <1200000>; |
| 106 | regulator-max-microvolt = <3300000>; |
| 107 | }; |
| 108 | |
| 109 | vcam_core: ldo2 { |
| 110 | regulator-min-microvolt = <1200000>; |
| 111 | regulator-max-microvolt = <3300000>; |
| 112 | }; |
| 113 | |
| 114 | vcam: ldo3 { |
| 115 | regulator-min-microvolt = <1200000>; |
| 116 | regulator-max-microvolt = <3300000>; |
| 117 | }; |
| 118 | |
| 119 | vcmmb_io: ldo4 { |
| 120 | regulator-min-microvolt = <1200000>; |
| 121 | regulator-max-microvolt = <3300000>; |
| 122 | regulator-boot-on; |
| 123 | }; |
| 124 | |
| 125 | vcmmb_core: ldo5 { |
| 126 | regulator-min-microvolt = <1200000>; |
| 127 | regulator-max-microvolt = <3300000>; |
| 128 | regulator-boot-on; |
| 129 | }; |
| 130 | |
| 131 | vaux1: lilo1 { |
| 132 | regulator-name = "VAUX1"; |
| 133 | regulator-min-microvolt = <800000>; |
| 134 | regulator-max-microvolt = <3300000>; |
| 135 | }; |
| 136 | |
| 137 | vaux2: lilo2 { |
| 138 | regulator-name = "VAUX2"; |
| 139 | regulator-min-microvolt = <800000>; |
| 140 | regulator-max-microvolt = <3300000>; |
| 141 | }; |
| 142 | |
| 143 | vcc1: buck1 { |
| 144 | regulator-name = "VBUCK1"; |
| 145 | regulator-min-microvolt = <800000>; |
| 146 | regulator-max-microvolt = <3000000>; |
| 147 | regulator-min-microamp = <460000>; |
| 148 | regulator-max-microamp = <1370000>; |
| 149 | regulator-boot-on; |
| 150 | }; |
| 151 | |
| 152 | vcc2: buck2 { |
| 153 | regulator-name = "VBUCK2"; |
| 154 | regulator-min-microvolt = <800000>; |
| 155 | regulator-max-microvolt = <3000000>; |
| 156 | regulator-min-microamp = <460000>; |
| 157 | regulator-max-microamp = <1370000>; |
| 158 | regulator-boot-on; |
| 159 | }; |
| 160 | }; |