| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | menuconfig POWER_RESET |
| 3 | bool "Board level reset or power off" |
| 4 | help |
| 5 | Provides a number of drivers which either reset a complete board |
| 6 | or shut it down, by manipulating the main power supply on the board. |
| 7 | |
| 8 | Say Y here to enable board reset and power off |
| 9 | |
| 10 | if POWER_RESET |
| 11 | |
| 12 | config POWER_RESET_AS3722 |
| 13 | bool "ams AS3722 power-off driver" |
| 14 | depends on MFD_AS3722 |
| 15 | help |
| 16 | This driver supports turning off board via a ams AS3722 power-off. |
| 17 | |
| 18 | config POWER_RESET_AT91_POWEROFF |
| 19 | tristate "Atmel AT91 poweroff driver" |
| 20 | depends on ARCH_AT91 |
| 21 | default SOC_AT91SAM9 || SOC_SAMA5 |
| 22 | help |
| 23 | This driver supports poweroff for Atmel AT91SAM9 and SAMA5 |
| 24 | SoCs |
| 25 | |
| 26 | config POWER_RESET_AT91_RESET |
| 27 | tristate "Atmel AT91 reset driver" |
| 28 | depends on ARCH_AT91 |
| 29 | default SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5 |
| 30 | help |
| 31 | This driver supports restart for Atmel AT91SAM9 and SAMA5 |
| 32 | SoCs |
| 33 | |
| 34 | config POWER_RESET_AT91_SAMA5D2_SHDWC |
| 35 | tristate "Atmel AT91 SAMA5D2-Compatible shutdown controller driver" |
| 36 | depends on ARCH_AT91 |
| 37 | default SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5 |
| 38 | help |
| 39 | This driver supports the alternate shutdown controller for some Atmel |
| 40 | SAMA5 SoCs. It is present for example on SAMA5D2 SoC. |
| 41 | |
| 42 | config POWER_RESET_ATC260X |
| 43 | tristate "Actions Semi ATC260x PMIC power-off driver" |
| 44 | depends on MFD_ATC260X |
| 45 | help |
| 46 | This driver provides power-off and restart support for a system |
| 47 | through Actions Semi ATC260x series PMICs. |
| 48 | |
| 49 | config POWER_RESET_AXXIA |
| 50 | bool "LSI Axxia reset driver" |
| 51 | depends on ARCH_AXXIA |
| 52 | help |
| 53 | This driver supports restart for Axxia SoC. |
| 54 | |
| 55 | Say Y if you have an Axxia family SoC. |
| 56 | |
| 57 | config POWER_RESET_BRCMKONA |
| 58 | bool "Broadcom Kona reset driver" |
| 59 | depends on ARM || COMPILE_TEST |
| 60 | default ARCH_BCM_MOBILE |
| 61 | help |
| 62 | This driver provides restart support for Broadcom Kona chips. |
| 63 | |
| 64 | Say Y here if you have a Broadcom Kona-based board and you wish |
| 65 | to have restart support. |
| 66 | |
| 67 | config POWER_RESET_BRCMSTB |
| 68 | bool "Broadcom STB reset driver" |
| 69 | depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST |
| 70 | depends on MFD_SYSCON |
| 71 | default ARCH_BRCMSTB || BMIPS_GENERIC |
| 72 | help |
| 73 | This driver provides restart support for Broadcom STB boards. |
| 74 | |
| 75 | Say Y here if you have a Broadcom STB board and you wish |
| 76 | to have restart support. |
| 77 | |
| 78 | config POWER_RESET_EP93XX |
| 79 | bool "Cirrus EP93XX reset driver" if COMPILE_TEST |
| 80 | depends on MFD_SYSCON |
| 81 | default ARCH_EP93XX |
| 82 | select AUXILIARY_BUS |
| 83 | help |
| 84 | This driver provides restart support for Cirrus EP93XX SoC. |
| 85 | |
| 86 | Say Y here if you have a Cirrus EP93XX SoC and you wish |
| 87 | to have restart support. |
| 88 | |
| 89 | config POWER_RESET_GEMINI_POWEROFF |
| 90 | bool "Cortina Gemini power-off driver" |
| 91 | depends on ARCH_GEMINI || COMPILE_TEST |
| 92 | depends on OF && HAS_IOMEM |
| 93 | default ARCH_GEMINI |
| 94 | help |
| 95 | This driver supports turning off the Cortina Gemini SoC. |
| 96 | Select this if you're building a kernel with Gemini SoC support. |
| 97 | |
| 98 | config POWER_RESET_GPIO |
| 99 | bool "GPIO power-off driver" |
| 100 | depends on OF |
| 101 | help |
| 102 | This driver supports turning off your board via a GPIO line. |
| 103 | If your board needs a GPIO high/low to power down, say Y and |
| 104 | create a binding in your devicetree. |
| 105 | |
| 106 | config POWER_RESET_GPIO_RESTART |
| 107 | bool "GPIO restart driver" |
| 108 | depends on OF |
| 109 | help |
| 110 | This driver supports restarting your board via a GPIO line. |
| 111 | If your board needs a GPIO high/low to restart, say Y and |
| 112 | create a binding in your devicetree. |
| 113 | |
| 114 | config POWER_RESET_HISI |
| 115 | bool "Hisilicon power-off driver" |
| 116 | depends on ARCH_HISI |
| 117 | help |
| 118 | Reboot support for Hisilicon boards. |
| 119 | |
| 120 | config POWER_RESET_LINKSTATION |
| 121 | tristate "Buffalo LinkStation power-off driver" |
| 122 | depends on ARCH_MVEBU || COMPILE_TEST |
| 123 | depends on OF_MDIO && PHYLIB |
| 124 | help |
| 125 | This driver supports turning off some Buffalo LinkStations by |
| 126 | setting an output pin at the ethernet PHY to the correct state. |
| 127 | It also makes the device compatible with the WoL function. |
| 128 | |
| 129 | Say Y here if you have a Buffalo LinkStation LS421D/E. |
| 130 | |
| 131 | config POWER_RESET_MCF_RCM |
| 132 | tristate "Freescale ColdFire RCM power-on reason driver" |
| 133 | depends on M5441x || COMPILE_TEST |
| 134 | depends on HAS_IOMEM |
| 135 | help |
| 136 | This driver exposes the cause of the last reset on Freescale |
| 137 | ColdFire 5441x SoCs through the standard power_on_reason sysfs |
| 138 | ABI. It reads the Reset Status Register (RSR) of the Reset |
| 139 | Controller Module once at probe time and reports a normalised |
| 140 | string (regular power-up, reset button action, software reset |
| 141 | or unknown reason). |
| 142 | |
| 143 | config POWER_RESET_MACSMC |
| 144 | tristate "Apple SMC reset/power-off driver" |
| 145 | depends on MFD_MACSMC |
| 146 | help |
| 147 | This driver supports reset and power-off on Apple Mac machines |
| 148 | that implement this functionality via the SMC. |
| 149 | |
| 150 | Say Y here if you have an Apple Silicon Mac. |
| 151 | |
| 152 | config POWER_RESET_MSM |
| 153 | bool "Qualcomm MSM power-off driver" |
| 154 | depends on ARCH_QCOM |
| 155 | help |
| 156 | Power off and restart support for Qualcomm boards. |
| 157 | |
| 158 | config POWER_RESET_QCOM_PON |
| 159 | tristate "Qualcomm power-on driver" |
| 160 | depends on ARCH_QCOM |
| 161 | depends on MFD_SPMI_PMIC |
| 162 | select REBOOT_MODE |
| 163 | help |
| 164 | Power On support for Qualcomm boards. |
| 165 | If you have a Qualcomm platform and need support for |
| 166 | power-on and reboot reason, Say Y. |
| 167 | If unsure, Say N. |
| 168 | |
| 169 | config POWER_RESET_OCELOT_RESET |
| 170 | bool "Microsemi Ocelot reset driver" |
| 171 | depends on MSCC_OCELOT || ARCH_SPARX5 || COMPILE_TEST |
| 172 | select MFD_SYSCON |
| 173 | help |
| 174 | This driver supports restart for Microsemi Ocelot SoC and similar. |
| 175 | |
| 176 | config POWER_RESET_ODROID_GO_ULTRA_POWEROFF |
| 177 | bool "Odroid Go Ultra power-off driver" |
| 178 | depends on ARCH_MESON || COMPILE_TEST |
| 179 | depends on I2C=y && OF |
| 180 | help |
| 181 | This driver supports Power off for Odroid Go Ultra device. |
| 182 | |
| 183 | config POWER_RESET_PIIX4_POWEROFF |
| 184 | tristate "Intel PIIX4 power-off driver" |
| 185 | depends on PCI |
| 186 | depends on HAS_IOPORT |
| 187 | depends on MIPS || COMPILE_TEST |
| 188 | help |
| 189 | This driver supports powering off a system using the Intel PIIX4 |
| 190 | southbridge, for example the MIPS Malta development board. The |
| 191 | southbridge SOff state is entered in response to a request to |
| 192 | power off the system. |
| 193 | |
| 194 | config POWER_RESET_LTC2952 |
| 195 | bool "LTC2952 PowerPath power-off driver" |
| 196 | depends on OF |
| 197 | help |
| 198 | This driver supports an external powerdown trigger and board power |
| 199 | down via the LTC2952. Bindings are made in the device tree. |
| 200 | |
| 201 | config POWER_RESET_MT6323 |
| 202 | bool "MediaTek MT6323 power-off driver" |
| 203 | depends on MFD_MT6397 |
| 204 | help |
| 205 | The power-off driver is responsible for externally shutdown down |
| 206 | the power of a remote MediaTek SoC MT6323 is connected to through |
| 207 | controlling a tiny circuit BBPU inside MT6323 RTC. |
| 208 | |
| 209 | Say Y if you have a board where MT6323 could be found. |
| 210 | |
| 211 | config POWER_RESET_QNAP |
| 212 | bool "QNAP power-off driver" |
| 213 | depends on PLAT_ORION |
| 214 | help |
| 215 | This driver supports turning off QNAP NAS devices by sending |
| 216 | commands to the microcontroller which controls the main power. |
| 217 | |
| 218 | Say Y if you have a QNAP NAS. |
| 219 | |
| 220 | config POWER_RESET_REGULATOR |
| 221 | bool "Regulator subsystem power-off driver" |
| 222 | depends on OF && REGULATOR |
| 223 | help |
| 224 | This driver supports turning off your board by disabling a |
| 225 | power regulator defined in the devicetree. |
| 226 | |
| 227 | config POWER_RESET_RESTART |
| 228 | bool "Restart power-off driver" |
| 229 | help |
| 230 | Some boards don't actually have the ability to power off. |
| 231 | Instead they restart, and u-boot holds the SoC until the |
| 232 | user presses a key. u-boot then boots into Linux. |
| 233 | |
| 234 | config POWER_RESET_ST |
| 235 | bool "ST restart driver" |
| 236 | depends on ARCH_STI |
| 237 | help |
| 238 | Reset support for STMicroelectronics boards. |
| 239 | |
| 240 | config POWER_RESET_TH1520_AON |
| 241 | tristate "T-Head TH1520 AON firmware poweroff and reset driver" |
| 242 | depends on TH1520_PM_DOMAINS |
| 243 | help |
| 244 | This driver supports power-off and reset operations for T-Head |
| 245 | TH1520 SoCs running the AON firmware. |
| 246 | |
| 247 | config POWER_RESET_TORADEX_EC |
| 248 | tristate "Toradex Embedded Controller power-off and reset driver" |
| 249 | depends on ARCH_MXC || COMPILE_TEST |
| 250 | depends on I2C |
| 251 | select REGMAP_I2C |
| 252 | help |
| 253 | This driver supports power-off and reset for SMARC Toradex SoMs, |
| 254 | for example the SMARC iMX8MP and SMARC iMX95, using Toradex |
| 255 | Embedded Controller (EC). |
| 256 | |
| 257 | Say Y here if you have a Toradex SMARC SoM. |
| 258 | |
| 259 | If unsure, say N. |
| 260 | |
| 261 | config POWER_RESET_TPS65086 |
| 262 | bool "TPS65086 restart driver" |
| 263 | depends on MFD_TPS65086 |
| 264 | help |
| 265 | This driver adds support for resetting the TPS65086 PMIC on restart. |
| 266 | |
| 267 | config POWER_RESET_VERSATILE |
| 268 | bool "ARM Versatile family reboot driver" |
| 269 | depends on ARM |
| 270 | depends on MFD_SYSCON |
| 271 | depends on OF |
| 272 | help |
| 273 | Power off and restart support for ARM Versatile family of |
| 274 | reference boards. |
| 275 | |
| 276 | config POWER_RESET_VEXPRESS |
| 277 | bool "ARM Versatile Express power-off and reset driver" |
| 278 | depends on ARM || ARM64 |
| 279 | depends on VEXPRESS_CONFIG=y |
| 280 | help |
| 281 | Power off and reset support for the ARM Ltd. Versatile |
| 282 | Express boards. |
| 283 | |
| 284 | config POWER_RESET_XGENE |
| 285 | bool "APM SoC X-Gene reset driver" |
| 286 | depends on ARM64 |
| 287 | help |
| 288 | Reboot support for the APM SoC X-Gene Eval boards. |
| 289 | |
| 290 | config POWER_RESET_KEYSTONE |
| 291 | bool "Keystone reset driver" |
| 292 | depends on ARCH_KEYSTONE || COMPILE_TEST |
| 293 | depends on HAS_IOMEM |
| 294 | select MFD_SYSCON |
| 295 | help |
| 296 | Reboot support for the KEYSTONE SoCs. |
| 297 | |
| 298 | config POWER_RESET_SPACEMIT_P1 |
| 299 | tristate "SpacemiT P1 poweroff and reset driver" |
| 300 | depends on ARCH_SPACEMIT || COMPILE_TEST |
| 301 | depends on MFD_SPACEMIT_P1 |
| 302 | default MFD_SPACEMIT_P1 |
| 303 | help |
| 304 | This driver supports power-off and reset operations for the SpacemiT |
| 305 | P1 PMIC. |
| 306 | |
| 307 | config POWER_RESET_SYSCON |
| 308 | bool "Generic SYSCON regmap reset driver" |
| 309 | depends on OF |
| 310 | depends on HAS_IOMEM |
| 311 | select MFD_SYSCON |
| 312 | help |
| 313 | Reboot support for generic SYSCON mapped register reset. |
| 314 | |
| 315 | config POWER_RESET_SYSCON_POWEROFF |
| 316 | bool "Generic SYSCON regmap poweroff driver" |
| 317 | depends on OF |
| 318 | depends on HAS_IOMEM |
| 319 | select MFD_SYSCON |
| 320 | help |
| 321 | Poweroff support for generic SYSCON mapped register poweroff. |
| 322 | |
| 323 | config POWER_RESET_RMOBILE |
| 324 | tristate "Renesas R-Mobile reset driver" |
| 325 | depends on ARCH_RMOBILE || COMPILE_TEST |
| 326 | depends on HAS_IOMEM |
| 327 | help |
| 328 | Reboot support for Renesas R-Mobile and SH-Mobile SoCs. |
| 329 | |
| 330 | config REBOOT_MODE |
| 331 | tristate |
| 332 | |
| 333 | config SYSCON_REBOOT_MODE |
| 334 | tristate "Generic SYSCON regmap reboot mode driver" |
| 335 | depends on OF |
| 336 | depends on MFD_SYSCON |
| 337 | select REBOOT_MODE |
| 338 | help |
| 339 | Say y here will enable reboot mode driver. This will |
| 340 | get reboot mode arguments and store it in SYSCON mapped |
| 341 | register, then the bootloader can read it to take different |
| 342 | action according to the mode. |
| 343 | |
| 344 | config POWER_RESET_SC27XX |
| 345 | tristate "Spreadtrum SC27xx PMIC power-off driver" |
| 346 | depends on MFD_SC27XX_PMIC || COMPILE_TEST |
| 347 | help |
| 348 | This driver supports powering off a system through |
| 349 | Spreadtrum SC27xx series PMICs. The SC27xx series |
| 350 | PMICs includes the SC2720, SC2721, SC2723, SC2730 |
| 351 | and SC2731 chips. |
| 352 | |
| 353 | config NVMEM_REBOOT_MODE |
| 354 | tristate "Generic NVMEM reboot mode driver" |
| 355 | depends on OF |
| 356 | select REBOOT_MODE |
| 357 | help |
| 358 | Say y here will enable reboot mode driver. This will |
| 359 | get reboot mode arguments and store it in a NVMEM cell, |
| 360 | then the bootloader can read it and take different |
| 361 | action according to the mode. |
| 362 | |
| 363 | config POWER_MLXBF |
| 364 | tristate "Mellanox BlueField power handling driver" |
| 365 | depends on (GPIO_MLXBF2 || GPIO_MLXBF3) && ACPI |
| 366 | help |
| 367 | This driver supports reset or low power mode handling for Mellanox BlueField. |
| 368 | |
| 369 | config POWER_RESET_QEMU_VIRT_CTRL |
| 370 | tristate "QEMU Virt Machine System Controller" |
| 371 | depends on HAS_IOMEM |
| 372 | help |
| 373 | This driver supports the system reset and power off functionality |
| 374 | provided by the QEMU 'virt-ctrl' device. |
| 375 | |
| 376 | Say Y here if you are running Linux on a QEMU virtual machine that |
| 377 | provides this controller, such as the m68k virt machine. |
| 378 | |
| 379 | endif |