xref: /linux/drivers/power/reset/Kconfig (revision 67f8bc848ee31831336bd478e57d2f993551902e)
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_SAM9X7 || 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_SAM9X7 || 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 ARCH_BRCMSTB || BMIPS_GENERIC || 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_EP93XX
79	bool "Cirrus EP93XX reset driver" if COMPILE_TEST
80	depends on MFD_SYSCON
81	default ARCH_EP93XX
82	select AUXILIARY_BUS
83	help
84	  This driver provides restart support for Cirrus EP93XX SoC.
85
86	  Say Y here if you have a Cirrus EP93XX SoC and you wish
87	  to have restart support.
88
89config POWER_RESET_GEMINI_POWEROFF
90	bool "Cortina Gemini power-off driver"
91	depends on ARCH_GEMINI || COMPILE_TEST
92	depends on OF && HAS_IOMEM
93	default ARCH_GEMINI
94	help
95	  This driver supports turning off the Cortina Gemini SoC.
96	  Select this if you're building a kernel with Gemini SoC support.
97
98config POWER_RESET_GPIO
99	bool "GPIO power-off driver"
100	depends on OF
101	help
102	  This driver supports turning off your board via a GPIO line.
103	  If your board needs a GPIO high/low to power down, say Y and
104	  create a binding in your devicetree.
105
106config POWER_RESET_GPIO_RESTART
107	bool "GPIO restart driver"
108	depends on OF
109	help
110	  This driver supports restarting your board via a GPIO line.
111	  If your board needs a GPIO high/low to restart, say Y and
112	  create a binding in your devicetree.
113
114config POWER_RESET_HISI
115	bool "Hisilicon power-off driver"
116	depends on ARCH_HISI
117	help
118	  Reboot support for Hisilicon boards.
119
120config POWER_RESET_LINKSTATION
121	tristate "Buffalo LinkStation power-off driver"
122	depends on ARCH_MVEBU || COMPILE_TEST
123	depends on OF_MDIO && PHYLIB
124	help
125	  This driver supports turning off some Buffalo LinkStations by
126	  setting an output pin at the ethernet PHY to the correct state.
127	  It also makes the device compatible with the WoL function.
128
129	  Say Y here if you have a Buffalo LinkStation LS421D/E.
130
131config POWER_RESET_MCF_RCM
132	tristate "Freescale ColdFire RCM power-on reason driver"
133	depends on M5441x || COMPILE_TEST
134	depends on HAS_IOMEM
135	help
136	  This driver exposes the cause of the last reset on Freescale
137	  ColdFire 5441x SoCs through the standard power_on_reason sysfs
138	  ABI. It reads the Reset Status Register (RSR) of the Reset
139	  Controller Module once at probe time and reports a normalised
140	  string (regular power-up, reset button action, software reset
141	  or unknown reason).
142
143config POWER_RESET_MACSMC
144	tristate "Apple SMC reset/power-off driver"
145	depends on MFD_MACSMC
146	help
147	  This driver supports reset and power-off on Apple Mac machines
148	  that implement this functionality via the SMC.
149
150	  Say Y here if you have an Apple Silicon Mac.
151
152config POWER_RESET_MSM
153	bool "Qualcomm MSM power-off driver"
154	depends on ARCH_QCOM
155	help
156	  Power off and restart support for Qualcomm boards.
157
158config POWER_RESET_QCOM_PON
159	tristate "Qualcomm power-on driver"
160	depends on ARCH_QCOM
161	depends on MFD_SPMI_PMIC
162	select REBOOT_MODE
163	help
164	  Power On support for Qualcomm boards.
165	  If you have a Qualcomm platform and need support for
166	  power-on and reboot reason, Say Y.
167	  If unsure, Say N.
168
169config POWER_RESET_OCELOT_RESET
170	bool "Microsemi Ocelot reset driver"
171	depends on MSCC_OCELOT || ARCH_SPARX5 || COMPILE_TEST
172	select MFD_SYSCON
173	help
174	  This driver supports restart for Microsemi Ocelot SoC and similar.
175
176config POWER_RESET_ODROID_GO_ULTRA_POWEROFF
177	bool "Odroid Go Ultra power-off driver"
178	depends on ARCH_MESON || COMPILE_TEST
179	depends on I2C=y && OF
180	help
181	  This driver supports Power off for Odroid Go Ultra device.
182
183config POWER_RESET_PIIX4_POWEROFF
184	tristate "Intel PIIX4 power-off driver"
185	depends on PCI
186	depends on HAS_IOPORT
187	depends on MIPS || COMPILE_TEST
188	help
189	  This driver supports powering off a system using the Intel PIIX4
190	  southbridge, for example the MIPS Malta development board. The
191	  southbridge SOff state is entered in response to a request to
192	  power off the system.
193
194config POWER_RESET_LTC2952
195	bool "LTC2952 PowerPath power-off driver"
196	depends on OF
197	help
198	  This driver supports an external powerdown trigger and board power
199	  down via the LTC2952. Bindings are made in the device tree.
200
201config POWER_RESET_MT6323
202	bool "MediaTek MT6323 power-off driver"
203	depends on MFD_MT6397
204	help
205	  The power-off driver is responsible for externally shutdown down
206	  the power of a remote MediaTek SoC MT6323 is connected to through
207	  controlling a tiny circuit BBPU inside MT6323 RTC.
208
209	  Say Y if you have a board where MT6323 could be found.
210
211config POWER_RESET_QNAP
212	bool "QNAP power-off driver"
213	depends on PLAT_ORION
214	help
215	  This driver supports turning off QNAP NAS devices by sending
216	  commands to the microcontroller which controls the main power.
217
218	  Say Y if you have a QNAP NAS.
219
220config POWER_RESET_REGULATOR
221	bool "Regulator subsystem power-off driver"
222	depends on OF && REGULATOR
223	help
224	  This driver supports turning off your board by disabling a
225	  power regulator defined in the devicetree.
226
227config POWER_RESET_RESTART
228	bool "Restart power-off driver"
229	help
230	  Some boards don't actually have the ability to power off.
231	  Instead they restart, and u-boot holds the SoC until the
232	  user presses a key. u-boot then boots into Linux.
233
234config POWER_RESET_ST
235	bool "ST restart driver"
236	depends on ARCH_STI
237	help
238	  Reset support for STMicroelectronics boards.
239
240config POWER_RESET_TH1520_AON
241	tristate "T-Head TH1520 AON firmware poweroff and reset driver"
242	depends on TH1520_PM_DOMAINS
243	help
244	  This driver supports power-off and reset operations for T-Head
245	  TH1520 SoCs running the AON firmware.
246
247config POWER_RESET_TORADEX_EC
248	tristate "Toradex Embedded Controller power-off and reset driver"
249	depends on ARCH_MXC || COMPILE_TEST
250	depends on I2C
251	select REGMAP_I2C
252	help
253	  This driver supports power-off and reset for SMARC Toradex SoMs,
254	  for example the SMARC iMX8MP and SMARC iMX95, using Toradex
255	  Embedded Controller (EC).
256
257	  Say Y here if you have a Toradex SMARC SoM.
258
259	  If unsure, say N.
260
261config POWER_RESET_TPS65086
262	bool "TPS65086 restart driver"
263	depends on MFD_TPS65086
264	help
265	  This driver adds support for resetting the TPS65086 PMIC on restart.
266
267config POWER_RESET_VERSATILE
268	bool "ARM Versatile family reboot driver"
269	depends on ARM
270	depends on MFD_SYSCON
271	depends on OF
272	help
273	  Power off and restart support for ARM Versatile family of
274	  reference boards.
275
276config POWER_RESET_VEXPRESS
277	bool "ARM Versatile Express power-off and reset driver"
278	depends on ARM || ARM64
279	depends on VEXPRESS_CONFIG=y
280	help
281	  Power off and reset support for the ARM Ltd. Versatile
282	  Express boards.
283
284config POWER_RESET_XGENE
285	bool "APM SoC X-Gene reset driver"
286	depends on ARM64
287	help
288	  Reboot support for the APM SoC X-Gene Eval boards.
289
290config POWER_RESET_KEYSTONE
291	bool "Keystone reset driver"
292	depends on ARCH_KEYSTONE || COMPILE_TEST
293	depends on HAS_IOMEM
294	select MFD_SYSCON
295	help
296	  Reboot support for the KEYSTONE SoCs.
297
298config POWER_RESET_SPACEMIT_P1
299	tristate "SpacemiT P1 poweroff and reset driver"
300	depends on ARCH_SPACEMIT || COMPILE_TEST
301	depends on MFD_SPACEMIT_P1
302	default MFD_SPACEMIT_P1
303	help
304	  This driver supports power-off and reset operations for the SpacemiT
305	  P1 PMIC.
306
307config POWER_RESET_SYSCON
308	bool "Generic SYSCON regmap reset driver"
309	depends on OF
310	depends on HAS_IOMEM
311	select MFD_SYSCON
312	help
313	  Reboot support for generic SYSCON mapped register reset.
314
315config POWER_RESET_SYSCON_POWEROFF
316	bool "Generic SYSCON regmap poweroff driver"
317	depends on OF
318	depends on HAS_IOMEM
319	select MFD_SYSCON
320	help
321	  Poweroff support for generic SYSCON mapped register poweroff.
322
323config POWER_RESET_RMOBILE
324	tristate "Renesas R-Mobile reset driver"
325	depends on ARCH_RMOBILE || COMPILE_TEST
326	depends on HAS_IOMEM
327	help
328	  Reboot support for Renesas R-Mobile and SH-Mobile SoCs.
329
330config REBOOT_MODE
331	tristate
332
333config SYSCON_REBOOT_MODE
334	tristate "Generic SYSCON regmap reboot mode driver"
335	depends on OF
336	depends on MFD_SYSCON
337	select REBOOT_MODE
338	help
339	  Say y here will enable reboot mode driver. This will
340	  get reboot mode arguments and store it in SYSCON mapped
341	  register, then the bootloader can read it to take different
342	  action according to the mode.
343
344config POWER_RESET_SC27XX
345	tristate "Spreadtrum SC27xx PMIC power-off driver"
346	depends on MFD_SC27XX_PMIC || COMPILE_TEST
347	help
348	  This driver supports powering off a system through
349	  Spreadtrum SC27xx series PMICs. The SC27xx series
350	  PMICs includes the SC2720, SC2721, SC2723, SC2730
351	  and SC2731 chips.
352
353config NVMEM_REBOOT_MODE
354	tristate "Generic NVMEM reboot mode driver"
355	depends on OF
356	select REBOOT_MODE
357	help
358	  Say y here will enable reboot mode driver. This will
359	  get reboot mode arguments and store it in a NVMEM cell,
360	  then the bootloader can read it and take different
361	  action according to the mode.
362
363config POWER_MLXBF
364	tristate "Mellanox BlueField power handling driver"
365	depends on (GPIO_MLXBF2 || GPIO_MLXBF3) && ACPI
366	help
367	  This driver supports reset or low power mode handling for Mellanox BlueField.
368
369config POWER_RESET_QEMU_VIRT_CTRL
370	tristate "QEMU Virt Machine System Controller"
371	depends on HAS_IOMEM
372	help
373	  This driver supports the system reset and power off functionality
374	  provided by the QEMU 'virt-ctrl' device.
375
376	  Say Y here if you are running Linux on a QEMU virtual machine that
377	  provides this controller, such as the m68k virt machine.
378
379endif
380