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_AXXIA
43	bool "LSI Axxia reset driver"
44	depends on ARCH_AXXIA
45	help
46	  This driver supports restart for Axxia SoC.
47
48	  Say Y if you have an Axxia family SoC.
49
50config POWER_RESET_BRCMKONA
51	bool "Broadcom Kona reset driver"
52	depends on ARM || COMPILE_TEST
53	default ARCH_BCM_MOBILE
54	help
55	  This driver provides restart support for Broadcom Kona chips.
56
57	  Say Y here if you have a Broadcom Kona-based board and you wish
58	  to have restart support.
59
60config POWER_RESET_BRCMSTB
61	bool "Broadcom STB reset driver"
62	depends on ARM || ARM64 || MIPS || COMPILE_TEST
63	depends on MFD_SYSCON
64	default ARCH_BRCMSTB || BMIPS_GENERIC
65	help
66	  This driver provides restart support for Broadcom STB boards.
67
68	  Say Y here if you have a Broadcom STB board and you wish
69	  to have restart support.
70
71config POWER_RESET_GEMINI_POWEROFF
72	bool "Cortina Gemini power-off driver"
73	depends on ARCH_GEMINI || COMPILE_TEST
74	depends on OF && HAS_IOMEM
75	default ARCH_GEMINI
76	help
77	  This driver supports turning off the Cortina Gemini SoC.
78	  Select this if you're building a kernel with Gemini SoC support.
79
80config POWER_RESET_GPIO
81	bool "GPIO power-off driver"
82	depends on OF_GPIO
83	help
84	  This driver supports turning off your board via a GPIO line.
85	  If your board needs a GPIO high/low to power down, say Y and
86	  create a binding in your devicetree.
87
88config POWER_RESET_GPIO_RESTART
89	bool "GPIO restart driver"
90	depends on OF_GPIO
91	help
92	  This driver supports restarting your board via a GPIO line.
93	  If your board needs a GPIO high/low to restart, say Y and
94	  create a binding in your devicetree.
95
96config POWER_RESET_HISI
97	bool "Hisilicon power-off driver"
98	depends on ARCH_HISI
99	help
100	  Reboot support for Hisilicon boards.
101
102config POWER_RESET_LINKSTATION
103	tristate "Buffalo LinkStation power-off driver"
104	depends on ARCH_MVEBU || COMPILE_TEST
105	depends on OF_MDIO && PHYLIB
106	help
107	  This driver supports turning off some Buffalo LinkStations by
108	  setting an output pin at the ethernet PHY to the correct state.
109	  It also makes the device compatible with the WoL function.
110
111	  Say Y here if you have a Buffalo LinkStation LS421D/E.
112
113config POWER_RESET_MSM
114	bool "Qualcomm MSM power-off driver"
115	depends on ARCH_QCOM
116	help
117	  Power off and restart support for Qualcomm boards.
118
119config POWER_RESET_QCOM_PON
120	tristate "Qualcomm power-on driver"
121	depends on ARCH_QCOM
122	depends on MFD_SPMI_PMIC
123	select REBOOT_MODE
124	help
125	  Power On support for Qualcomm boards.
126	  If you have a Qualcomm platform and need support for
127	  power-on and reboot reason, Say Y.
128	  If unsure, Say N.
129
130config POWER_RESET_OCELOT_RESET
131	bool "Microsemi Ocelot reset driver"
132	depends on MSCC_OCELOT || ARCH_SPARX5 || COMPILE_TEST
133	select MFD_SYSCON
134	help
135	  This driver supports restart for Microsemi Ocelot SoC and similar.
136
137config POWER_RESET_OXNAS
138	bool "OXNAS SoC restart driver"
139	depends on ARCH_OXNAS
140	default MACH_OX820
141	help
142	  Restart support for OXNAS/PLXTECH OX820 SoC.
143
144config POWER_RESET_PIIX4_POWEROFF
145	tristate "Intel PIIX4 power-off driver"
146	depends on PCI
147	depends on MIPS || COMPILE_TEST
148	help
149	  This driver supports powering off a system using the Intel PIIX4
150	  southbridge, for example the MIPS Malta development board. The
151	  southbridge SOff state is entered in response to a request to
152	  power off the system.
153
154config POWER_RESET_LTC2952
155	bool "LTC2952 PowerPath power-off driver"
156	depends on OF_GPIO
157	help
158	  This driver supports an external powerdown trigger and board power
159	  down via the LTC2952. Bindings are made in the device tree.
160
161config POWER_RESET_MT6323
162	bool "MediaTek MT6323 power-off driver"
163	depends on MFD_MT6397
164	help
165	  The power-off driver is responsible for externally shutdown down
166	  the power of a remote MediaTek SoC MT6323 is connected to through
167	  controlling a tiny circuit BBPU inside MT6323 RTC.
168
169	  Say Y if you have a board where MT6323 could be found.
170
171config POWER_RESET_QNAP
172	bool "QNAP power-off driver"
173	depends on OF_GPIO && PLAT_ORION
174	help
175	  This driver supports turning off QNAP NAS devices by sending
176	  commands to the microcontroller which controls the main power.
177
178	  Say Y if you have a QNAP NAS.
179
180config POWER_RESET_RESTART
181	bool "Restart power-off driver"
182	help
183	  Some boards don't actually have the ability to power off.
184	  Instead they restart, and u-boot holds the SoC until the
185	  user presses a key. u-boot then boots into Linux.
186
187config POWER_RESET_ST
188	bool "ST restart driver"
189	depends on ARCH_STI
190	help
191	  Reset support for STMicroelectronics boards.
192
193config POWER_RESET_VERSATILE
194	bool "ARM Versatile family reboot driver"
195	depends on ARM
196	depends on MFD_SYSCON
197	depends on OF
198	help
199	  Power off and restart support for ARM Versatile family of
200	  reference boards.
201
202config POWER_RESET_VEXPRESS
203	bool "ARM Versatile Express power-off and reset driver"
204	depends on ARM || ARM64
205	depends on VEXPRESS_CONFIG=y
206	help
207	  Power off and reset support for the ARM Ltd. Versatile
208	  Express boards.
209
210config POWER_RESET_XGENE
211	bool "APM SoC X-Gene reset driver"
212	depends on ARM64
213	help
214	  Reboot support for the APM SoC X-Gene Eval boards.
215
216config POWER_RESET_KEYSTONE
217	bool "Keystone reset driver"
218	depends on ARCH_KEYSTONE || COMPILE_TEST
219	depends on HAS_IOMEM
220	select MFD_SYSCON
221	help
222	  Reboot support for the KEYSTONE SoCs.
223
224config POWER_RESET_SYSCON
225	bool "Generic SYSCON regmap reset driver"
226	depends on OF
227	depends on HAS_IOMEM
228	select MFD_SYSCON
229	help
230	  Reboot support for generic SYSCON mapped register reset.
231
232config POWER_RESET_SYSCON_POWEROFF
233	bool "Generic SYSCON regmap poweroff driver"
234	depends on OF
235	depends on HAS_IOMEM
236	select MFD_SYSCON
237	help
238	  Poweroff support for generic SYSCON mapped register poweroff.
239
240config POWER_RESET_RMOBILE
241	tristate "Renesas R-Mobile reset driver"
242	depends on ARCH_RMOBILE || COMPILE_TEST
243	depends on HAS_IOMEM
244	help
245	  Reboot support for Renesas R-Mobile and SH-Mobile SoCs.
246
247config POWER_RESET_ZX
248	tristate "ZTE SoCs reset driver"
249	depends on ARCH_ZX || COMPILE_TEST
250	depends on HAS_IOMEM
251	help
252	  Reboot support for ZTE SoCs.
253
254config REBOOT_MODE
255	tristate
256
257config SYSCON_REBOOT_MODE
258	tristate "Generic SYSCON regmap reboot mode driver"
259	depends on OF
260	depends on MFD_SYSCON
261	select REBOOT_MODE
262	help
263	  Say y here will enable reboot mode driver. This will
264	  get reboot mode arguments and store it in SYSCON mapped
265	  register, then the bootloader can read it to take different
266	  action according to the mode.
267
268config POWER_RESET_SC27XX
269	tristate "Spreadtrum SC27xx PMIC power-off driver"
270	depends on MFD_SC27XX_PMIC || COMPILE_TEST
271	help
272	  This driver supports powering off a system through
273	  Spreadtrum SC27xx series PMICs. The SC27xx series
274	  PMICs includes the SC2720, SC2721, SC2723, SC2730
275	  and SC2731 chips.
276
277config NVMEM_REBOOT_MODE
278	tristate "Generic NVMEM reboot mode driver"
279	depends on OF
280	select REBOOT_MODE
281	help
282	  Say y here will enable reboot mode driver. This will
283	  get reboot mode arguments and store it in a NVMEM cell,
284	  then the bootloader can read it and take different
285	  action according to the mode.
286
287endif
288
289