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