0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menuconfig POWER_RESET
0003 bool "Board level reset or power off"
0004 help
0005 Provides a number of drivers which either reset a complete board
0006 or shut it down, by manipulating the main power supply on the board.
0007
0008 Say Y here to enable board reset and power off
0009
0010 if POWER_RESET
0011
0012 config POWER_RESET_AS3722
0013 bool "ams AS3722 power-off driver"
0014 depends on MFD_AS3722
0015 help
0016 This driver supports turning off board via a ams AS3722 power-off.
0017
0018 config POWER_RESET_AT91_POWEROFF
0019 tristate "Atmel AT91 poweroff driver"
0020 depends on ARCH_AT91
0021 default SOC_AT91SAM9 || SOC_SAMA5
0022 help
0023 This driver supports poweroff for Atmel AT91SAM9 and SAMA5
0024 SoCs
0025
0026 config POWER_RESET_AT91_RESET
0027 tristate "Atmel AT91 reset driver"
0028 depends on ARCH_AT91
0029 default SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
0030 help
0031 This driver supports restart for Atmel AT91SAM9 and SAMA5
0032 SoCs
0033
0034 config POWER_RESET_AT91_SAMA5D2_SHDWC
0035 tristate "Atmel AT91 SAMA5D2-Compatible shutdown controller driver"
0036 depends on ARCH_AT91
0037 default SOC_SAM9X60 || SOC_SAMA5
0038 help
0039 This driver supports the alternate shutdown controller for some Atmel
0040 SAMA5 SoCs. It is present for example on SAMA5D2 SoC.
0041
0042 config POWER_RESET_ATC260X
0043 tristate "Actions Semi ATC260x PMIC power-off driver"
0044 depends on MFD_ATC260X
0045 help
0046 This driver provides power-off and restart support for a system
0047 through Actions Semi ATC260x series PMICs.
0048
0049 config POWER_RESET_AXXIA
0050 bool "LSI Axxia reset driver"
0051 depends on ARCH_AXXIA
0052 help
0053 This driver supports restart for Axxia SoC.
0054
0055 Say Y if you have an Axxia family SoC.
0056
0057 config POWER_RESET_BRCMKONA
0058 bool "Broadcom Kona reset driver"
0059 depends on ARM || COMPILE_TEST
0060 default ARCH_BCM_MOBILE
0061 help
0062 This driver provides restart support for Broadcom Kona chips.
0063
0064 Say Y here if you have a Broadcom Kona-based board and you wish
0065 to have restart support.
0066
0067 config POWER_RESET_BRCMSTB
0068 bool "Broadcom STB reset driver"
0069 depends on ARM || ARM64 || MIPS || COMPILE_TEST
0070 depends on MFD_SYSCON
0071 default ARCH_BRCMSTB || BMIPS_GENERIC
0072 help
0073 This driver provides restart support for Broadcom STB boards.
0074
0075 Say Y here if you have a Broadcom STB board and you wish
0076 to have restart support.
0077
0078 config POWER_RESET_GEMINI_POWEROFF
0079 bool "Cortina Gemini power-off driver"
0080 depends on ARCH_GEMINI || COMPILE_TEST
0081 depends on OF && HAS_IOMEM
0082 default ARCH_GEMINI
0083 help
0084 This driver supports turning off the Cortina Gemini SoC.
0085 Select this if you're building a kernel with Gemini SoC support.
0086
0087 config POWER_RESET_GPIO
0088 bool "GPIO power-off driver"
0089 depends on OF_GPIO
0090 help
0091 This driver supports turning off your board via a GPIO line.
0092 If your board needs a GPIO high/low to power down, say Y and
0093 create a binding in your devicetree.
0094
0095 config POWER_RESET_GPIO_RESTART
0096 bool "GPIO restart driver"
0097 depends on OF_GPIO
0098 help
0099 This driver supports restarting your board via a GPIO line.
0100 If your board needs a GPIO high/low to restart, say Y and
0101 create a binding in your devicetree.
0102
0103 config POWER_RESET_HISI
0104 bool "Hisilicon power-off driver"
0105 depends on ARCH_HISI
0106 help
0107 Reboot support for Hisilicon boards.
0108
0109 config POWER_RESET_LINKSTATION
0110 tristate "Buffalo LinkStation power-off driver"
0111 depends on ARCH_MVEBU || COMPILE_TEST
0112 depends on OF_MDIO && PHYLIB
0113 help
0114 This driver supports turning off some Buffalo LinkStations by
0115 setting an output pin at the ethernet PHY to the correct state.
0116 It also makes the device compatible with the WoL function.
0117
0118 Say Y here if you have a Buffalo LinkStation LS421D/E.
0119
0120 config POWER_RESET_MSM
0121 bool "Qualcomm MSM power-off driver"
0122 depends on ARCH_QCOM
0123 help
0124 Power off and restart support for Qualcomm boards.
0125
0126 config POWER_RESET_QCOM_PON
0127 tristate "Qualcomm power-on driver"
0128 depends on ARCH_QCOM
0129 depends on MFD_SPMI_PMIC
0130 select REBOOT_MODE
0131 help
0132 Power On support for Qualcomm boards.
0133 If you have a Qualcomm platform and need support for
0134 power-on and reboot reason, Say Y.
0135 If unsure, Say N.
0136
0137 config POWER_RESET_OCELOT_RESET
0138 bool "Microsemi Ocelot reset driver"
0139 depends on MSCC_OCELOT || ARCH_SPARX5 || COMPILE_TEST
0140 select MFD_SYSCON
0141 help
0142 This driver supports restart for Microsemi Ocelot SoC and similar.
0143
0144 config POWER_RESET_OXNAS
0145 bool "OXNAS SoC restart driver"
0146 depends on ARCH_OXNAS
0147 default MACH_OX820
0148 help
0149 Restart support for OXNAS/PLXTECH OX820 SoC.
0150
0151 config POWER_RESET_PIIX4_POWEROFF
0152 tristate "Intel PIIX4 power-off driver"
0153 depends on PCI
0154 depends on MIPS || COMPILE_TEST
0155 help
0156 This driver supports powering off a system using the Intel PIIX4
0157 southbridge, for example the MIPS Malta development board. The
0158 southbridge SOff state is entered in response to a request to
0159 power off the system.
0160
0161 config POWER_RESET_LTC2952
0162 bool "LTC2952 PowerPath power-off driver"
0163 depends on OF_GPIO
0164 help
0165 This driver supports an external powerdown trigger and board power
0166 down via the LTC2952. Bindings are made in the device tree.
0167
0168 config POWER_RESET_MT6323
0169 bool "MediaTek MT6323 power-off driver"
0170 depends on MFD_MT6397
0171 help
0172 The power-off driver is responsible for externally shutdown down
0173 the power of a remote MediaTek SoC MT6323 is connected to through
0174 controlling a tiny circuit BBPU inside MT6323 RTC.
0175
0176 Say Y if you have a board where MT6323 could be found.
0177
0178 config POWER_RESET_QNAP
0179 bool "QNAP power-off driver"
0180 depends on OF_GPIO && PLAT_ORION
0181 help
0182 This driver supports turning off QNAP NAS devices by sending
0183 commands to the microcontroller which controls the main power.
0184
0185 Say Y if you have a QNAP NAS.
0186
0187 config POWER_RESET_REGULATOR
0188 bool "Regulator subsystem power-off driver"
0189 depends on OF && REGULATOR
0190 help
0191 This driver supports turning off your board by disabling a
0192 power regulator defined in the devicetree.
0193
0194 config POWER_RESET_RESTART
0195 bool "Restart power-off driver"
0196 help
0197 Some boards don't actually have the ability to power off.
0198 Instead they restart, and u-boot holds the SoC until the
0199 user presses a key. u-boot then boots into Linux.
0200
0201 config POWER_RESET_ST
0202 bool "ST restart driver"
0203 depends on ARCH_STI
0204 help
0205 Reset support for STMicroelectronics boards.
0206
0207 config POWER_RESET_TPS65086
0208 bool "TPS65086 restart driver"
0209 depends on MFD_TPS65086
0210 help
0211 This driver adds support for resetting the TPS65086 PMIC on restart.
0212
0213 config POWER_RESET_VERSATILE
0214 bool "ARM Versatile family reboot driver"
0215 depends on ARM
0216 depends on MFD_SYSCON
0217 depends on OF
0218 help
0219 Power off and restart support for ARM Versatile family of
0220 reference boards.
0221
0222 config POWER_RESET_VEXPRESS
0223 bool "ARM Versatile Express power-off and reset driver"
0224 depends on ARM || ARM64
0225 depends on VEXPRESS_CONFIG=y
0226 help
0227 Power off and reset support for the ARM Ltd. Versatile
0228 Express boards.
0229
0230 config POWER_RESET_XGENE
0231 bool "APM SoC X-Gene reset driver"
0232 depends on ARM64
0233 help
0234 Reboot support for the APM SoC X-Gene Eval boards.
0235
0236 config POWER_RESET_KEYSTONE
0237 bool "Keystone reset driver"
0238 depends on ARCH_KEYSTONE || COMPILE_TEST
0239 depends on HAS_IOMEM
0240 select MFD_SYSCON
0241 help
0242 Reboot support for the KEYSTONE SoCs.
0243
0244 config POWER_RESET_SYSCON
0245 bool "Generic SYSCON regmap reset driver"
0246 depends on OF
0247 depends on HAS_IOMEM
0248 select MFD_SYSCON
0249 help
0250 Reboot support for generic SYSCON mapped register reset.
0251
0252 config POWER_RESET_SYSCON_POWEROFF
0253 bool "Generic SYSCON regmap poweroff driver"
0254 depends on OF
0255 depends on HAS_IOMEM
0256 select MFD_SYSCON
0257 help
0258 Poweroff support for generic SYSCON mapped register poweroff.
0259
0260 config POWER_RESET_RMOBILE
0261 tristate "Renesas R-Mobile reset driver"
0262 depends on ARCH_RMOBILE || COMPILE_TEST
0263 depends on HAS_IOMEM
0264 help
0265 Reboot support for Renesas R-Mobile and SH-Mobile SoCs.
0266
0267 config REBOOT_MODE
0268 tristate
0269
0270 config SYSCON_REBOOT_MODE
0271 tristate "Generic SYSCON regmap reboot mode driver"
0272 depends on OF
0273 depends on MFD_SYSCON
0274 select REBOOT_MODE
0275 help
0276 Say y here will enable reboot mode driver. This will
0277 get reboot mode arguments and store it in SYSCON mapped
0278 register, then the bootloader can read it to take different
0279 action according to the mode.
0280
0281 config POWER_RESET_SC27XX
0282 tristate "Spreadtrum SC27xx PMIC power-off driver"
0283 depends on MFD_SC27XX_PMIC || COMPILE_TEST
0284 help
0285 This driver supports powering off a system through
0286 Spreadtrum SC27xx series PMICs. The SC27xx series
0287 PMICs includes the SC2720, SC2721, SC2723, SC2730
0288 and SC2731 chips.
0289
0290 config NVMEM_REBOOT_MODE
0291 tristate "Generic NVMEM reboot mode driver"
0292 depends on OF
0293 select REBOOT_MODE
0294 help
0295 Say y here will enable reboot mode driver. This will
0296 get reboot mode arguments and store it in a NVMEM cell,
0297 then the bootloader can read it and take different
0298 action according to the mode.
0299
0300 config POWER_MLXBF
0301 tristate "Mellanox BlueField power handling driver"
0302 depends on (GPIO_MLXBF2 && ACPI)
0303 help
0304 This driver supports reset or low power mode handling for Mellanox BlueField.
0305
0306 endif