Merge tag 'm68knommu-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / drivers / reset / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config ARCH_HAS_RESET_CONTROLLER
3         bool
4
5 menuconfig 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
16 if RESET_CONTROLLER
17
18 config 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
25 config 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
32 config 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
38 config 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
44 config 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
52 config 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
60 config 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
67 config RESET_IMX7
68         bool "i.MX7/8 Reset Driver" if COMPILE_TEST
69         depends on HAS_IOMEM
70         default SOC_IMX7D || (ARM64 && ARCH_MXC)
71         select MFD_SYSCON
72         help
73           This enables the reset controller driver for i.MX7 SoCs.
74
75 config RESET_INTEL_GW
76         bool "Intel Reset Controller Driver"
77         depends on OF && HAS_IOMEM
78         select REGMAP_MMIO
79         help
80           This enables the reset controller driver for Intel Gateway SoCs.
81           Say Y to control the reset signals provided by reset controller.
82           Otherwise, say N.
83
84 config RESET_LANTIQ
85         bool "Lantiq XWAY Reset Driver" if COMPILE_TEST
86         default SOC_TYPE_XWAY
87         help
88           This enables the reset controller driver for Lantiq / Intel XWAY SoCs.
89
90 config RESET_LPC18XX
91         bool "LPC18xx/43xx Reset Driver" if COMPILE_TEST
92         default ARCH_LPC18XX
93         help
94           This enables the reset controller driver for NXP LPC18xx/43xx SoCs.
95
96 config RESET_MESON
97         bool "Meson Reset Driver" if COMPILE_TEST
98         default ARCH_MESON
99         help
100           This enables the reset driver for Amlogic Meson SoCs.
101
102 config RESET_MESON_AUDIO_ARB
103         tristate "Meson Audio Memory Arbiter Reset Driver"
104         depends on ARCH_MESON || COMPILE_TEST
105         help
106           This enables the reset driver for Audio Memory Arbiter of
107           Amlogic's A113 based SoCs
108
109 config RESET_NPCM
110         bool "NPCM BMC Reset Driver" if COMPILE_TEST
111         default ARCH_NPCM
112         help
113           This enables the reset controller driver for Nuvoton NPCM
114           BMC SoCs.
115
116 config RESET_OXNAS
117         bool
118
119 config RESET_PISTACHIO
120         bool "Pistachio Reset Driver" if COMPILE_TEST
121         default MACH_PISTACHIO
122         help
123           This enables the reset driver for ImgTec Pistachio SoCs.
124
125 config RESET_QCOM_AOSS
126         tristate "Qcom AOSS Reset Driver"
127         depends on ARCH_QCOM || COMPILE_TEST
128         help
129           This enables the AOSS (always on subsystem) reset driver
130           for Qualcomm SDM845 SoCs. Say Y if you want to control
131           reset signals provided by AOSS for Modem, Venus, ADSP,
132           GPU, Camera, Wireless, Display subsystem. Otherwise, say N.
133
134 config RESET_QCOM_PDC
135         tristate "Qualcomm PDC Reset Driver"
136         depends on ARCH_QCOM || COMPILE_TEST
137         help
138           This enables the PDC (Power Domain Controller) reset driver
139           for Qualcomm Technologies Inc SDM845 SoCs. Say Y if you want
140           to control reset signals provided by PDC for Modem, Compute,
141           Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS.
142
143 config RESET_RASPBERRYPI
144         tristate "Raspberry Pi 4 Firmware Reset Driver"
145         depends on RASPBERRYPI_FIRMWARE || (RASPBERRYPI_FIRMWARE=n && COMPILE_TEST)
146         default USB_XHCI_PCI
147         help
148           Raspberry Pi 4's co-processor controls some of the board's HW
149           initialization process, but it's up to Linux to trigger it when
150           relevant. This driver provides a reset controller capable of
151           interfacing with RPi4's co-processor and model these firmware
152           initialization routines as reset lines.
153
154 config RESET_SCMI
155         tristate "Reset driver controlled via ARM SCMI interface"
156         depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
157         default ARM_SCMI_PROTOCOL
158         help
159           This driver provides support for reset signal/domains that are
160           controlled by firmware that implements the SCMI interface.
161
162           This driver uses SCMI Message Protocol to interact with the
163           firmware controlling all the reset signals.
164
165 config RESET_SIMPLE
166         bool "Simple Reset Controller Driver" if COMPILE_TEST
167         default ARCH_AGILEX || ARCH_ASPEED || ARCH_BITMAIN || ARCH_REALTEK || ARCH_STM32 || ARCH_STRATIX10 || ARCH_SUNXI || ARCH_ZX || ARC
168         help
169           This enables a simple reset controller driver for reset lines that
170           that can be asserted and deasserted by toggling bits in a contiguous,
171           exclusive register space.
172
173           Currently this driver supports:
174            - Altera SoCFPGAs
175            - ASPEED BMC SoCs
176            - Bitmain BM1880 SoC
177            - Realtek SoCs
178            - RCC reset controller in STM32 MCUs
179            - Allwinner SoCs
180            - ZTE's zx2967 family
181
182 config RESET_STM32MP157
183         bool "STM32MP157 Reset Driver" if COMPILE_TEST
184         default MACH_STM32MP157
185         help
186           This enables the RCC reset controller driver for STM32 MPUs.
187
188 config RESET_SOCFPGA
189         bool "SoCFPGA Reset Driver" if COMPILE_TEST && !ARCH_SOCFPGA
190         default ARCH_SOCFPGA
191         select RESET_SIMPLE
192         help
193           This enables the reset driver for the SoCFPGA ARMv7 platforms. This
194           driver gets initialized early during platform init calls.
195
196 config RESET_SUNXI
197         bool "Allwinner SoCs Reset Driver" if COMPILE_TEST && !ARCH_SUNXI
198         default ARCH_SUNXI
199         select RESET_SIMPLE
200         help
201           This enables the reset driver for Allwinner SoCs.
202
203 config RESET_TI_SCI
204         tristate "TI System Control Interface (TI-SCI) reset driver"
205         depends on TI_SCI_PROTOCOL
206         help
207           This enables the reset driver support over TI System Control Interface
208           available on some new TI's SoCs. If you wish to use reset resources
209           managed by the TI System Controller, say Y here. Otherwise, say N.
210
211 config RESET_TI_SYSCON
212         tristate "TI SYSCON Reset Driver"
213         depends on HAS_IOMEM
214         select MFD_SYSCON
215         help
216           This enables the reset driver support for TI devices with
217           memory-mapped reset registers as part of a syscon device node. If
218           you wish to use the reset framework for such memory-mapped devices,
219           say Y here. Otherwise, say N.
220
221 config RESET_UNIPHIER
222         tristate "Reset controller driver for UniPhier SoCs"
223         depends on ARCH_UNIPHIER || COMPILE_TEST
224         depends on OF && MFD_SYSCON
225         default ARCH_UNIPHIER
226         help
227           Support for reset controllers on UniPhier SoCs.
228           Say Y if you want to control reset signals provided by System Control
229           block, Media I/O block, Peripheral Block.
230
231 config RESET_UNIPHIER_GLUE
232         tristate "Reset driver in glue layer for UniPhier SoCs"
233         depends on (ARCH_UNIPHIER || COMPILE_TEST) && OF
234         default ARCH_UNIPHIER
235         select RESET_SIMPLE
236         help
237           Support for peripheral core reset included in its own glue layer
238           on UniPhier SoCs. Say Y if you want to control reset signals
239           provided by the glue layer.
240
241 config RESET_ZYNQ
242         bool "ZYNQ Reset Driver" if COMPILE_TEST
243         default ARCH_ZYNQ
244         help
245           This enables the reset controller driver for Xilinx Zynq SoCs.
246
247 source "drivers/reset/sti/Kconfig"
248 source "drivers/reset/hisilicon/Kconfig"
249 source "drivers/reset/tegra/Kconfig"
250
251 endif