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