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_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_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_MSM
103	bool "Qualcomm MSM power-off driver"
104	depends on ARCH_QCOM
105	help
106	  Power off and restart support for Qualcomm boards.
107
108config POWER_RESET_QCOM_PON
109	tristate "Qualcomm power-on driver"
110	depends on ARCH_QCOM
111	depends on MFD_SPMI_PMIC
112	select REBOOT_MODE
113	help
114	  Power On support for Qualcomm boards.
115	  If you have a Qualcomm platform and need support for
116	  power-on and reboot reason, Say Y.
117	  If unsure, Say N.
118
119config POWER_RESET_OCELOT_RESET
120	bool "Microsemi Ocelot reset driver"
121	depends on MSCC_OCELOT || COMPILE_TEST
122	select MFD_SYSCON
123	help
124	  This driver supports restart for Microsemi Ocelot SoC.
125
126config POWER_RESET_PIIX4_POWEROFF
127	tristate "Intel PIIX4 power-off driver"
128	depends on PCI
129	depends on MIPS || COMPILE_TEST
130	help
131	  This driver supports powering off a system using the Intel PIIX4
132	  southbridge, for example the MIPS Malta development board. The
133	  southbridge SOff state is entered in response to a request to
134	  power off the system.
135
136config POWER_RESET_LTC2952
137	bool "LTC2952 PowerPath power-off driver"
138	depends on OF_GPIO
139	help
140	  This driver supports an external powerdown trigger and board power
141	  down via the LTC2952. Bindings are made in the device tree.
142
143config POWER_RESET_QNAP
144	bool "QNAP power-off driver"
145	depends on OF_GPIO && PLAT_ORION
146	help
147	  This driver supports turning off QNAP NAS devices by sending
148	  commands to the microcontroller which controls the main power.
149
150	  Say Y if you have a QNAP NAS.
151
152config POWER_RESET_RESTART
153	bool "Restart power-off driver"
154	help
155	  Some boards don't actually have the ability to power off.
156	  Instead they restart, and u-boot holds the SoC until the
157	  user presses a key. u-boot then boots into Linux.
158
159config POWER_RESET_ST
160	bool "ST restart driver"
161	depends on ARCH_STI
162	help
163	  Reset support for STMicroelectronics boards.
164
165config POWER_RESET_VERSATILE
166	bool "ARM Versatile family reboot driver"
167	depends on ARM
168	depends on MFD_SYSCON
169	depends on OF
170	help
171	  Power off and restart support for ARM Versatile family of
172	  reference boards.
173
174config POWER_RESET_VEXPRESS
175	bool "ARM Versatile Express power-off and reset driver"
176	depends on ARM || ARM64
177	depends on VEXPRESS_CONFIG
178	help
179	  Power off and reset support for the ARM Ltd. Versatile
180	  Express boards.
181
182config POWER_RESET_XGENE
183	bool "APM SoC X-Gene reset driver"
184	depends on ARM64
185	help
186	  Reboot support for the APM SoC X-Gene Eval boards.
187
188config POWER_RESET_KEYSTONE
189	bool "Keystone reset driver"
190	depends on ARCH_KEYSTONE || COMPILE_TEST
191	depends on HAS_IOMEM
192	select MFD_SYSCON
193	help
194	  Reboot support for the KEYSTONE SoCs.
195
196config POWER_RESET_SYSCON
197	bool "Generic SYSCON regmap reset driver"
198	depends on OF
199	depends on HAS_IOMEM
200	select MFD_SYSCON
201	help
202	  Reboot support for generic SYSCON mapped register reset.
203
204config POWER_RESET_SYSCON_POWEROFF
205	bool "Generic SYSCON regmap poweroff driver"
206	depends on OF
207	depends on HAS_IOMEM
208	select MFD_SYSCON
209	help
210	  Poweroff support for generic SYSCON mapped register poweroff.
211
212config POWER_RESET_RMOBILE
213	tristate "Renesas R-Mobile reset driver"
214	depends on ARCH_RMOBILE || COMPILE_TEST
215	depends on HAS_IOMEM
216	help
217	  Reboot support for Renesas R-Mobile and SH-Mobile SoCs.
218
219config POWER_RESET_ZX
220	tristate "ZTE SoCs reset driver"
221	depends on ARCH_ZX || COMPILE_TEST
222	depends on HAS_IOMEM
223	help
224	  Reboot support for ZTE SoCs.
225
226config REBOOT_MODE
227	tristate
228
229config SYSCON_REBOOT_MODE
230	tristate "Generic SYSCON regmap reboot mode driver"
231	depends on OF
232	depends on MFD_SYSCON
233	select REBOOT_MODE
234	help
235	  Say y here will enable reboot mode driver. This will
236	  get reboot mode arguments and store it in SYSCON mapped
237	  register, then the bootloader can read it to take different
238	  action according to the mode.
239
240config POWER_RESET_SC27XX
241	bool "Spreadtrum SC27xx PMIC power-off driver"
242	depends on MFD_SC27XX_PMIC || COMPILE_TEST
243	help
244	  This driver supports powering off a system through
245	  Spreadtrum SC27xx series PMICs. The SC27xx series
246	  PMICs includes the SC2720, SC2721, SC2723, SC2730
247	  and SC2731 chips.
248
249config NVMEM_REBOOT_MODE
250	tristate "Generic NVMEM reboot mode driver"
251	depends on OF
252	select REBOOT_MODE
253	help
254	  Say y here will enable reboot mode driver. This will
255	  get reboot mode arguments and store it in a NVMEM cell,
256	  then the bootloader can read it and take different
257	  action according to the mode.
258
259endif
260
261