18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_cimenuconfig POWER_RESET
38c2ecf20Sopenharmony_ci	bool "Board level reset or power off"
48c2ecf20Sopenharmony_ci	help
58c2ecf20Sopenharmony_ci	  Provides a number of drivers which either reset a complete board
68c2ecf20Sopenharmony_ci	  or shut it down, by manipulating the main power supply on the board.
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci	  Say Y here to enable board reset and power off
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciif POWER_RESET
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciconfig POWER_RESET_AS3722
138c2ecf20Sopenharmony_ci	bool "ams AS3722 power-off driver"
148c2ecf20Sopenharmony_ci	depends on MFD_AS3722
158c2ecf20Sopenharmony_ci	help
168c2ecf20Sopenharmony_ci	  This driver supports turning off board via a ams AS3722 power-off.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciconfig POWER_RESET_AT91_POWEROFF
198c2ecf20Sopenharmony_ci	tristate "Atmel AT91 poweroff driver"
208c2ecf20Sopenharmony_ci	depends on ARCH_AT91
218c2ecf20Sopenharmony_ci	default SOC_AT91SAM9 || SOC_SAMA5
228c2ecf20Sopenharmony_ci	help
238c2ecf20Sopenharmony_ci	  This driver supports poweroff for Atmel AT91SAM9 and SAMA5
248c2ecf20Sopenharmony_ci	  SoCs
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciconfig POWER_RESET_AT91_RESET
278c2ecf20Sopenharmony_ci	tristate "Atmel AT91 reset driver"
288c2ecf20Sopenharmony_ci	depends on ARCH_AT91
298c2ecf20Sopenharmony_ci	default SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
308c2ecf20Sopenharmony_ci	help
318c2ecf20Sopenharmony_ci	  This driver supports restart for Atmel AT91SAM9 and SAMA5
328c2ecf20Sopenharmony_ci	  SoCs
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciconfig POWER_RESET_AT91_SAMA5D2_SHDWC
358c2ecf20Sopenharmony_ci	tristate "Atmel AT91 SAMA5D2-Compatible shutdown controller driver"
368c2ecf20Sopenharmony_ci	depends on ARCH_AT91
378c2ecf20Sopenharmony_ci	default SOC_SAM9X60 || SOC_SAMA5
388c2ecf20Sopenharmony_ci	help
398c2ecf20Sopenharmony_ci	  This driver supports the alternate shutdown controller for some Atmel
408c2ecf20Sopenharmony_ci	  SAMA5 SoCs. It is present for example on SAMA5D2 SoC.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciconfig POWER_RESET_AXXIA
438c2ecf20Sopenharmony_ci	bool "LSI Axxia reset driver"
448c2ecf20Sopenharmony_ci	depends on ARCH_AXXIA
458c2ecf20Sopenharmony_ci	help
468c2ecf20Sopenharmony_ci	  This driver supports restart for Axxia SoC.
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci	  Say Y if you have an Axxia family SoC.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ciconfig POWER_RESET_BRCMKONA
518c2ecf20Sopenharmony_ci	bool "Broadcom Kona reset driver"
528c2ecf20Sopenharmony_ci	depends on ARM || COMPILE_TEST
538c2ecf20Sopenharmony_ci	default ARCH_BCM_MOBILE
548c2ecf20Sopenharmony_ci	help
558c2ecf20Sopenharmony_ci	  This driver provides restart support for Broadcom Kona chips.
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci	  Say Y here if you have a Broadcom Kona-based board and you wish
588c2ecf20Sopenharmony_ci	  to have restart support.
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciconfig POWER_RESET_BRCMSTB
618c2ecf20Sopenharmony_ci	bool "Broadcom STB reset driver"
628c2ecf20Sopenharmony_ci	depends on ARM || ARM64 || MIPS || COMPILE_TEST
638c2ecf20Sopenharmony_ci	depends on MFD_SYSCON
648c2ecf20Sopenharmony_ci	default ARCH_BRCMSTB || BMIPS_GENERIC
658c2ecf20Sopenharmony_ci	help
668c2ecf20Sopenharmony_ci	  This driver provides restart support for Broadcom STB boards.
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci	  Say Y here if you have a Broadcom STB board and you wish
698c2ecf20Sopenharmony_ci	  to have restart support.
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ciconfig POWER_RESET_GEMINI_POWEROFF
728c2ecf20Sopenharmony_ci	bool "Cortina Gemini power-off driver"
738c2ecf20Sopenharmony_ci	depends on ARCH_GEMINI || COMPILE_TEST
748c2ecf20Sopenharmony_ci	depends on OF && HAS_IOMEM
758c2ecf20Sopenharmony_ci	default ARCH_GEMINI
768c2ecf20Sopenharmony_ci	help
778c2ecf20Sopenharmony_ci	  This driver supports turning off the Cortina Gemini SoC.
788c2ecf20Sopenharmony_ci	  Select this if you're building a kernel with Gemini SoC support.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ciconfig POWER_RESET_GPIO
818c2ecf20Sopenharmony_ci	bool "GPIO power-off driver"
828c2ecf20Sopenharmony_ci	depends on OF_GPIO
838c2ecf20Sopenharmony_ci	help
848c2ecf20Sopenharmony_ci	  This driver supports turning off your board via a GPIO line.
858c2ecf20Sopenharmony_ci	  If your board needs a GPIO high/low to power down, say Y and
868c2ecf20Sopenharmony_ci	  create a binding in your devicetree.
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ciconfig POWER_RESET_GPIO_RESTART
898c2ecf20Sopenharmony_ci	bool "GPIO restart driver"
908c2ecf20Sopenharmony_ci	depends on OF_GPIO
918c2ecf20Sopenharmony_ci	help
928c2ecf20Sopenharmony_ci	  This driver supports restarting your board via a GPIO line.
938c2ecf20Sopenharmony_ci	  If your board needs a GPIO high/low to restart, say Y and
948c2ecf20Sopenharmony_ci	  create a binding in your devicetree.
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ciconfig POWER_RESET_HISI
978c2ecf20Sopenharmony_ci	bool "Hisilicon power-off driver"
988c2ecf20Sopenharmony_ci	depends on ARCH_HISI
998c2ecf20Sopenharmony_ci	help
1008c2ecf20Sopenharmony_ci	  Reboot support for Hisilicon boards.
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ciconfig POWER_RESET_LINKSTATION
1038c2ecf20Sopenharmony_ci	tristate "Buffalo LinkStation power-off driver"
1048c2ecf20Sopenharmony_ci	depends on ARCH_MVEBU || COMPILE_TEST
1058c2ecf20Sopenharmony_ci	depends on OF_MDIO && PHYLIB
1068c2ecf20Sopenharmony_ci	help
1078c2ecf20Sopenharmony_ci	  This driver supports turning off some Buffalo LinkStations by
1088c2ecf20Sopenharmony_ci	  setting an output pin at the ethernet PHY to the correct state.
1098c2ecf20Sopenharmony_ci	  It also makes the device compatible with the WoL function.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci	  Say Y here if you have a Buffalo LinkStation LS421D/E.
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ciconfig POWER_RESET_MSM
1148c2ecf20Sopenharmony_ci	bool "Qualcomm MSM power-off driver"
1158c2ecf20Sopenharmony_ci	depends on ARCH_QCOM
1168c2ecf20Sopenharmony_ci	help
1178c2ecf20Sopenharmony_ci	  Power off and restart support for Qualcomm boards.
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ciconfig POWER_RESET_QCOM_PON
1208c2ecf20Sopenharmony_ci	tristate "Qualcomm power-on driver"
1218c2ecf20Sopenharmony_ci	depends on ARCH_QCOM
1228c2ecf20Sopenharmony_ci	depends on MFD_SPMI_PMIC
1238c2ecf20Sopenharmony_ci	select REBOOT_MODE
1248c2ecf20Sopenharmony_ci	help
1258c2ecf20Sopenharmony_ci	  Power On support for Qualcomm boards.
1268c2ecf20Sopenharmony_ci	  If you have a Qualcomm platform and need support for
1278c2ecf20Sopenharmony_ci	  power-on and reboot reason, Say Y.
1288c2ecf20Sopenharmony_ci	  If unsure, Say N.
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ciconfig POWER_RESET_OCELOT_RESET
1318c2ecf20Sopenharmony_ci	bool "Microsemi Ocelot reset driver"
1328c2ecf20Sopenharmony_ci	depends on MSCC_OCELOT || ARCH_SPARX5 || COMPILE_TEST
1338c2ecf20Sopenharmony_ci	select MFD_SYSCON
1348c2ecf20Sopenharmony_ci	help
1358c2ecf20Sopenharmony_ci	  This driver supports restart for Microsemi Ocelot SoC and similar.
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ciconfig POWER_RESET_OXNAS
1388c2ecf20Sopenharmony_ci	bool "OXNAS SoC restart driver"
1398c2ecf20Sopenharmony_ci	depends on ARCH_OXNAS
1408c2ecf20Sopenharmony_ci	default MACH_OX820
1418c2ecf20Sopenharmony_ci	help
1428c2ecf20Sopenharmony_ci	  Restart support for OXNAS/PLXTECH OX820 SoC.
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ciconfig POWER_RESET_PIIX4_POWEROFF
1458c2ecf20Sopenharmony_ci	tristate "Intel PIIX4 power-off driver"
1468c2ecf20Sopenharmony_ci	depends on PCI
1478c2ecf20Sopenharmony_ci	depends on MIPS || COMPILE_TEST
1488c2ecf20Sopenharmony_ci	help
1498c2ecf20Sopenharmony_ci	  This driver supports powering off a system using the Intel PIIX4
1508c2ecf20Sopenharmony_ci	  southbridge, for example the MIPS Malta development board. The
1518c2ecf20Sopenharmony_ci	  southbridge SOff state is entered in response to a request to
1528c2ecf20Sopenharmony_ci	  power off the system.
1538c2ecf20Sopenharmony_ci
1548c2ecf20Sopenharmony_ciconfig POWER_RESET_LTC2952
1558c2ecf20Sopenharmony_ci	bool "LTC2952 PowerPath power-off driver"
1568c2ecf20Sopenharmony_ci	depends on OF_GPIO
1578c2ecf20Sopenharmony_ci	help
1588c2ecf20Sopenharmony_ci	  This driver supports an external powerdown trigger and board power
1598c2ecf20Sopenharmony_ci	  down via the LTC2952. Bindings are made in the device tree.
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ciconfig POWER_RESET_MT6323
1628c2ecf20Sopenharmony_ci	bool "MediaTek MT6323 power-off driver"
1638c2ecf20Sopenharmony_ci	depends on MFD_MT6397
1648c2ecf20Sopenharmony_ci	help
1658c2ecf20Sopenharmony_ci	  The power-off driver is responsible for externally shutdown down
1668c2ecf20Sopenharmony_ci	  the power of a remote MediaTek SoC MT6323 is connected to through
1678c2ecf20Sopenharmony_ci	  controlling a tiny circuit BBPU inside MT6323 RTC.
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci	  Say Y if you have a board where MT6323 could be found.
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ciconfig POWER_RESET_QNAP
1728c2ecf20Sopenharmony_ci	bool "QNAP power-off driver"
1738c2ecf20Sopenharmony_ci	depends on OF_GPIO && PLAT_ORION
1748c2ecf20Sopenharmony_ci	help
1758c2ecf20Sopenharmony_ci	  This driver supports turning off QNAP NAS devices by sending
1768c2ecf20Sopenharmony_ci	  commands to the microcontroller which controls the main power.
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ci	  Say Y if you have a QNAP NAS.
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ciconfig POWER_RESET_RESTART
1818c2ecf20Sopenharmony_ci	bool "Restart power-off driver"
1828c2ecf20Sopenharmony_ci	help
1838c2ecf20Sopenharmony_ci	  Some boards don't actually have the ability to power off.
1848c2ecf20Sopenharmony_ci	  Instead they restart, and u-boot holds the SoC until the
1858c2ecf20Sopenharmony_ci	  user presses a key. u-boot then boots into Linux.
1868c2ecf20Sopenharmony_ci
1878c2ecf20Sopenharmony_ciconfig POWER_RESET_ST
1888c2ecf20Sopenharmony_ci	bool "ST restart driver"
1898c2ecf20Sopenharmony_ci	depends on ARCH_STI
1908c2ecf20Sopenharmony_ci	help
1918c2ecf20Sopenharmony_ci	  Reset support for STMicroelectronics boards.
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ciconfig POWER_RESET_VERSATILE
1948c2ecf20Sopenharmony_ci	bool "ARM Versatile family reboot driver"
1958c2ecf20Sopenharmony_ci	depends on ARM
1968c2ecf20Sopenharmony_ci	depends on MFD_SYSCON
1978c2ecf20Sopenharmony_ci	depends on OF
1988c2ecf20Sopenharmony_ci	help
1998c2ecf20Sopenharmony_ci	  Power off and restart support for ARM Versatile family of
2008c2ecf20Sopenharmony_ci	  reference boards.
2018c2ecf20Sopenharmony_ci
2028c2ecf20Sopenharmony_ciconfig POWER_RESET_VEXPRESS
2038c2ecf20Sopenharmony_ci	bool "ARM Versatile Express power-off and reset driver"
2048c2ecf20Sopenharmony_ci	depends on ARM || ARM64
2058c2ecf20Sopenharmony_ci	depends on VEXPRESS_CONFIG=y
2068c2ecf20Sopenharmony_ci	help
2078c2ecf20Sopenharmony_ci	  Power off and reset support for the ARM Ltd. Versatile
2088c2ecf20Sopenharmony_ci	  Express boards.
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ciconfig POWER_RESET_XGENE
2118c2ecf20Sopenharmony_ci	bool "APM SoC X-Gene reset driver"
2128c2ecf20Sopenharmony_ci	depends on ARM64
2138c2ecf20Sopenharmony_ci	help
2148c2ecf20Sopenharmony_ci	  Reboot support for the APM SoC X-Gene Eval boards.
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ciconfig POWER_RESET_KEYSTONE
2178c2ecf20Sopenharmony_ci	bool "Keystone reset driver"
2188c2ecf20Sopenharmony_ci	depends on ARCH_KEYSTONE || COMPILE_TEST
2198c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
2208c2ecf20Sopenharmony_ci	select MFD_SYSCON
2218c2ecf20Sopenharmony_ci	help
2228c2ecf20Sopenharmony_ci	  Reboot support for the KEYSTONE SoCs.
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ciconfig POWER_RESET_SYSCON
2258c2ecf20Sopenharmony_ci	bool "Generic SYSCON regmap reset driver"
2268c2ecf20Sopenharmony_ci	depends on OF
2278c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
2288c2ecf20Sopenharmony_ci	select MFD_SYSCON
2298c2ecf20Sopenharmony_ci	help
2308c2ecf20Sopenharmony_ci	  Reboot support for generic SYSCON mapped register reset.
2318c2ecf20Sopenharmony_ci
2328c2ecf20Sopenharmony_ciconfig POWER_RESET_SYSCON_POWEROFF
2338c2ecf20Sopenharmony_ci	bool "Generic SYSCON regmap poweroff driver"
2348c2ecf20Sopenharmony_ci	depends on OF
2358c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
2368c2ecf20Sopenharmony_ci	select MFD_SYSCON
2378c2ecf20Sopenharmony_ci	help
2388c2ecf20Sopenharmony_ci	  Poweroff support for generic SYSCON mapped register poweroff.
2398c2ecf20Sopenharmony_ci
2408c2ecf20Sopenharmony_ciconfig POWER_RESET_RMOBILE
2418c2ecf20Sopenharmony_ci	tristate "Renesas R-Mobile reset driver"
2428c2ecf20Sopenharmony_ci	depends on ARCH_RMOBILE || COMPILE_TEST
2438c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
2448c2ecf20Sopenharmony_ci	help
2458c2ecf20Sopenharmony_ci	  Reboot support for Renesas R-Mobile and SH-Mobile SoCs.
2468c2ecf20Sopenharmony_ci
2478c2ecf20Sopenharmony_ciconfig POWER_RESET_ZX
2488c2ecf20Sopenharmony_ci	tristate "ZTE SoCs reset driver"
2498c2ecf20Sopenharmony_ci	depends on ARCH_ZX || COMPILE_TEST
2508c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
2518c2ecf20Sopenharmony_ci	help
2528c2ecf20Sopenharmony_ci	  Reboot support for ZTE SoCs.
2538c2ecf20Sopenharmony_ci
2548c2ecf20Sopenharmony_ciconfig REBOOT_MODE
2558c2ecf20Sopenharmony_ci	tristate
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ciconfig SYSCON_REBOOT_MODE
2588c2ecf20Sopenharmony_ci	tristate "Generic SYSCON regmap reboot mode driver"
2598c2ecf20Sopenharmony_ci	depends on OF
2608c2ecf20Sopenharmony_ci	depends on MFD_SYSCON
2618c2ecf20Sopenharmony_ci	select REBOOT_MODE
2628c2ecf20Sopenharmony_ci	help
2638c2ecf20Sopenharmony_ci	  Say y here will enable reboot mode driver. This will
2648c2ecf20Sopenharmony_ci	  get reboot mode arguments and store it in SYSCON mapped
2658c2ecf20Sopenharmony_ci	  register, then the bootloader can read it to take different
2668c2ecf20Sopenharmony_ci	  action according to the mode.
2678c2ecf20Sopenharmony_ci
2688c2ecf20Sopenharmony_ciconfig POWER_RESET_SC27XX
2698c2ecf20Sopenharmony_ci	tristate "Spreadtrum SC27xx PMIC power-off driver"
2708c2ecf20Sopenharmony_ci	depends on MFD_SC27XX_PMIC || COMPILE_TEST
2718c2ecf20Sopenharmony_ci	help
2728c2ecf20Sopenharmony_ci	  This driver supports powering off a system through
2738c2ecf20Sopenharmony_ci	  Spreadtrum SC27xx series PMICs. The SC27xx series
2748c2ecf20Sopenharmony_ci	  PMICs includes the SC2720, SC2721, SC2723, SC2730
2758c2ecf20Sopenharmony_ci	  and SC2731 chips.
2768c2ecf20Sopenharmony_ci
2778c2ecf20Sopenharmony_ciconfig NVMEM_REBOOT_MODE
2788c2ecf20Sopenharmony_ci	tristate "Generic NVMEM reboot mode driver"
2798c2ecf20Sopenharmony_ci	depends on OF
2808c2ecf20Sopenharmony_ci	select REBOOT_MODE
2818c2ecf20Sopenharmony_ci	help
2828c2ecf20Sopenharmony_ci	  Say y here will enable reboot mode driver. This will
2838c2ecf20Sopenharmony_ci	  get reboot mode arguments and store it in a NVMEM cell,
2848c2ecf20Sopenharmony_ci	  then the bootloader can read it and take different
2858c2ecf20Sopenharmony_ci	  action according to the mode.
2868c2ecf20Sopenharmony_ci
2878c2ecf20Sopenharmony_ciendif
2888c2ecf20Sopenharmony_ci
289