xref: /linux/drivers/reset/Kconfig (revision 68a215164e1938490c82eecccb263d30c586b84a)
1# SPDX-License-Identifier: GPL-2.0-only
2config ARCH_HAS_RESET_CONTROLLER
3	bool
4
5menuconfig RESET_CONTROLLER
6	bool "Reset Controller Support"
7	default y if ARCH_HAS_RESET_CONTROLLER
8	help
9	  Generic Reset Controller support.
10
11	  This framework is designed to abstract reset handling of devices
12	  via GPIOs or SoC-internal reset controller modules.
13
14	  If unsure, say no.
15
16if RESET_CONTROLLER
17
18config RESET_A10SR
19	tristate "Altera Arria10 System Resource Reset"
20	depends on MFD_ALTERA_A10SR
21	help
22	  This option enables support for the external reset functions for
23	  peripheral PHYs on the Altera Arria10 System Resource Chip.
24
25config RESET_ATH79
26	bool "AR71xx Reset Driver" if COMPILE_TEST
27	default ATH79
28	help
29	  This enables the ATH79 reset controller driver that supports the
30	  AR71xx SoC reset controller.
31
32config RESET_AXS10X
33	bool "AXS10x Reset Driver" if COMPILE_TEST
34	default ARC_PLAT_AXS10X
35	help
36	  This enables the reset controller driver for AXS10x.
37
38config RESET_BERLIN
39	bool "Berlin Reset Driver" if COMPILE_TEST
40	default ARCH_BERLIN
41	help
42	  This enables the reset controller driver for Marvell Berlin SoCs.
43
44config RESET_BRCMSTB
45	tristate "Broadcom STB reset controller"
46	depends on ARCH_BRCMSTB || COMPILE_TEST
47	default ARCH_BRCMSTB
48	help
49	  This enables the reset controller driver for Broadcom STB SoCs using
50	  a SUN_TOP_CTRL_SW_INIT style controller.
51
52config RESET_BRCMSTB_RESCAL
53	bool "Broadcom STB RESCAL reset controller"
54	depends on HAS_IOMEM
55	default ARCH_BRCMSTB || COMPILE_TEST
56	help
57	  This enables the RESCAL reset controller for SATA, PCIe0, or PCIe1 on
58	  BCM7216.
59
60config RESET_HSDK
61	bool "Synopsys HSDK Reset Driver"
62	depends on HAS_IOMEM
63	depends on ARC_SOC_HSDK || COMPILE_TEST
64	help
65	  This enables the reset controller driver for HSDK board.
66
67config RESET_IMX7
68	tristate "i.MX7/8 Reset Driver"
69	depends on HAS_IOMEM
70	depends on SOC_IMX7D || (ARM64 && ARCH_MXC) || COMPILE_TEST
71	default y if SOC_IMX7D
72	select MFD_SYSCON
73	help
74	  This enables the reset controller driver for i.MX7 SoCs.
75
76config RESET_INTEL_GW
77	bool "Intel Reset Controller Driver"
78	depends on OF && HAS_IOMEM
79	select REGMAP_MMIO
80	help
81	  This enables the reset controller driver for Intel Gateway SoCs.
82	  Say Y to control the reset signals provided by reset controller.
83	  Otherwise, say N.
84
85config RESET_LANTIQ
86	bool "Lantiq XWAY Reset Driver" if COMPILE_TEST
87	default SOC_TYPE_XWAY
88	help
89	  This enables the reset controller driver for Lantiq / Intel XWAY SoCs.
90
91config RESET_LPC18XX
92	bool "LPC18xx/43xx Reset Driver" if COMPILE_TEST
93	default ARCH_LPC18XX
94	help
95	  This enables the reset controller driver for NXP LPC18xx/43xx SoCs.
96
97config RESET_MESON
98	bool "Meson Reset Driver" if COMPILE_TEST
99	default ARCH_MESON
100	help
101	  This enables the reset driver for Amlogic Meson SoCs.
102
103config RESET_MESON_AUDIO_ARB
104	tristate "Meson Audio Memory Arbiter Reset Driver"
105	depends on ARCH_MESON || COMPILE_TEST
106	help
107	  This enables the reset driver for Audio Memory Arbiter of
108	  Amlogic's A113 based SoCs
109
110config RESET_NPCM
111	bool "NPCM BMC Reset Driver" if COMPILE_TEST
112	default ARCH_NPCM
113	help
114	  This enables the reset controller driver for Nuvoton NPCM
115	  BMC SoCs.
116
117config RESET_OXNAS
118	bool
119
120config RESET_PISTACHIO
121	bool "Pistachio Reset Driver" if COMPILE_TEST
122	default MACH_PISTACHIO
123	help
124	  This enables the reset driver for ImgTec Pistachio SoCs.
125
126config RESET_QCOM_AOSS
127	tristate "Qcom AOSS Reset Driver"
128	depends on ARCH_QCOM || COMPILE_TEST
129	help
130	  This enables the AOSS (always on subsystem) reset driver
131	  for Qualcomm SDM845 SoCs. Say Y if you want to control
132	  reset signals provided by AOSS for Modem, Venus, ADSP,
133	  GPU, Camera, Wireless, Display subsystem. Otherwise, say N.
134
135config RESET_QCOM_PDC
136	tristate "Qualcomm PDC Reset Driver"
137	depends on ARCH_QCOM || COMPILE_TEST
138	help
139	  This enables the PDC (Power Domain Controller) reset driver
140	  for Qualcomm Technologies Inc SDM845 SoCs. Say Y if you want
141	  to control reset signals provided by PDC for Modem, Compute,
142	  Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS.
143
144config RESET_SCMI
145	tristate "Reset driver controlled via ARM SCMI interface"
146	depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
147	default ARM_SCMI_PROTOCOL
148	help
149	  This driver provides support for reset signal/domains that are
150	  controlled by firmware that implements the SCMI interface.
151
152	  This driver uses SCMI Message Protocol to interact with the
153	  firmware controlling all the reset signals.
154
155config RESET_SIMPLE
156	bool "Simple Reset Controller Driver" if COMPILE_TEST
157	default ARCH_AGILEX || ARCH_ASPEED || ARCH_BITMAIN || ARCH_REALTEK || ARCH_STM32 || ARCH_STRATIX10 || ARCH_SUNXI || ARCH_ZX || ARC
158	help
159	  This enables a simple reset controller driver for reset lines that
160	  that can be asserted and deasserted by toggling bits in a contiguous,
161	  exclusive register space.
162
163	  Currently this driver supports:
164	   - Altera SoCFPGAs
165	   - ASPEED BMC SoCs
166	   - Bitmain BM1880 SoC
167	   - Realtek SoCs
168	   - RCC reset controller in STM32 MCUs
169	   - Allwinner SoCs
170	   - ZTE's zx2967 family
171
172config RESET_STM32MP157
173	bool "STM32MP157 Reset Driver" if COMPILE_TEST
174	default MACH_STM32MP157
175	help
176	  This enables the RCC reset controller driver for STM32 MPUs.
177
178config RESET_SOCFPGA
179	bool "SoCFPGA Reset Driver" if COMPILE_TEST && !ARCH_SOCFPGA
180	default ARCH_SOCFPGA
181	select RESET_SIMPLE
182	help
183	  This enables the reset driver for the SoCFPGA ARMv7 platforms. This
184	  driver gets initialized early during platform init calls.
185
186config RESET_SUNXI
187	bool "Allwinner SoCs Reset Driver" if COMPILE_TEST && !ARCH_SUNXI
188	default ARCH_SUNXI
189	select RESET_SIMPLE
190	help
191	  This enables the reset driver for Allwinner SoCs.
192
193config RESET_TI_SCI
194	tristate "TI System Control Interface (TI-SCI) reset driver"
195	depends on TI_SCI_PROTOCOL
196	help
197	  This enables the reset driver support over TI System Control Interface
198	  available on some new TI's SoCs. If you wish to use reset resources
199	  managed by the TI System Controller, say Y here. Otherwise, say N.
200
201config RESET_TI_SYSCON
202	tristate "TI SYSCON Reset Driver"
203	depends on HAS_IOMEM
204	select MFD_SYSCON
205	help
206	  This enables the reset driver support for TI devices with
207	  memory-mapped reset registers as part of a syscon device node. If
208	  you wish to use the reset framework for such memory-mapped devices,
209	  say Y here. Otherwise, say N.
210
211config RESET_UNIPHIER
212	tristate "Reset controller driver for UniPhier SoCs"
213	depends on ARCH_UNIPHIER || COMPILE_TEST
214	depends on OF && MFD_SYSCON
215	default ARCH_UNIPHIER
216	help
217	  Support for reset controllers on UniPhier SoCs.
218	  Say Y if you want to control reset signals provided by System Control
219	  block, Media I/O block, Peripheral Block.
220
221config RESET_UNIPHIER_GLUE
222	tristate "Reset driver in glue layer for UniPhier SoCs"
223	depends on (ARCH_UNIPHIER || COMPILE_TEST) && OF
224	default ARCH_UNIPHIER
225	select RESET_SIMPLE
226	help
227	  Support for peripheral core reset included in its own glue layer
228	  on UniPhier SoCs. Say Y if you want to control reset signals
229	  provided by the glue layer.
230
231config RESET_ZYNQ
232	bool "ZYNQ Reset Driver" if COMPILE_TEST
233	default ARCH_ZYNQ
234	help
235	  This enables the reset controller driver for Xilinx Zynq SoCs.
236
237source "drivers/reset/sti/Kconfig"
238source "drivers/reset/hisilicon/Kconfig"
239source "drivers/reset/tegra/Kconfig"
240
241endif
242