1# SPDX-License-Identifier: GPL-2.0-only 2menuconfig 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 10if POWER_RESET 11 12config 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 18config 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 26config 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 34config 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 42config 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 49config 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 57config 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 67config 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 78config 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 89config 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 98config 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 106config 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 114config POWER_RESET_HISI 115 bool "Hisilicon power-off driver" 116 depends on ARCH_HISI 117 help 118 Reboot support for Hisilicon boards. 119 120config 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 131config 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 143config 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 152config 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 158config 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 169config 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 176config 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 183config 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 194config 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 201config 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 211config 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 220config 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 227config 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 234config POWER_RESET_ST 235 bool "ST restart driver" 236 depends on ARCH_STI 237 help 238 Reset support for STMicroelectronics boards. 239 240config 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 247config 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 261config 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 267config 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 276config 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 284config 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 290config 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 298config 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 307config 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 315config 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 323config 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 330config REBOOT_MODE 331 tristate 332 333config 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 344config 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 353config 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 363config 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 369config 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 379endif 380