1#
2# System reset devices
3#
4
5menu "System reset device drivers"
6
7config SYSRESET
8	bool "Enable support for system reset drivers"
9	depends on DM
10	help
11	  Enable system reset drivers which can be used to reset the CPU or
12	  board. Each driver can provide a reset method which will be called
13	  to effect a reset. The uclass will try all available drivers when
14	  reset_walk() is called.
15
16config SPL_SYSRESET
17	bool "Enable support for system reset drivers in SPL mode"
18	depends on SYSRESET && SPL_DM
19	help
20	  Enable system reset drivers which can be used to reset the CPU or
21	  board. Each driver can provide a reset method which will be called
22	  to effect a reset. The uclass will try all available drivers when
23	  reset_walk() is called.
24
25config TPL_SYSRESET
26	bool "Enable support for system reset drivers in TPL mode"
27	depends on SYSRESET && TPL_DM
28	help
29	  Enable system reset drivers which can be used to reset the CPU or
30	  board. Each driver can provide a reset method which will be called
31	  to effect a reset. The uclass will try all available drivers when
32	  reset_walk() is called.
33
34config VPL_SYSRESET
35	bool "Enable support for system reset drivers in VPL mode"
36	depends on SYSRESET && VPL_DM
37	default y if TPL_SYSRESET
38	help
39	  Enable system reset drivers which can be used to reset the CPU or
40	  board. Each driver can provide a reset method which will be called
41	  to effect a reset. The uclass will try all available drivers when
42	  reset_walk() is called.
43
44if SYSRESET
45
46config SYSRESET_CMD_RESET
47	bool "sysreset implementation of the reset command"
48	default y
49	help
50	  Enable sysreset implementation of the reset command.
51
52if CMD_POWEROFF
53
54config SYSRESET_CMD_POWEROFF
55	bool "sysreset implementation of the poweroff command"
56	help
57	  This should be selected by the appropriate PMIC driver if
58	  the poweroff command is enabled.
59
60endif
61
62config SYSRESET_CV1800B
63	bool "Enable support for Sophgo cv1800b System Reset"
64	help
65	  Enable system reset support for Sophgo cv1800b SoC.
66
67config POWEROFF_GPIO
68	bool "Enable support for GPIO poweroff driver"
69	depends on DM_GPIO
70	help
71	  Support for system poweroff using a GPIO pin. This can be used
72	  for systems having a single GPIO to trigger a system poweroff.
73
74config SPL_POWEROFF_GPIO
75	bool "Enable support for GPIO poweroff driver in SPL"
76	depends on DM_GPIO && SPL
77	help
78	  Support for system poweroff using a GPIO pin in SPL. This can be used
79	  for systems having a single GPIO to trigger a system poweroff.
80
81config TPL_POWEROFF_GPIO
82	bool "Enable support for GPIO poweroff driver in TPL"
83	depends on DM_GPIO && TPL
84	help
85	  Support for system poweroff using a GPIO pin in TPL. This can be used
86	  for systems having a single GPIO to trigger a system poweroff.
87
88config VPL_POWEROFF_GPIO
89	bool "Enable support for GPIO poweroff driver in VPL"
90	depends on DM_GPIO && VPL
91	help
92	  Support for system poweroff using a GPIO pin in VPL. This can be used
93	  for systems having a single GPIO to trigger a system poweroff.
94
95config SYSRESET_GPIO
96	bool "Enable support for GPIO reset driver"
97	depends on DM_GPIO
98	help
99	  Reset support via GPIO pin connected reset logic. This is used for
100	  example on Microblaze where reset logic can be controlled via GPIO
101	  pin which triggers cpu reset.
102
103config SPL_SYSRESET_GPIO
104	bool "Enable support for GPIO reset driver in SPL"
105	depends on DM_GPIO && SPL
106	help
107	  Reset support via GPIO pin connected reset logic in SPL. This is used
108	  for example on Microblaze where reset logic can be controlled via
109	  GPIO pin which triggers cpu reset.
110
111config TPL_SYSRESET_GPIO
112	bool "Enable support for GPIO reset driver in TPL"
113	depends on DM_GPIO && TPL
114	help
115	  Reset support via GPIO pin connected reset logic in TPL. This is used
116	  for example on Microblaze where reset logic can be controlled via
117	  GPIO pin which triggers cpu reset.
118
119config VPL_SYSRESET_GPIO
120	bool "Enable support for GPIO reset driver in VPL"
121	depends on DM_GPIO && VPL
122	help
123	  Reset support via GPIO pin connected reset logic in VPL. This is used
124	  for example on Microblaze where reset logic can be controlled via
125	  GPIO pin which triggers cpu reset.
126
127config SYSRESET_MAX77663
128	bool "Enable support for MAX77663 PMIC System Reset"
129	depends on DM_PMIC_MAX77663
130	select SYSRESET_CMD_POWEROFF if CMD_POWEROFF
131	help
132	  Enable system power management functions found in MAX77663 PMIC.
133
134config SYSRESET_MAX8907
135	bool "Enable support for MAX8907 PMIC System Reset"
136	depends on DM_PMIC_MAX8907
137	select SYSRESET_CMD_POWEROFF if CMD_POWEROFF
138	help
139	  Enable system power management functions found in MAX8907 PMIC.
140
141config SYSRESET_MICROBLAZE
142	bool "Enable support for Microblaze soft reset"
143	depends on MICROBLAZE
144	help
145	  This is soft reset on Microblaze which does jump to 0x0 address.
146
147config SYSRESET_OCTEON
148	bool "Enable support for Marvell Octeon SoC family"
149	depends on ARCH_OCTEON
150	help
151	  This enables the system reset driver support for Marvell Octeon
152	  SoCs.
153
154config SYSRESET_AT91
155	bool "Enable support for Microchip/Atmel reset driver"
156	depends on ARCH_AT91
157	select SYSRESET_SPL_AT91 if SPL && SPL_SYSRESET
158	help
159	  This enables the system reset driver support for Microchip/Atmel
160	  SoCs.
161
162config SYSRESET_SPL_AT91
163	bool "Enable support for Microchip/Atmel reset driver in SPL"
164	depends on ARCH_AT91
165	help
166	  This enables the system reset driver support for Microchip/Atmel
167	  SoCs in SPL.
168
169config SYSRESET_PALMAS
170	bool "Enable support for PALMAS System Reset"
171	depends on PMIC_PALMAS
172	select SYSRESET_CMD_POWEROFF if CMD_POWEROFF
173	help
174	  Enable system power management functions found in PLAMAS PMIC family.
175
176config SYSRESET_PSCI
177	bool "Enable support for PSCI System Reset"
178	depends on ARM_PSCI_FW
179	select SPL_ARM_PSCI_FW if SPL_SYSRESET
180	help
181	  Enable PSCI SYSTEM_RESET function call.  To use this, PSCI firmware
182	  must be running on your system.
183
184config SYSRESET_SBI
185	bool "Enable support for SBI System Reset"
186	depends on RISCV_SMODE && SBI_V02
187	default y
188	select SYSRESET_CMD_POWEROFF if CMD_POWEROFF
189	help
190	  Enable system reset and poweroff via the SBI system reset extension.
191	  The extension was introduced in version 0.3 of the SBI specification.
192
193	  If the SBI implementation provides the extension, is board specific.
194	  The RISC-V platform specification mandates the extension for rich
195	  operating system platforms.
196
197config SYSRESET_SOCFPGA
198	bool "Enable support for Intel SOCFPGA family"
199	depends on ARCH_SOCFPGA && (TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10)
200	help
201	  This enables the system reset driver support for Intel SOCFPGA SoCs
202	  (Cyclone 5, Arria 5 and Arria 10).
203
204config SYSRESET_SOCFPGA_SOC64
205	bool "Enable support for Intel SOCFPGA SoC64 family (Stratix10/Agilex)"
206	depends on ARCH_SOCFPGA && TARGET_SOCFPGA_SOC64
207	help
208	  This enables the system reset driver support for Intel SOCFPGA
209	  SoC64 SoCs.
210
211config SYSRESET_TEGRA
212	bool "Tegra PMC system reset driver"
213	depends on ARCH_TEGRA
214	help
215	  This enables the system reset ability of PMC used in Tegra SoCs.
216
217config SYSRESET_TI_SCI
218	bool "TI System Control Interface (TI SCI) system reset driver"
219	depends on TI_SCI_PROTOCOL
220	help
221	  This enables the system reset driver support over TI System Control
222	  Interface available on some new TI's SoCs.
223
224config SYSRESET_TPS65910
225	bool "Enable support for TPS65910/TPS65911 PMIC System Reset"
226	depends on DM_PMIC_TPS65910
227	select SYSRESET_CMD_POWEROFF if CMD_POWEROFF
228	help
229	  Enable system power management functions found in TPS65910/TPS65911
230	  PMICs.
231
232config SYSRESET_TPS80031
233	bool "Enable support for TPS80031/TPS80032 PMIC System Reset"
234	depends on DM_PMIC_TPS80031
235	select SYSRESET_CMD_POWEROFF if CMD_POWEROFF
236	help
237	  Enable system power management functions found in TPS80031/TPS80032
238	  PMICs.
239
240config SYSRESET_SYSCON
241	bool "Enable support for mfd syscon reboot driver"
242	select REGMAP
243	select SYSCON
244	help
245	  Reboot support for generic SYSCON mapped register reset.
246
247config SYSRESET_WATCHDOG
248	bool "Enable support for watchdog reboot driver"
249	select WDT
250	help
251	  Reboot support for generic watchdog reset.
252
253config SYSRESET_WATCHDOG_AUTO
254	bool "Automatically register first watchdog with sysreset"
255	depends on SYSRESET_WATCHDOG
256	help
257	  If enabled, the first watchdog (as selected by the watchdog uclass)
258	  will automatically be registered with the watchdog reboot driver.
259
260config SYSRESET_RESETCTL
261	bool "Enable support for reset controller reboot driver"
262	select DM_RESET
263	help
264	  Reboot support using generic reset controller.
265
266config SYSRESET_X86
267	bool "Enable support for x86 processor reboot driver"
268	depends on X86
269	help
270	  Reboot support for generic x86 processor reset.
271
272config SYSRESET_SPL_X86
273	bool "Enable support for x86 processor reboot driver in SPL"
274	depends on X86
275	help
276	  Reboot support for generic x86 processor reset in SPL.
277
278config SYSRESET_TPL_X86
279	bool "Enable support for x86 processor reboot driver in TPL"
280	depends on X86
281	help
282	  Reboot support for generic x86 processor reset in TPL.
283
284config SYSRESET_MPC83XX
285	bool "Enable support MPC83xx SoC family reboot driver"
286	help
287	  Reboot support for NXP MPC83xx SoCs.
288
289config SYSRESET_RAA215300
290	bool "Support sysreset via Renesas RAA215300 PMIC"
291	depends on PMIC_RAA215300
292	help
293	  Add support for the system reboot via the Renesas RAA215300 PMIC.
294
295config SYSRESET_QCOM_PSHOLD
296	bool "Support sysreset for Qualcomm SoCs via PSHOLD"
297	help
298	  Add support for the system reboot on Qualcomm SoCs via PSHOLD.
299
300endif
301
302endmenu
303