blob: 3e7f55e44d849aa4aff5c2a7a87bcf76b4e01f8e [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Philipp Zabel61fc4132012-11-19 17:23:13 +01002config 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.
Stephen Gallimoree5d76072013-08-07 15:53:12 +010015
Masahiro Yamada998cd462016-05-03 15:29:52 +090016if RESET_CONTROLLER
17
Thor Thayer62700682017-02-22 11:10:17 -060018config 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
Philipp Zabele27b4a62016-07-28 15:30:08 +020025config 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
Eugeniy Paltsev37634922017-09-14 17:28:42 +030032config 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
Álvaro Fernández Rojasaac02542020-06-17 12:50:35 +020038config RESET_BCM6345
39 bool "BCM6345 Reset Controller"
40 depends on BMIPS_GENERIC || COMPILE_TEST
41 default BMIPS_GENERIC
42 help
43 This enables the reset controller driver for BCM6345 SoCs.
44
Philipp Zabel70d467e2016-07-28 15:31:12 +020045config RESET_BERLIN
46 bool "Berlin Reset Driver" if COMPILE_TEST
47 default ARCH_BERLIN
48 help
49 This enables the reset controller driver for Marvell Berlin SoCs.
50
Florian Fainelli77750bc2019-01-23 14:54:36 -080051config RESET_BRCMSTB
52 tristate "Broadcom STB reset controller"
53 depends on ARCH_BRCMSTB || COMPILE_TEST
54 default ARCH_BRCMSTB
55 help
56 This enables the reset controller driver for Broadcom STB SoCs using
57 a SUN_TOP_CTRL_SW_INIT style controller.
58
Jim Quinlan4cf176e2020-01-03 11:04:29 -080059config RESET_BRCMSTB_RESCAL
60 bool "Broadcom STB RESCAL reset controller"
Brendan Higgins7fbcc532020-01-27 15:53:53 -080061 depends on HAS_IOMEM
Jim Quinlan4cf176e2020-01-03 11:04:29 -080062 default ARCH_BRCMSTB || COMPILE_TEST
63 help
64 This enables the RESCAL reset controller for SATA, PCIe0, or PCIe1 on
65 BCM7216.
66
Vineet Gupta13541222017-08-31 11:06:07 -070067config RESET_HSDK
68 bool "Synopsys HSDK Reset Driver"
Thomas Meyer2d48a232017-09-09 06:02:46 +020069 depends on HAS_IOMEM
Geert Uytterhoeven544e3bf2017-09-11 14:22:08 +020070 depends on ARC_SOC_HSDK || COMPILE_TEST
Eugeniy Paltseve0be8642017-07-19 21:45:11 +030071 help
Vineet Gupta13541222017-08-31 11:06:07 -070072 This enables the reset controller driver for HSDK board.
Eugeniy Paltseve0be8642017-07-19 21:45:11 +030073
Andrey Smirnovabf97752017-02-21 08:13:31 -080074config RESET_IMX7
Anson Huanga442abb2020-07-20 22:21:59 +080075 tristate "i.MX7/8 Reset Driver"
Masahiro Yamada8fa56622018-03-06 20:15:11 +090076 depends on HAS_IOMEM
Anson Huanga442abb2020-07-20 22:21:59 +080077 depends on SOC_IMX7D || (ARM64 && ARCH_MXC) || COMPILE_TEST
78 default y if SOC_IMX7D
Andrey Smirnovabf97752017-02-21 08:13:31 -080079 select MFD_SYSCON
80 help
81 This enables the reset controller driver for i.MX7 SoCs.
82
Dilip Kotac9aef212020-01-03 18:00:18 +080083config RESET_INTEL_GW
84 bool "Intel Reset Controller Driver"
Brendan Higginsb460e0a2020-01-27 15:53:54 -080085 depends on OF && HAS_IOMEM
Dilip Kotac9aef212020-01-03 18:00:18 +080086 select REGMAP_MMIO
87 help
88 This enables the reset controller driver for Intel Gateway SoCs.
89 Say Y to control the reset signals provided by reset controller.
90 Otherwise, say N.
91
Damien Le Moal5a2308d2020-12-13 22:50:47 +090092config RESET_K210
93 bool "Reset controller driver for Canaan Kendryte K210 SoC"
94 depends on (SOC_CANAAN || COMPILE_TEST) && OF
95 select MFD_SYSCON
96 default SOC_CANAAN
97 help
98 Support for the Canaan Kendryte K210 RISC-V SoC reset controller.
99 Say Y if you want to control reset signals provided by this
100 controller.
101
Martin Blumenstingl79797b62017-08-20 00:18:17 +0200102config RESET_LANTIQ
103 bool "Lantiq XWAY Reset Driver" if COMPILE_TEST
104 default SOC_TYPE_XWAY
105 help
106 This enables the reset controller driver for Lantiq / Intel XWAY SoCs.
107
Philipp Zabelcd7f4b82016-07-28 15:32:01 +0200108config RESET_LPC18XX
109 bool "LPC18xx/43xx Reset Driver" if COMPILE_TEST
110 default ARCH_LPC18XX
111 help
112 This enables the reset controller driver for NXP LPC18xx/43xx SoCs.
113
Philipp Zabel44336c22016-07-28 15:32:36 +0200114config RESET_MESON
Neil Armstrong3bfe8932020-10-19 16:48:09 +0200115 tristate "Meson Reset Driver"
116 depends on ARCH_MESON || COMPILE_TEST
Philipp Zabel44336c22016-07-28 15:32:36 +0200117 default ARCH_MESON
118 help
119 This enables the reset driver for Amlogic Meson SoCs.
120
Jerome Brunetd9037792018-07-20 17:26:33 +0200121config RESET_MESON_AUDIO_ARB
122 tristate "Meson Audio Memory Arbiter Reset Driver"
123 depends on ARCH_MESON || COMPILE_TEST
124 help
125 This enables the reset driver for Audio Memory Arbiter of
126 Amlogic's A113 based SoCs
127
Tomer Maimon9c81b2c2019-11-06 16:53:31 +0200128config RESET_NPCM
129 bool "NPCM BMC Reset Driver" if COMPILE_TEST
130 default ARCH_NPCM
131 help
132 This enables the reset controller driver for Nuvoton NPCM
133 BMC SoCs.
134
Neil Armstrong6e667fa2016-04-01 16:16:13 +0200135config RESET_OXNAS
136 bool
137
Philipp Zabelfab3f732016-07-28 15:33:07 +0200138config RESET_PISTACHIO
139 bool "Pistachio Reset Driver" if COMPILE_TEST
140 default MACH_PISTACHIO
141 help
142 This enables the reset driver for ImgTec Pistachio SoCs.
143
Sibi Sankar5ecb0652018-06-27 19:54:43 +0530144config RESET_QCOM_AOSS
John Stultze2d5e832020-01-08 00:19:13 +0000145 tristate "Qcom AOSS Reset Driver"
Sibi Sankar5ecb0652018-06-27 19:54:43 +0530146 depends on ARCH_QCOM || COMPILE_TEST
147 help
148 This enables the AOSS (always on subsystem) reset driver
149 for Qualcomm SDM845 SoCs. Say Y if you want to control
150 reset signals provided by AOSS for Modem, Venus, ADSP,
151 GPU, Camera, Wireless, Display subsystem. Otherwise, say N.
152
Sibi Sankareea29262018-08-30 00:42:11 +0530153config RESET_QCOM_PDC
154 tristate "Qualcomm PDC Reset Driver"
155 depends on ARCH_QCOM || COMPILE_TEST
156 help
157 This enables the PDC (Power Domain Controller) reset driver
158 for Qualcomm Technologies Inc SDM845 SoCs. Say Y if you want
159 to control reset signals provided by PDC for Modem, Compute,
160 Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS.
161
Nicolas Saenz Julienneabffc822020-06-29 18:18:38 +0200162config RESET_RASPBERRYPI
163 tristate "Raspberry Pi 4 Firmware Reset Driver"
164 depends on RASPBERRYPI_FIRMWARE || (RASPBERRYPI_FIRMWARE=n && COMPILE_TEST)
165 default USB_XHCI_PCI
166 help
167 Raspberry Pi 4's co-processor controls some of the board's HW
168 initialization process, but it's up to Linux to trigger it when
169 relevant. This driver provides a reset controller capable of
170 interfacing with RPi4's co-processor and model these firmware
171 initialization routines as reset lines.
172
Sudeep Hollac8ae9c2d2019-07-08 09:41:08 +0100173config RESET_SCMI
174 tristate "Reset driver controlled via ARM SCMI interface"
175 depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
176 default ARM_SCMI_PROTOCOL
177 help
178 This driver provides support for reset signal/domains that are
179 controlled by firmware that implements the SCMI interface.
180
181 This driver uses SCMI Message Protocol to interact with the
182 firmware controlling all the reset signals.
183
Philipp Zabel81c22ad2017-08-11 12:58:43 +0200184config RESET_SIMPLE
185 bool "Simple Reset Controller Driver" if COMPILE_TEST
Krzysztof Kozlowski4a9a1a52021-03-11 16:25:38 +0100186 default ARCH_ASPEED || ARCH_BCM4908 || ARCH_BITMAIN || ARCH_REALTEK || ARCH_STM32 || (ARCH_INTEL_SOCFPGA && ARM64) || ARCH_SUNXI || ARC
Philipp Zabel81c22ad2017-08-11 12:58:43 +0200187 help
188 This enables a simple reset controller driver for reset lines that
189 that can be asserted and deasserted by toggling bits in a contiguous,
190 exclusive register space.
191
Joel Stanley1d7592f2018-02-20 12:13:29 +1030192 Currently this driver supports:
193 - Altera SoCFPGAs
194 - ASPEED BMC SoCs
Andreas Färber5ac33ee2019-10-23 12:13:09 +0200195 - Bitmain BM1880 SoC
Andreas Färber3ab831e2019-10-23 12:13:10 +0200196 - Realtek SoCs
Joel Stanley1d7592f2018-02-20 12:13:29 +1030197 - RCC reset controller in STM32 MCUs
198 - Allwinner SoCs
199 - ZTE's zx2967 family
Greentime Hue4d368e2021-05-04 18:59:36 +0800200 - SiFive FU740 SoCs
Philipp Zabel7e0e9012016-07-28 15:34:15 +0200201
Gabriel Fernandez197858b2018-03-19 08:25:51 +0100202config RESET_STM32MP157
203 bool "STM32MP157 Reset Driver" if COMPILE_TEST
204 default MACH_STM32MP157
205 help
206 This enables the RCC reset controller driver for STM32 MPUs.
207
Dinh Nguyenb3ca9882018-11-13 12:50:48 -0600208config RESET_SOCFPGA
Krzysztof Kozlowski225c13f2021-03-11 16:27:41 +0100209 bool "SoCFPGA Reset Driver" if COMPILE_TEST && (!ARM || !ARCH_INTEL_SOCFPGA)
210 default ARM && ARCH_INTEL_SOCFPGA
Dinh Nguyenb3ca9882018-11-13 12:50:48 -0600211 select RESET_SIMPLE
212 help
213 This enables the reset driver for the SoCFPGA ARMv7 platforms. This
214 driver gets initialized early during platform init calls.
215
Philipp Zabel0ae08412016-08-09 09:28:44 +0200216config RESET_SUNXI
217 bool "Allwinner SoCs Reset Driver" if COMPILE_TEST && !ARCH_SUNXI
218 default ARCH_SUNXI
Philipp Zabele13c2052017-08-11 12:58:43 +0200219 select RESET_SIMPLE
Philipp Zabel0ae08412016-08-09 09:28:44 +0200220 help
221 This enables the reset driver for Allwinner SoCs.
222
Andrew F. Davis28df1692017-05-24 13:09:30 -0500223config RESET_TI_SCI
224 tristate "TI System Control Interface (TI-SCI) reset driver"
225 depends on TI_SCI_PROTOCOL
226 help
227 This enables the reset driver support over TI System Control Interface
228 available on some new TI's SoCs. If you wish to use reset resources
229 managed by the TI System Controller, say Y here. Otherwise, say N.
230
Suman Annadd9bf862017-05-23 22:00:12 -0500231config RESET_TI_SYSCON
Andrew F. Daviscc7c2bb2016-06-27 12:12:17 -0500232 tristate "TI SYSCON Reset Driver"
233 depends on HAS_IOMEM
234 select MFD_SYSCON
235 help
236 This enables the reset driver support for TI devices with
237 memory-mapped reset registers as part of a syscon device node. If
238 you wish to use the reset framework for such memory-mapped devices,
239 say Y here. Otherwise, say N.
240
Masahiro Yamada54e991b2016-08-02 13:18:29 +0900241config RESET_UNIPHIER
242 tristate "Reset controller driver for UniPhier SoCs"
243 depends on ARCH_UNIPHIER || COMPILE_TEST
244 depends on OF && MFD_SYSCON
245 default ARCH_UNIPHIER
246 help
247 Support for reset controllers on UniPhier SoCs.
248 Say Y if you want to control reset signals provided by System Control
249 block, Media I/O block, Peripheral Block.
250
Kunihiko Hayashi3eb8f762018-11-09 10:42:05 +0900251config RESET_UNIPHIER_GLUE
252 tristate "Reset driver in glue layer for UniPhier SoCs"
Kunihiko Hayashi499fef02018-07-10 10:14:17 +0900253 depends on (ARCH_UNIPHIER || COMPILE_TEST) && OF
254 default ARCH_UNIPHIER
255 select RESET_SIMPLE
256 help
Kunihiko Hayashi3eb8f762018-11-09 10:42:05 +0900257 Support for peripheral core reset included in its own glue layer
258 on UniPhier SoCs. Say Y if you want to control reset signals
259 provided by the glue layer.
Kunihiko Hayashi499fef02018-07-10 10:14:17 +0900260
Philipp Zabel6f51b862016-08-09 09:28:54 +0200261config RESET_ZYNQ
262 bool "ZYNQ Reset Driver" if COMPILE_TEST
263 default ARCH_ZYNQ
264 help
265 This enables the reset controller driver for Xilinx Zynq SoCs.
266
Stephen Gallimoree5d76072013-08-07 15:53:12 +0100267source "drivers/reset/sti/Kconfig"
Chen Fengf59d23c2015-11-20 10:10:05 +0800268source "drivers/reset/hisilicon/Kconfig"
Thierry Redingdc606c52016-08-18 15:50:09 +0200269source "drivers/reset/tegra/Kconfig"
Masahiro Yamada998cd462016-05-03 15:29:52 +0900270
271endif