1menu "Power" 2 3source "drivers/power/domain/Kconfig" 4 5source "drivers/power/fuel_gauge/Kconfig" 6 7source "drivers/power/pmic/Kconfig" 8 9source "drivers/power/regulator/Kconfig" 10 11config DM_CHARGE_DISPLAY 12 bool "Enable driver model for charge display support" 13 depends on DM 14 help 15 This adds a simple uclass for charge display. 16 17choice 18 prompt "Select Sunxi PMIC Variant" 19 depends on ARCH_SUNXI 20 default AXP209_POWER if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I 21 default AXP221_POWER if MACH_SUN6I || MACH_SUN8I_A23 || MACH_SUN8I_A33 || MACH_SUN8I_R40 22 default AXP818_POWER if MACH_SUN8I_A83T 23 default SUNXI_NO_PMIC if MACH_SUNXI_H3_H5 || MACH_SUN50I 24 25config SUNXI_NO_PMIC 26 bool "board without a pmic" 27 ---help--- 28 Select this for boards which do not use a PMIC. 29 30config AXP152_POWER 31 bool "axp152 pmic support" 32 depends on MACH_SUN5I 33 select CMD_POWEROFF 34 ---help--- 35 Select this to enable support for the axp152 pmic found on most 36 A10s boards. 37 38config AXP209_POWER 39 bool "axp209 pmic support" 40 depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I 41 select CMD_POWEROFF 42 ---help--- 43 Select this to enable support for the axp209 pmic found on most 44 A10, A13 and A20 boards. 45 46config AXP221_POWER 47 bool "axp221 / axp223 pmic support" 48 depends on MACH_SUN6I || MACH_SUN8I_A23 || MACH_SUN8I_A33 || MACH_SUN8I_R40 49 select CMD_POWEROFF 50 ---help--- 51 Select this to enable support for the axp221/axp223 pmic found on most 52 A23 and A31 boards. 53 54config AXP809_POWER 55 bool "axp809 pmic support" 56 depends on MACH_SUN9I 57 select CMD_POWEROFF 58 ---help--- 59 Say y here to enable support for the axp809 pmic found on A80 boards. 60 61config AXP818_POWER 62 bool "axp818 pmic support" 63 depends on MACH_SUN8I_A83T 64 select CMD_POWEROFF 65 ---help--- 66 Say y here to enable support for the axp818 pmic found on 67 A83T dev board. 68 69config SY8106A_POWER 70 bool "SY8106A pmic support" 71 depends on MACH_SUNXI_H3_H5 72 ---help--- 73 Select this to enable support for the SY8106A pmic found on some 74 H3 boards. 75 76endchoice 77 78config CHARGE_ANIMATION 79 bool "Enable charge animation" 80 depends on DM_CHARGE_DISPLAY && DM_FUEL_GAUGE 81 help 82 This adds a simple function for charge animation display. 83 84config AXP_DCDC1_VOLT 85 int "axp pmic dcdc1 voltage" 86 depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 87 default 3300 if AXP818_POWER || MACH_SUN8I_R40 88 default 3000 if MACH_SUN6I || MACH_SUN8I || MACH_SUN9I 89 ---help--- 90 Set the voltage (mV) to program the axp pmic dcdc1 at, set to 0 to 91 disable dcdc1. On A23 / A31 / A33 (axp221) boards dcdc1 is used for 92 generic 3.3V IO voltage for external devices like the lcd-panal and 93 sdcard interfaces, etc. On most boards dcdc1 is undervolted to 3.0V to 94 save battery. On A31 devices dcdc1 is also used for VCC-IO. On A83T 95 dcdc1 is used for VCC-IO, nand, usb0, sd , etc. On A80 dcdc1 normally 96 powers some of the pingroups, NAND/eMMC, SD/MMC, and USB OTG. 97 98config AXP_DCDC2_VOLT 99 int "axp pmic dcdc2 voltage" 100 depends on AXP152_POWER || AXP209_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER 101 default 900 if AXP818_POWER 102 default 1400 if AXP152_POWER || AXP209_POWER 103 default 1200 if MACH_SUN6I 104 default 1100 if MACH_SUN8I 105 default 0 if MACH_SUN9I 106 ---help--- 107 Set the voltage (mV) to program the axp pmic dcdc2 at, set to 0 to 108 disable dcdc2. 109 On A10(s) / A13 / A20 boards dcdc2 is VDD-CPU and should be 1.4V. 110 On A31 boards dcdc2 is used for VDD-GPU and should be 1.2V. 111 On A23/A33 boards dcdc2 is used for VDD-SYS and should be 1.1V. 112 On A80 boards dcdc2 powers the GPU and can be left off. 113 On A83T boards dcdc2 is used for VDD-CPUA(cluster 0) and should be 0.9V. 114 On R40 boards dcdc2 is VDD-CPU and should be 1.1V 115 116config AXP_DCDC3_VOLT 117 int "axp pmic dcdc3 voltage" 118 depends on AXP152_POWER || AXP209_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER 119 default 900 if AXP809_POWER || AXP818_POWER 120 default 1500 if AXP152_POWER 121 default 1250 if AXP209_POWER 122 default 1100 if MACH_SUN8I_R40 123 default 1200 if MACH_SUN6I || MACH_SUN8I 124 ---help--- 125 Set the voltage (mV) to program the axp pmic dcdc3 at, set to 0 to 126 disable dcdc3. 127 On A10(s) / A13 / A20 boards with an axp209 dcdc3 is VDD-INT-DLL and 128 should be 1.25V. 129 On A10s boards with an axp152 dcdc3 is VCC-DRAM and should be 1.5V. 130 On A23 / A31 / A33 boards dcdc3 is VDD-CPU and should be 1.2V. 131 On A80 boards dcdc3 is used for VDD-CPUA(cluster 0) and should be 0.9V. 132 On A83T boards dcdc3 is used for VDD-CPUB(cluster 1) and should be 0.9V. 133 On R40 boards dcdc3 is VDD-SYS and VDD-GPU and should be 1.1V. 134 135config AXP_DCDC4_VOLT 136 int "axp pmic dcdc4 voltage" 137 depends on AXP152_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER 138 default 1250 if AXP152_POWER 139 default 1200 if MACH_SUN6I 140 default 0 if MACH_SUN8I 141 default 900 if MACH_SUN9I 142 ---help--- 143 Set the voltage (mV) to program the axp pmic dcdc4 at, set to 0 to 144 disable dcdc4. 145 On A10s boards with an axp152 dcdc4 is VDD-INT-DLL and should be 1.25V. 146 On A31 boards dcdc4 is used for VDD-SYS and should be 1.2V. 147 On A23 / A33 boards dcdc4 is unused and should be disabled. 148 On A80 boards dcdc4 powers VDD-SYS, HDMI, USB OTG and should be 0.9V. 149 On A83T boards dcdc4 is used for VDD-GPU. 150 151config AXP_DCDC5_VOLT 152 int "axp pmic dcdc5 voltage" 153 depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 154 default 1500 if MACH_SUN6I || MACH_SUN8I || MACH_SUN9I 155 ---help--- 156 Set the voltage (mV) to program the axp pmic dcdc5 at, set to 0 to 157 disable dcdc5. 158 On A23 / A31 / A33 / A80 / A83T / R40 boards dcdc5 is VCC-DRAM and 159 should be 1.5V, 1.35V if DDR3L is used. 160 161config AXP_ALDO1_VOLT 162 int "axp pmic (a)ldo1 voltage" 163 depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 164 default 0 if MACH_SUN6I || MACH_SUN8I_R40 165 default 1800 if MACH_SUN8I_A83T 166 default 3000 if MACH_SUN8I || MACH_SUN9I 167 ---help--- 168 Set the voltage (mV) to program the axp pmic aldo1 at, set to 0 to 169 disable aldo1. 170 On A31 boards aldo1 is often used to power the wifi module. 171 On A23 / A33 boards aldo1 is used for VCC-IO and should be 3.0V. 172 On A80 boards aldo1 powers the USB hosts and should be 3.0V. 173 On A83T / H8 boards aldo1 is used for MIPI CSI, DSI, HDMI, EFUSE, and 174 should be 1.8V. 175 176config AXP_ALDO2_VOLT 177 int "axp pmic (a)ldo2 voltage" 178 depends on AXP152_POWER || AXP209_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER 179 default 3000 if AXP152_POWER || AXP209_POWER 180 default 0 if MACH_SUN6I || MACH_SUN9I 181 default 1800 if MACH_SUN8I_A83T 182 default 2500 if MACH_SUN8I 183 ---help--- 184 Set the voltage (mV) to program the axp pmic aldo2 at, set to 0 to 185 disable aldo2. 186 On A10(s) / A13 / A20 boards aldo2 is AVCC and should be 3.0V. 187 On A31 boards aldo2 is typically unused and should be disabled. 188 On A31 boards aldo2 may be used for LPDDR2 then it should be 1.8V. 189 On A23 / A33 boards aldo2 is used for VDD-DLL and should be 2.5V. 190 On A80 boards aldo2 powers PB pingroup and camera IO and can be left off. 191 On A83T / H8 boards aldo2 powers VDD-DLL, VCC18-PLL, CPVDD, VDD18-ADC, 192 LPDDR2, and the codec. It should be 1.8V. 193 194config AXP_ALDO3_VOLT 195 int "axp pmic (a)ldo3 voltage" 196 depends on AXP209_POWER || AXP221_POWER || AXP809_POWER || AXP818_POWER 197 default 0 if AXP209_POWER || MACH_SUN9I 198 default 3000 if MACH_SUN6I || MACH_SUN8I 199 ---help--- 200 Set the voltage (mV) to program the axp pmic aldo3 at, set to 0 to 201 disable aldo3. 202 On A10(s) / A13 / A20 boards aldo3 should be 2.8V. 203 On A23 / A31 / A33 / R40 boards aldo3 is VCC-PLL and AVCC and should 204 be 3.0V. 205 On A80 boards aldo3 is normally not used. 206 On A83T / H8 boards aldo3 is AVCC, VCC-PL, and VCC-LED, and should be 207 3.0V. 208 209config AXP_ALDO4_VOLT 210 int "axp pmic (a)ldo4 voltage" 211 depends on AXP209_POWER 212 default 0 if AXP209_POWER 213 ---help--- 214 Set the voltage (mV) to program the axp pmic aldo4 at, set to 0 to 215 disable aldo4. 216 On A10(s) / A13 / A20 boards aldo4 should be 2.8V. 217 218config AXP_DLDO1_VOLT 219 int "axp pmic dldo1 voltage" 220 depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 221 default 0 222 ---help--- 223 Set the voltage (mV) to program the axp pmic dldo1 at, set to 0 to 224 disable dldo1. On sun6i (A31) boards with ethernet dldo1 is often used 225 to power the ethernet phy. On A23, A33 and A80 boards this is often 226 used to power the wifi. 227 228config AXP_DLDO2_VOLT 229 int "axp pmic dldo2 voltage" 230 depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 231 default 3000 if MACH_SUN9I 232 default 0 233 ---help--- 234 Set the voltage (mV) to program the axp pmic dldo2 at, set to 0 to 235 disable dldo2. 236 On A80 boards dldo2 normally powers the PL pins and should be 3.0V. 237 238config AXP_DLDO3_VOLT 239 int "axp pmic dldo3 voltage" 240 depends on AXP221_POWER || AXP818_POWER 241 default 0 242 ---help--- 243 Set the voltage (mV) to program the axp pmic dldo3 at, set to 0 to 244 disable dldo3. 245 246config AXP_DLDO4_VOLT 247 int "axp pmic dldo4 voltage" 248 depends on AXP221_POWER || AXP818_POWER 249 default 0 250 ---help--- 251 Set the voltage (mV) to program the axp pmic dldo4 at, set to 0 to 252 disable dldo4. 253 254config AXP_ELDO1_VOLT 255 int "axp pmic eldo1 voltage" 256 depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 257 default 0 258 ---help--- 259 Set the voltage (mV) to program the axp pmic eldo1 at, set to 0 to 260 disable eldo1. 261 262config AXP_ELDO2_VOLT 263 int "axp pmic eldo2 voltage" 264 depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 265 default 0 266 ---help--- 267 Set the voltage (mV) to program the axp pmic eldo2 at, set to 0 to 268 disable eldo2. 269 270config AXP_ELDO3_VOLT 271 int "axp pmic eldo3 voltage" 272 depends on AXP221_POWER || AXP809_POWER || AXP818_POWER 273 default 3000 if MACH_SUN9I 274 default 0 275 ---help--- 276 Set the voltage (mV) to program the axp pmic eldo3 at, set to 0 to 277 disable eldo3. On some A31(s) tablets it might be used to supply 278 1.2V for the SSD2828 chip (converter of parallel LCD interface 279 into MIPI DSI). 280 On A80 boards it powers the PM pingroup and should be 3.0V. 281 282config AXP_FLDO1_VOLT 283 int "axp pmic fldo1 voltage" 284 depends on AXP818_POWER 285 default 0 if MACH_SUN8I_A83T 286 ---help--- 287 Set the voltage (mV) to program the axp pmic fldo1 at, set to 0 to 288 disable fldo1. 289 On A83T / H8 boards fldo1 is VCC-HSIC and should be 1.2V if HSIC is 290 used. 291 292config AXP_FLDO2_VOLT 293 int "axp pmic fldo2 voltage" 294 depends on AXP818_POWER 295 default 900 if MACH_SUN8I_A83T 296 ---help--- 297 Set the voltage (mV) to program the axp pmic fldo2 at, set to 0 to 298 disable fldo2. 299 On A83T / H8 boards fldo2 is VCC-CPUS and should be 0.9V. 300 301config AXP_FLDO3_VOLT 302 int "axp pmic fldo3 voltage" 303 depends on AXP818_POWER 304 default 0 305 ---help--- 306 Set the voltage (mV) to program the axp pmic fldo3 at, set to 0 to 307 disable fldo3. 308 309config AXP_SW_ON 310 bool "axp pmic sw on" 311 depends on AXP809_POWER || AXP818_POWER 312 default n 313 ---help--- 314 Enable to turn on axp pmic sw. 315 316config SY8106A_VOUT1_VOLT 317 int "SY8106A pmic VOUT1 voltage" 318 depends on SY8106A_POWER 319 default 1200 320 ---help--- 321 Set the voltage (mV) to program the SY8106A pmic VOUT1. This 322 is typically used to power the VDD-CPU and should be 1200mV. 323 Values can range from 680mV till 1950mV. 324 325config TWL4030_POWER 326 depends on OMAP34XX 327 bool "Enable driver for TI TWL4030 power management chip" 328 imply CMD_POWEROFF 329 ---help--- 330 The TWL4030 in a combination audio CODEC/power management with 331 GPIO and it is commonly used with the OMAP3 family of processors 332 333endmenu 334