162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_cimenuconfig POWER_RESET 362306a36Sopenharmony_ci bool "Board level reset or power off" 462306a36Sopenharmony_ci help 562306a36Sopenharmony_ci Provides a number of drivers which either reset a complete board 662306a36Sopenharmony_ci or shut it down, by manipulating the main power supply on the board. 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci Say Y here to enable board reset and power off 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciif POWER_RESET 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciconfig POWER_RESET_AS3722 1362306a36Sopenharmony_ci bool "ams AS3722 power-off driver" 1462306a36Sopenharmony_ci depends on MFD_AS3722 1562306a36Sopenharmony_ci help 1662306a36Sopenharmony_ci This driver supports turning off board via a ams AS3722 power-off. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciconfig POWER_RESET_AT91_POWEROFF 1962306a36Sopenharmony_ci tristate "Atmel AT91 poweroff driver" 2062306a36Sopenharmony_ci depends on ARCH_AT91 2162306a36Sopenharmony_ci default SOC_AT91SAM9 || SOC_SAMA5 2262306a36Sopenharmony_ci help 2362306a36Sopenharmony_ci This driver supports poweroff for Atmel AT91SAM9 and SAMA5 2462306a36Sopenharmony_ci SoCs 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciconfig POWER_RESET_AT91_RESET 2762306a36Sopenharmony_ci tristate "Atmel AT91 reset driver" 2862306a36Sopenharmony_ci depends on ARCH_AT91 2962306a36Sopenharmony_ci default SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5 3062306a36Sopenharmony_ci help 3162306a36Sopenharmony_ci This driver supports restart for Atmel AT91SAM9 and SAMA5 3262306a36Sopenharmony_ci SoCs 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciconfig POWER_RESET_AT91_SAMA5D2_SHDWC 3562306a36Sopenharmony_ci tristate "Atmel AT91 SAMA5D2-Compatible shutdown controller driver" 3662306a36Sopenharmony_ci depends on ARCH_AT91 3762306a36Sopenharmony_ci default SOC_SAM9X60 || SOC_SAMA5 3862306a36Sopenharmony_ci help 3962306a36Sopenharmony_ci This driver supports the alternate shutdown controller for some Atmel 4062306a36Sopenharmony_ci SAMA5 SoCs. It is present for example on SAMA5D2 SoC. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciconfig POWER_RESET_ATC260X 4362306a36Sopenharmony_ci tristate "Actions Semi ATC260x PMIC power-off driver" 4462306a36Sopenharmony_ci depends on MFD_ATC260X 4562306a36Sopenharmony_ci help 4662306a36Sopenharmony_ci This driver provides power-off and restart support for a system 4762306a36Sopenharmony_ci through Actions Semi ATC260x series PMICs. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciconfig POWER_RESET_AXXIA 5062306a36Sopenharmony_ci bool "LSI Axxia reset driver" 5162306a36Sopenharmony_ci depends on ARCH_AXXIA 5262306a36Sopenharmony_ci help 5362306a36Sopenharmony_ci This driver supports restart for Axxia SoC. 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci Say Y if you have an Axxia family SoC. 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ciconfig POWER_RESET_BRCMKONA 5862306a36Sopenharmony_ci bool "Broadcom Kona reset driver" 5962306a36Sopenharmony_ci depends on ARM || COMPILE_TEST 6062306a36Sopenharmony_ci default ARCH_BCM_MOBILE 6162306a36Sopenharmony_ci help 6262306a36Sopenharmony_ci This driver provides restart support for Broadcom Kona chips. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci Say Y here if you have a Broadcom Kona-based board and you wish 6562306a36Sopenharmony_ci to have restart support. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ciconfig POWER_RESET_BRCMSTB 6862306a36Sopenharmony_ci bool "Broadcom STB reset driver" 6962306a36Sopenharmony_ci depends on ARM || ARM64 || MIPS || COMPILE_TEST 7062306a36Sopenharmony_ci depends on MFD_SYSCON 7162306a36Sopenharmony_ci default ARCH_BRCMSTB || BMIPS_GENERIC 7262306a36Sopenharmony_ci help 7362306a36Sopenharmony_ci This driver provides restart support for Broadcom STB boards. 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci Say Y here if you have a Broadcom STB board and you wish 7662306a36Sopenharmony_ci to have restart support. 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ciconfig POWER_RESET_GEMINI_POWEROFF 7962306a36Sopenharmony_ci bool "Cortina Gemini power-off driver" 8062306a36Sopenharmony_ci depends on ARCH_GEMINI || COMPILE_TEST 8162306a36Sopenharmony_ci depends on OF && HAS_IOMEM 8262306a36Sopenharmony_ci default ARCH_GEMINI 8362306a36Sopenharmony_ci help 8462306a36Sopenharmony_ci This driver supports turning off the Cortina Gemini SoC. 8562306a36Sopenharmony_ci Select this if you're building a kernel with Gemini SoC support. 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ciconfig POWER_RESET_GPIO 8862306a36Sopenharmony_ci bool "GPIO power-off driver" 8962306a36Sopenharmony_ci depends on OF_GPIO 9062306a36Sopenharmony_ci help 9162306a36Sopenharmony_ci This driver supports turning off your board via a GPIO line. 9262306a36Sopenharmony_ci If your board needs a GPIO high/low to power down, say Y and 9362306a36Sopenharmony_ci create a binding in your devicetree. 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ciconfig POWER_RESET_GPIO_RESTART 9662306a36Sopenharmony_ci bool "GPIO restart driver" 9762306a36Sopenharmony_ci depends on OF_GPIO 9862306a36Sopenharmony_ci help 9962306a36Sopenharmony_ci This driver supports restarting your board via a GPIO line. 10062306a36Sopenharmony_ci If your board needs a GPIO high/low to restart, say Y and 10162306a36Sopenharmony_ci create a binding in your devicetree. 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ciconfig POWER_RESET_HISI 10462306a36Sopenharmony_ci bool "Hisilicon power-off driver" 10562306a36Sopenharmony_ci depends on ARCH_HISI 10662306a36Sopenharmony_ci help 10762306a36Sopenharmony_ci Reboot support for Hisilicon boards. 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ciconfig POWER_RESET_LINKSTATION 11062306a36Sopenharmony_ci tristate "Buffalo LinkStation power-off driver" 11162306a36Sopenharmony_ci depends on ARCH_MVEBU || COMPILE_TEST 11262306a36Sopenharmony_ci depends on OF_MDIO && PHYLIB 11362306a36Sopenharmony_ci help 11462306a36Sopenharmony_ci This driver supports turning off some Buffalo LinkStations by 11562306a36Sopenharmony_ci setting an output pin at the ethernet PHY to the correct state. 11662306a36Sopenharmony_ci It also makes the device compatible with the WoL function. 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci Say Y here if you have a Buffalo LinkStation LS421D/E. 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ciconfig POWER_RESET_MSM 12162306a36Sopenharmony_ci bool "Qualcomm MSM power-off driver" 12262306a36Sopenharmony_ci depends on ARCH_QCOM 12362306a36Sopenharmony_ci help 12462306a36Sopenharmony_ci Power off and restart support for Qualcomm boards. 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ciconfig POWER_RESET_QCOM_PON 12762306a36Sopenharmony_ci tristate "Qualcomm power-on driver" 12862306a36Sopenharmony_ci depends on ARCH_QCOM 12962306a36Sopenharmony_ci depends on MFD_SPMI_PMIC 13062306a36Sopenharmony_ci select REBOOT_MODE 13162306a36Sopenharmony_ci help 13262306a36Sopenharmony_ci Power On support for Qualcomm boards. 13362306a36Sopenharmony_ci If you have a Qualcomm platform and need support for 13462306a36Sopenharmony_ci power-on and reboot reason, Say Y. 13562306a36Sopenharmony_ci If unsure, Say N. 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ciconfig POWER_RESET_OCELOT_RESET 13862306a36Sopenharmony_ci bool "Microsemi Ocelot reset driver" 13962306a36Sopenharmony_ci depends on MSCC_OCELOT || ARCH_SPARX5 || COMPILE_TEST 14062306a36Sopenharmony_ci select MFD_SYSCON 14162306a36Sopenharmony_ci help 14262306a36Sopenharmony_ci This driver supports restart for Microsemi Ocelot SoC and similar. 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ciconfig POWER_RESET_ODROID_GO_ULTRA_POWEROFF 14562306a36Sopenharmony_ci bool "Odroid Go Ultra power-off driver" 14662306a36Sopenharmony_ci depends on ARCH_MESON || COMPILE_TEST 14762306a36Sopenharmony_ci depends on I2C=y && OF 14862306a36Sopenharmony_ci help 14962306a36Sopenharmony_ci This driver supports Power off for Odroid Go Ultra device. 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ciconfig POWER_RESET_PIIX4_POWEROFF 15262306a36Sopenharmony_ci tristate "Intel PIIX4 power-off driver" 15362306a36Sopenharmony_ci depends on PCI 15462306a36Sopenharmony_ci depends on HAS_IOPORT 15562306a36Sopenharmony_ci depends on MIPS || COMPILE_TEST 15662306a36Sopenharmony_ci help 15762306a36Sopenharmony_ci This driver supports powering off a system using the Intel PIIX4 15862306a36Sopenharmony_ci southbridge, for example the MIPS Malta development board. The 15962306a36Sopenharmony_ci southbridge SOff state is entered in response to a request to 16062306a36Sopenharmony_ci power off the system. 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ciconfig POWER_RESET_LTC2952 16362306a36Sopenharmony_ci bool "LTC2952 PowerPath power-off driver" 16462306a36Sopenharmony_ci depends on OF_GPIO 16562306a36Sopenharmony_ci help 16662306a36Sopenharmony_ci This driver supports an external powerdown trigger and board power 16762306a36Sopenharmony_ci down via the LTC2952. Bindings are made in the device tree. 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ciconfig POWER_RESET_MT6323 17062306a36Sopenharmony_ci bool "MediaTek MT6323 power-off driver" 17162306a36Sopenharmony_ci depends on MFD_MT6397 17262306a36Sopenharmony_ci help 17362306a36Sopenharmony_ci The power-off driver is responsible for externally shutdown down 17462306a36Sopenharmony_ci the power of a remote MediaTek SoC MT6323 is connected to through 17562306a36Sopenharmony_ci controlling a tiny circuit BBPU inside MT6323 RTC. 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci Say Y if you have a board where MT6323 could be found. 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ciconfig POWER_RESET_QNAP 18062306a36Sopenharmony_ci bool "QNAP power-off driver" 18162306a36Sopenharmony_ci depends on OF_GPIO && PLAT_ORION 18262306a36Sopenharmony_ci help 18362306a36Sopenharmony_ci This driver supports turning off QNAP NAS devices by sending 18462306a36Sopenharmony_ci commands to the microcontroller which controls the main power. 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci Say Y if you have a QNAP NAS. 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ciconfig POWER_RESET_REGULATOR 18962306a36Sopenharmony_ci bool "Regulator subsystem power-off driver" 19062306a36Sopenharmony_ci depends on OF && REGULATOR 19162306a36Sopenharmony_ci help 19262306a36Sopenharmony_ci This driver supports turning off your board by disabling a 19362306a36Sopenharmony_ci power regulator defined in the devicetree. 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ciconfig POWER_RESET_RESTART 19662306a36Sopenharmony_ci bool "Restart power-off driver" 19762306a36Sopenharmony_ci help 19862306a36Sopenharmony_ci Some boards don't actually have the ability to power off. 19962306a36Sopenharmony_ci Instead they restart, and u-boot holds the SoC until the 20062306a36Sopenharmony_ci user presses a key. u-boot then boots into Linux. 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ciconfig POWER_RESET_ST 20362306a36Sopenharmony_ci bool "ST restart driver" 20462306a36Sopenharmony_ci depends on ARCH_STI 20562306a36Sopenharmony_ci help 20662306a36Sopenharmony_ci Reset support for STMicroelectronics boards. 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ciconfig POWER_RESET_TPS65086 20962306a36Sopenharmony_ci bool "TPS65086 restart driver" 21062306a36Sopenharmony_ci depends on MFD_TPS65086 21162306a36Sopenharmony_ci help 21262306a36Sopenharmony_ci This driver adds support for resetting the TPS65086 PMIC on restart. 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ciconfig POWER_RESET_VERSATILE 21562306a36Sopenharmony_ci bool "ARM Versatile family reboot driver" 21662306a36Sopenharmony_ci depends on ARM 21762306a36Sopenharmony_ci depends on MFD_SYSCON 21862306a36Sopenharmony_ci depends on OF 21962306a36Sopenharmony_ci help 22062306a36Sopenharmony_ci Power off and restart support for ARM Versatile family of 22162306a36Sopenharmony_ci reference boards. 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ciconfig POWER_RESET_VEXPRESS 22462306a36Sopenharmony_ci bool "ARM Versatile Express power-off and reset driver" 22562306a36Sopenharmony_ci depends on ARM || ARM64 22662306a36Sopenharmony_ci depends on VEXPRESS_CONFIG=y 22762306a36Sopenharmony_ci help 22862306a36Sopenharmony_ci Power off and reset support for the ARM Ltd. Versatile 22962306a36Sopenharmony_ci Express boards. 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ciconfig POWER_RESET_XGENE 23262306a36Sopenharmony_ci bool "APM SoC X-Gene reset driver" 23362306a36Sopenharmony_ci depends on ARM64 23462306a36Sopenharmony_ci help 23562306a36Sopenharmony_ci Reboot support for the APM SoC X-Gene Eval boards. 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ciconfig POWER_RESET_KEYSTONE 23862306a36Sopenharmony_ci bool "Keystone reset driver" 23962306a36Sopenharmony_ci depends on ARCH_KEYSTONE || COMPILE_TEST 24062306a36Sopenharmony_ci depends on HAS_IOMEM 24162306a36Sopenharmony_ci select MFD_SYSCON 24262306a36Sopenharmony_ci help 24362306a36Sopenharmony_ci Reboot support for the KEYSTONE SoCs. 24462306a36Sopenharmony_ci 24562306a36Sopenharmony_ciconfig POWER_RESET_SYSCON 24662306a36Sopenharmony_ci bool "Generic SYSCON regmap reset driver" 24762306a36Sopenharmony_ci depends on OF 24862306a36Sopenharmony_ci depends on HAS_IOMEM 24962306a36Sopenharmony_ci select MFD_SYSCON 25062306a36Sopenharmony_ci help 25162306a36Sopenharmony_ci Reboot support for generic SYSCON mapped register reset. 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ciconfig POWER_RESET_SYSCON_POWEROFF 25462306a36Sopenharmony_ci bool "Generic SYSCON regmap poweroff driver" 25562306a36Sopenharmony_ci depends on OF 25662306a36Sopenharmony_ci depends on HAS_IOMEM 25762306a36Sopenharmony_ci select MFD_SYSCON 25862306a36Sopenharmony_ci help 25962306a36Sopenharmony_ci Poweroff support for generic SYSCON mapped register poweroff. 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ciconfig POWER_RESET_RMOBILE 26262306a36Sopenharmony_ci tristate "Renesas R-Mobile reset driver" 26362306a36Sopenharmony_ci depends on ARCH_RMOBILE || COMPILE_TEST 26462306a36Sopenharmony_ci depends on HAS_IOMEM 26562306a36Sopenharmony_ci help 26662306a36Sopenharmony_ci Reboot support for Renesas R-Mobile and SH-Mobile SoCs. 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ciconfig REBOOT_MODE 26962306a36Sopenharmony_ci tristate 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ciconfig SYSCON_REBOOT_MODE 27262306a36Sopenharmony_ci tristate "Generic SYSCON regmap reboot mode driver" 27362306a36Sopenharmony_ci depends on OF 27462306a36Sopenharmony_ci depends on MFD_SYSCON 27562306a36Sopenharmony_ci select REBOOT_MODE 27662306a36Sopenharmony_ci help 27762306a36Sopenharmony_ci Say y here will enable reboot mode driver. This will 27862306a36Sopenharmony_ci get reboot mode arguments and store it in SYSCON mapped 27962306a36Sopenharmony_ci register, then the bootloader can read it to take different 28062306a36Sopenharmony_ci action according to the mode. 28162306a36Sopenharmony_ci 28262306a36Sopenharmony_ciconfig POWER_RESET_SC27XX 28362306a36Sopenharmony_ci tristate "Spreadtrum SC27xx PMIC power-off driver" 28462306a36Sopenharmony_ci depends on MFD_SC27XX_PMIC || COMPILE_TEST 28562306a36Sopenharmony_ci help 28662306a36Sopenharmony_ci This driver supports powering off a system through 28762306a36Sopenharmony_ci Spreadtrum SC27xx series PMICs. The SC27xx series 28862306a36Sopenharmony_ci PMICs includes the SC2720, SC2721, SC2723, SC2730 28962306a36Sopenharmony_ci and SC2731 chips. 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ciconfig NVMEM_REBOOT_MODE 29262306a36Sopenharmony_ci tristate "Generic NVMEM reboot mode driver" 29362306a36Sopenharmony_ci depends on OF 29462306a36Sopenharmony_ci select REBOOT_MODE 29562306a36Sopenharmony_ci help 29662306a36Sopenharmony_ci Say y here will enable reboot mode driver. This will 29762306a36Sopenharmony_ci get reboot mode arguments and store it in a NVMEM cell, 29862306a36Sopenharmony_ci then the bootloader can read it and take different 29962306a36Sopenharmony_ci action according to the mode. 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ciconfig POWER_MLXBF 30262306a36Sopenharmony_ci tristate "Mellanox BlueField power handling driver" 30362306a36Sopenharmony_ci depends on (GPIO_MLXBF2 || GPIO_MLXBF3) && ACPI 30462306a36Sopenharmony_ci help 30562306a36Sopenharmony_ci This driver supports reset or low power mode handling for Mellanox BlueField. 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ciendif 308