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