1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyunmenuconfig POWER_RESET 3*4882a593Smuzhiyun bool "Board level reset or power off" 4*4882a593Smuzhiyun help 5*4882a593Smuzhiyun Provides a number of drivers which either reset a complete board 6*4882a593Smuzhiyun or shut it down, by manipulating the main power supply on the board. 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun Say Y here to enable board reset and power off 9*4882a593Smuzhiyun 10*4882a593Smuzhiyunif POWER_RESET 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunconfig POWER_RESET_AS3722 13*4882a593Smuzhiyun bool "ams AS3722 power-off driver" 14*4882a593Smuzhiyun depends on MFD_AS3722 15*4882a593Smuzhiyun help 16*4882a593Smuzhiyun This driver supports turning off board via a ams AS3722 power-off. 17*4882a593Smuzhiyun 18*4882a593Smuzhiyunconfig POWER_RESET_AT91_POWEROFF 19*4882a593Smuzhiyun tristate "Atmel AT91 poweroff driver" 20*4882a593Smuzhiyun depends on ARCH_AT91 21*4882a593Smuzhiyun default SOC_AT91SAM9 || SOC_SAMA5 22*4882a593Smuzhiyun help 23*4882a593Smuzhiyun This driver supports poweroff for Atmel AT91SAM9 and SAMA5 24*4882a593Smuzhiyun SoCs 25*4882a593Smuzhiyun 26*4882a593Smuzhiyunconfig POWER_RESET_AT91_RESET 27*4882a593Smuzhiyun tristate "Atmel AT91 reset driver" 28*4882a593Smuzhiyun depends on ARCH_AT91 29*4882a593Smuzhiyun default SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5 30*4882a593Smuzhiyun help 31*4882a593Smuzhiyun This driver supports restart for Atmel AT91SAM9 and SAMA5 32*4882a593Smuzhiyun SoCs 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunconfig POWER_RESET_AT91_SAMA5D2_SHDWC 35*4882a593Smuzhiyun tristate "Atmel AT91 SAMA5D2-Compatible shutdown controller driver" 36*4882a593Smuzhiyun depends on ARCH_AT91 37*4882a593Smuzhiyun default SOC_SAM9X60 || SOC_SAMA5 38*4882a593Smuzhiyun help 39*4882a593Smuzhiyun This driver supports the alternate shutdown controller for some Atmel 40*4882a593Smuzhiyun SAMA5 SoCs. It is present for example on SAMA5D2 SoC. 41*4882a593Smuzhiyun 42*4882a593Smuzhiyunconfig POWER_RESET_AXXIA 43*4882a593Smuzhiyun bool "LSI Axxia reset driver" 44*4882a593Smuzhiyun depends on ARCH_AXXIA 45*4882a593Smuzhiyun help 46*4882a593Smuzhiyun This driver supports restart for Axxia SoC. 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun Say Y if you have an Axxia family SoC. 49*4882a593Smuzhiyun 50*4882a593Smuzhiyunconfig POWER_RESET_BRCMKONA 51*4882a593Smuzhiyun bool "Broadcom Kona reset driver" 52*4882a593Smuzhiyun depends on ARM || COMPILE_TEST 53*4882a593Smuzhiyun default ARCH_BCM_MOBILE 54*4882a593Smuzhiyun help 55*4882a593Smuzhiyun This driver provides restart support for Broadcom Kona chips. 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun Say Y here if you have a Broadcom Kona-based board and you wish 58*4882a593Smuzhiyun to have restart support. 59*4882a593Smuzhiyun 60*4882a593Smuzhiyunconfig POWER_RESET_BRCMSTB 61*4882a593Smuzhiyun bool "Broadcom STB reset driver" 62*4882a593Smuzhiyun depends on ARM || ARM64 || MIPS || COMPILE_TEST 63*4882a593Smuzhiyun depends on MFD_SYSCON 64*4882a593Smuzhiyun default ARCH_BRCMSTB || BMIPS_GENERIC 65*4882a593Smuzhiyun help 66*4882a593Smuzhiyun This driver provides restart support for Broadcom STB boards. 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun Say Y here if you have a Broadcom STB board and you wish 69*4882a593Smuzhiyun to have restart support. 70*4882a593Smuzhiyun 71*4882a593Smuzhiyunconfig POWER_RESET_GEMINI_POWEROFF 72*4882a593Smuzhiyun bool "Cortina Gemini power-off driver" 73*4882a593Smuzhiyun depends on ARCH_GEMINI || COMPILE_TEST 74*4882a593Smuzhiyun depends on OF && HAS_IOMEM 75*4882a593Smuzhiyun default ARCH_GEMINI 76*4882a593Smuzhiyun help 77*4882a593Smuzhiyun This driver supports turning off the Cortina Gemini SoC. 78*4882a593Smuzhiyun Select this if you're building a kernel with Gemini SoC support. 79*4882a593Smuzhiyun 80*4882a593Smuzhiyunconfig POWER_RESET_GPIO 81*4882a593Smuzhiyun bool "GPIO power-off driver" 82*4882a593Smuzhiyun depends on OF_GPIO 83*4882a593Smuzhiyun help 84*4882a593Smuzhiyun This driver supports turning off your board via a GPIO line. 85*4882a593Smuzhiyun If your board needs a GPIO high/low to power down, say Y and 86*4882a593Smuzhiyun create a binding in your devicetree. 87*4882a593Smuzhiyun 88*4882a593Smuzhiyunconfig POWER_RESET_GPIO_RESTART 89*4882a593Smuzhiyun bool "GPIO restart driver" 90*4882a593Smuzhiyun depends on OF_GPIO 91*4882a593Smuzhiyun help 92*4882a593Smuzhiyun This driver supports restarting your board via a GPIO line. 93*4882a593Smuzhiyun If your board needs a GPIO high/low to restart, say Y and 94*4882a593Smuzhiyun create a binding in your devicetree. 95*4882a593Smuzhiyun 96*4882a593Smuzhiyunconfig POWER_RESET_HISI 97*4882a593Smuzhiyun bool "Hisilicon power-off driver" 98*4882a593Smuzhiyun depends on ARCH_HISI 99*4882a593Smuzhiyun help 100*4882a593Smuzhiyun Reboot support for Hisilicon boards. 101*4882a593Smuzhiyun 102*4882a593Smuzhiyunconfig POWER_RESET_LINKSTATION 103*4882a593Smuzhiyun tristate "Buffalo LinkStation power-off driver" 104*4882a593Smuzhiyun depends on ARCH_MVEBU || COMPILE_TEST 105*4882a593Smuzhiyun depends on OF_MDIO && PHYLIB 106*4882a593Smuzhiyun help 107*4882a593Smuzhiyun This driver supports turning off some Buffalo LinkStations by 108*4882a593Smuzhiyun setting an output pin at the ethernet PHY to the correct state. 109*4882a593Smuzhiyun It also makes the device compatible with the WoL function. 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun Say Y here if you have a Buffalo LinkStation LS421D/E. 112*4882a593Smuzhiyun 113*4882a593Smuzhiyunconfig POWER_RESET_MSM 114*4882a593Smuzhiyun bool "Qualcomm MSM power-off driver" 115*4882a593Smuzhiyun depends on ARCH_QCOM 116*4882a593Smuzhiyun help 117*4882a593Smuzhiyun Power off and restart support for Qualcomm boards. 118*4882a593Smuzhiyun 119*4882a593Smuzhiyunconfig POWER_RESET_QCOM_PON 120*4882a593Smuzhiyun tristate "Qualcomm power-on driver" 121*4882a593Smuzhiyun depends on ARCH_QCOM 122*4882a593Smuzhiyun depends on MFD_SPMI_PMIC 123*4882a593Smuzhiyun select REBOOT_MODE 124*4882a593Smuzhiyun help 125*4882a593Smuzhiyun Power On support for Qualcomm boards. 126*4882a593Smuzhiyun If you have a Qualcomm platform and need support for 127*4882a593Smuzhiyun power-on and reboot reason, Say Y. 128*4882a593Smuzhiyun If unsure, Say N. 129*4882a593Smuzhiyun 130*4882a593Smuzhiyunconfig POWER_RESET_OCELOT_RESET 131*4882a593Smuzhiyun bool "Microsemi Ocelot reset driver" 132*4882a593Smuzhiyun depends on MSCC_OCELOT || ARCH_SPARX5 || COMPILE_TEST 133*4882a593Smuzhiyun select MFD_SYSCON 134*4882a593Smuzhiyun help 135*4882a593Smuzhiyun This driver supports restart for Microsemi Ocelot SoC and similar. 136*4882a593Smuzhiyun 137*4882a593Smuzhiyunconfig POWER_RESET_OXNAS 138*4882a593Smuzhiyun bool "OXNAS SoC restart driver" 139*4882a593Smuzhiyun depends on ARCH_OXNAS 140*4882a593Smuzhiyun default MACH_OX820 141*4882a593Smuzhiyun help 142*4882a593Smuzhiyun Restart support for OXNAS/PLXTECH OX820 SoC. 143*4882a593Smuzhiyun 144*4882a593Smuzhiyunconfig POWER_RESET_PIIX4_POWEROFF 145*4882a593Smuzhiyun tristate "Intel PIIX4 power-off driver" 146*4882a593Smuzhiyun depends on PCI 147*4882a593Smuzhiyun depends on MIPS || COMPILE_TEST 148*4882a593Smuzhiyun help 149*4882a593Smuzhiyun This driver supports powering off a system using the Intel PIIX4 150*4882a593Smuzhiyun southbridge, for example the MIPS Malta development board. The 151*4882a593Smuzhiyun southbridge SOff state is entered in response to a request to 152*4882a593Smuzhiyun power off the system. 153*4882a593Smuzhiyun 154*4882a593Smuzhiyunconfig POWER_RESET_LTC2952 155*4882a593Smuzhiyun bool "LTC2952 PowerPath power-off driver" 156*4882a593Smuzhiyun depends on OF_GPIO 157*4882a593Smuzhiyun help 158*4882a593Smuzhiyun This driver supports an external powerdown trigger and board power 159*4882a593Smuzhiyun down via the LTC2952. Bindings are made in the device tree. 160*4882a593Smuzhiyun 161*4882a593Smuzhiyunconfig POWER_RESET_MT6323 162*4882a593Smuzhiyun bool "MediaTek MT6323 power-off driver" 163*4882a593Smuzhiyun depends on MFD_MT6397 164*4882a593Smuzhiyun help 165*4882a593Smuzhiyun The power-off driver is responsible for externally shutdown down 166*4882a593Smuzhiyun the power of a remote MediaTek SoC MT6323 is connected to through 167*4882a593Smuzhiyun controlling a tiny circuit BBPU inside MT6323 RTC. 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun Say Y if you have a board where MT6323 could be found. 170*4882a593Smuzhiyun 171*4882a593Smuzhiyunconfig POWER_RESET_QNAP 172*4882a593Smuzhiyun bool "QNAP power-off driver" 173*4882a593Smuzhiyun depends on OF_GPIO && PLAT_ORION 174*4882a593Smuzhiyun help 175*4882a593Smuzhiyun This driver supports turning off QNAP NAS devices by sending 176*4882a593Smuzhiyun commands to the microcontroller which controls the main power. 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun Say Y if you have a QNAP NAS. 179*4882a593Smuzhiyun 180*4882a593Smuzhiyunconfig POWER_RESET_RESTART 181*4882a593Smuzhiyun bool "Restart power-off driver" 182*4882a593Smuzhiyun help 183*4882a593Smuzhiyun Some boards don't actually have the ability to power off. 184*4882a593Smuzhiyun Instead they restart, and u-boot holds the SoC until the 185*4882a593Smuzhiyun user presses a key. u-boot then boots into Linux. 186*4882a593Smuzhiyun 187*4882a593Smuzhiyunconfig POWER_RESET_ST 188*4882a593Smuzhiyun bool "ST restart driver" 189*4882a593Smuzhiyun depends on ARCH_STI 190*4882a593Smuzhiyun help 191*4882a593Smuzhiyun Reset support for STMicroelectronics boards. 192*4882a593Smuzhiyun 193*4882a593Smuzhiyunconfig POWER_RESET_VERSATILE 194*4882a593Smuzhiyun bool "ARM Versatile family reboot driver" 195*4882a593Smuzhiyun depends on ARM 196*4882a593Smuzhiyun depends on MFD_SYSCON 197*4882a593Smuzhiyun depends on OF 198*4882a593Smuzhiyun help 199*4882a593Smuzhiyun Power off and restart support for ARM Versatile family of 200*4882a593Smuzhiyun reference boards. 201*4882a593Smuzhiyun 202*4882a593Smuzhiyunconfig POWER_RESET_VEXPRESS 203*4882a593Smuzhiyun bool "ARM Versatile Express power-off and reset driver" 204*4882a593Smuzhiyun depends on ARM || ARM64 205*4882a593Smuzhiyun depends on VEXPRESS_CONFIG=y 206*4882a593Smuzhiyun help 207*4882a593Smuzhiyun Power off and reset support for the ARM Ltd. Versatile 208*4882a593Smuzhiyun Express boards. 209*4882a593Smuzhiyun 210*4882a593Smuzhiyunconfig POWER_RESET_XGENE 211*4882a593Smuzhiyun bool "APM SoC X-Gene reset driver" 212*4882a593Smuzhiyun depends on ARM64 213*4882a593Smuzhiyun help 214*4882a593Smuzhiyun Reboot support for the APM SoC X-Gene Eval boards. 215*4882a593Smuzhiyun 216*4882a593Smuzhiyunconfig POWER_RESET_KEYSTONE 217*4882a593Smuzhiyun bool "Keystone reset driver" 218*4882a593Smuzhiyun depends on ARCH_KEYSTONE || COMPILE_TEST 219*4882a593Smuzhiyun depends on HAS_IOMEM 220*4882a593Smuzhiyun select MFD_SYSCON 221*4882a593Smuzhiyun help 222*4882a593Smuzhiyun Reboot support for the KEYSTONE SoCs. 223*4882a593Smuzhiyun 224*4882a593Smuzhiyunconfig POWER_RESET_SYSCON 225*4882a593Smuzhiyun bool "Generic SYSCON regmap reset driver" 226*4882a593Smuzhiyun depends on OF 227*4882a593Smuzhiyun depends on HAS_IOMEM 228*4882a593Smuzhiyun select MFD_SYSCON 229*4882a593Smuzhiyun help 230*4882a593Smuzhiyun Reboot support for generic SYSCON mapped register reset. 231*4882a593Smuzhiyun 232*4882a593Smuzhiyunconfig POWER_RESET_SYSCON_POWEROFF 233*4882a593Smuzhiyun bool "Generic SYSCON regmap poweroff driver" 234*4882a593Smuzhiyun depends on OF 235*4882a593Smuzhiyun depends on HAS_IOMEM 236*4882a593Smuzhiyun select MFD_SYSCON 237*4882a593Smuzhiyun help 238*4882a593Smuzhiyun Poweroff support for generic SYSCON mapped register poweroff. 239*4882a593Smuzhiyun 240*4882a593Smuzhiyunconfig POWER_RESET_RMOBILE 241*4882a593Smuzhiyun tristate "Renesas R-Mobile reset driver" 242*4882a593Smuzhiyun depends on ARCH_RMOBILE || COMPILE_TEST 243*4882a593Smuzhiyun depends on HAS_IOMEM 244*4882a593Smuzhiyun help 245*4882a593Smuzhiyun Reboot support for Renesas R-Mobile and SH-Mobile SoCs. 246*4882a593Smuzhiyun 247*4882a593Smuzhiyunconfig POWER_RESET_ZX 248*4882a593Smuzhiyun tristate "ZTE SoCs reset driver" 249*4882a593Smuzhiyun depends on ARCH_ZX || COMPILE_TEST 250*4882a593Smuzhiyun depends on HAS_IOMEM 251*4882a593Smuzhiyun help 252*4882a593Smuzhiyun Reboot support for ZTE SoCs. 253*4882a593Smuzhiyun 254*4882a593Smuzhiyunconfig REBOOT_MODE 255*4882a593Smuzhiyun tristate 256*4882a593Smuzhiyun 257*4882a593Smuzhiyunconfig SYSCON_REBOOT_MODE 258*4882a593Smuzhiyun tristate "Generic SYSCON regmap reboot mode driver" 259*4882a593Smuzhiyun depends on OF 260*4882a593Smuzhiyun depends on MFD_SYSCON 261*4882a593Smuzhiyun select REBOOT_MODE 262*4882a593Smuzhiyun help 263*4882a593Smuzhiyun Say y here will enable reboot mode driver. This will 264*4882a593Smuzhiyun get reboot mode arguments and store it in SYSCON mapped 265*4882a593Smuzhiyun register, then the bootloader can read it to take different 266*4882a593Smuzhiyun action according to the mode. 267*4882a593Smuzhiyun 268*4882a593Smuzhiyunconfig POWER_RESET_SC27XX 269*4882a593Smuzhiyun tristate "Spreadtrum SC27xx PMIC power-off driver" 270*4882a593Smuzhiyun depends on MFD_SC27XX_PMIC || COMPILE_TEST 271*4882a593Smuzhiyun help 272*4882a593Smuzhiyun This driver supports powering off a system through 273*4882a593Smuzhiyun Spreadtrum SC27xx series PMICs. The SC27xx series 274*4882a593Smuzhiyun PMICs includes the SC2720, SC2721, SC2723, SC2730 275*4882a593Smuzhiyun and SC2731 chips. 276*4882a593Smuzhiyun 277*4882a593Smuzhiyunconfig NVMEM_REBOOT_MODE 278*4882a593Smuzhiyun tristate "Generic NVMEM reboot mode driver" 279*4882a593Smuzhiyun depends on OF 280*4882a593Smuzhiyun select REBOOT_MODE 281*4882a593Smuzhiyun help 282*4882a593Smuzhiyun Say y here will enable reboot mode driver. This will 283*4882a593Smuzhiyun get reboot mode arguments and store it in a NVMEM cell, 284*4882a593Smuzhiyun then the bootloader can read it and take different 285*4882a593Smuzhiyun action according to the mode. 286*4882a593Smuzhiyun 287*4882a593Smuzhiyunendif 288*4882a593Smuzhiyun 289