blob: 19f9773133ddce534fb1180c1873d76f74a8dc94 [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
Philipp Zabel70d467e2016-07-28 15:31:12 +020038config 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
Florian Fainelli77750bc2019-01-23 14:54:36 -080044config 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
Jim Quinlan4cf176e2020-01-03 11:04:29 -080052config RESET_BRCMSTB_RESCAL
53 bool "Broadcom STB RESCAL reset controller"
Brendan Higgins7fbcc532020-01-27 15:53:53 -080054 depends on HAS_IOMEM
Jim Quinlan4cf176e2020-01-03 11:04:29 -080055 default ARCH_BRCMSTB || COMPILE_TEST
56 help
57 This enables the RESCAL reset controller for SATA, PCIe0, or PCIe1 on
58 BCM7216.
59
Vineet Gupta13541222017-08-31 11:06:07 -070060config RESET_HSDK
61 bool "Synopsys HSDK Reset Driver"
Thomas Meyer2d48a232017-09-09 06:02:46 +020062 depends on HAS_IOMEM
Geert Uytterhoeven544e3bf2017-09-11 14:22:08 +020063 depends on ARC_SOC_HSDK || COMPILE_TEST
Eugeniy Paltseve0be8642017-07-19 21:45:11 +030064 help
Vineet Gupta13541222017-08-31 11:06:07 -070065 This enables the reset controller driver for HSDK board.
Eugeniy Paltseve0be8642017-07-19 21:45:11 +030066
Andrey Smirnovabf97752017-02-21 08:13:31 -080067config RESET_IMX7
Anson Huanga442abb2020-07-20 22:21:59 +080068 tristate "i.MX7/8 Reset Driver"
Masahiro Yamada8fa56622018-03-06 20:15:11 +090069 depends on HAS_IOMEM
Anson Huanga442abb2020-07-20 22:21:59 +080070 depends on SOC_IMX7D || (ARM64 && ARCH_MXC) || COMPILE_TEST
71 default y if SOC_IMX7D
Andrey Smirnovabf97752017-02-21 08:13:31 -080072 select MFD_SYSCON
73 help
74 This enables the reset controller driver for i.MX7 SoCs.
75
Dilip Kotac9aef212020-01-03 18:00:18 +080076config RESET_INTEL_GW
77 bool "Intel Reset Controller Driver"
Brendan Higginsb460e0a2020-01-27 15:53:54 -080078 depends on OF && HAS_IOMEM
Dilip Kotac9aef212020-01-03 18:00:18 +080079 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
Martin Blumenstingl79797b62017-08-20 00:18:17 +020085config 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
Philipp Zabelcd7f4b82016-07-28 15:32:01 +020091config 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
Philipp Zabel44336c22016-07-28 15:32:36 +020097config 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
Jerome Brunetd9037792018-07-20 17:26:33 +0200103config 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
Tomer Maimon9c81b2c2019-11-06 16:53:31 +0200110config 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
Neil Armstrong6e667fa2016-04-01 16:16:13 +0200117config RESET_OXNAS
118 bool
119
Philipp Zabelfab3f732016-07-28 15:33:07 +0200120config 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
Sibi Sankar5ecb0652018-06-27 19:54:43 +0530126config RESET_QCOM_AOSS
John Stultze2d5e832020-01-08 00:19:13 +0000127 tristate "Qcom AOSS Reset Driver"
Sibi Sankar5ecb0652018-06-27 19:54:43 +0530128 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
Sibi Sankareea29262018-08-30 00:42:11 +0530135config 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
Sudeep Hollac8ae9c2d2019-07-08 09:41:08 +0100144config 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
Philipp Zabel81c22ad2017-08-11 12:58:43 +0200155config RESET_SIMPLE
156 bool "Simple Reset Controller Driver" if COMPILE_TEST
Andreas Färber3ab831e2019-10-23 12:13:10 +0200157 default ARCH_AGILEX || ARCH_ASPEED || ARCH_BITMAIN || ARCH_REALTEK || ARCH_STM32 || ARCH_STRATIX10 || ARCH_SUNXI || ARCH_ZX || ARC
Philipp Zabel81c22ad2017-08-11 12:58:43 +0200158 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
Joel Stanley1d7592f2018-02-20 12:13:29 +1030163 Currently this driver supports:
164 - Altera SoCFPGAs
165 - ASPEED BMC SoCs
Andreas Färber5ac33ee2019-10-23 12:13:09 +0200166 - Bitmain BM1880 SoC
Andreas Färber3ab831e2019-10-23 12:13:10 +0200167 - Realtek SoCs
Joel Stanley1d7592f2018-02-20 12:13:29 +1030168 - RCC reset controller in STM32 MCUs
169 - Allwinner SoCs
170 - ZTE's zx2967 family
Philipp Zabel7e0e9012016-07-28 15:34:15 +0200171
Gabriel Fernandez197858b2018-03-19 08:25:51 +0100172config 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
Dinh Nguyenb3ca9882018-11-13 12:50:48 -0600178config 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
Philipp Zabel0ae08412016-08-09 09:28:44 +0200186config RESET_SUNXI
187 bool "Allwinner SoCs Reset Driver" if COMPILE_TEST && !ARCH_SUNXI
188 default ARCH_SUNXI
Philipp Zabele13c2052017-08-11 12:58:43 +0200189 select RESET_SIMPLE
Philipp Zabel0ae08412016-08-09 09:28:44 +0200190 help
191 This enables the reset driver for Allwinner SoCs.
192
Andrew F. Davis28df1692017-05-24 13:09:30 -0500193config 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
Suman Annadd9bf862017-05-23 22:00:12 -0500201config RESET_TI_SYSCON
Andrew F. Daviscc7c2bb2016-06-27 12:12:17 -0500202 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
Masahiro Yamada54e991b2016-08-02 13:18:29 +0900211config 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
Kunihiko Hayashi3eb8f762018-11-09 10:42:05 +0900221config RESET_UNIPHIER_GLUE
222 tristate "Reset driver in glue layer for UniPhier SoCs"
Kunihiko Hayashi499fef02018-07-10 10:14:17 +0900223 depends on (ARCH_UNIPHIER || COMPILE_TEST) && OF
224 default ARCH_UNIPHIER
225 select RESET_SIMPLE
226 help
Kunihiko Hayashi3eb8f762018-11-09 10:42:05 +0900227 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.
Kunihiko Hayashi499fef02018-07-10 10:14:17 +0900230
Philipp Zabel6f51b862016-08-09 09:28:54 +0200231config 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
Stephen Gallimoree5d76072013-08-07 15:53:12 +0100237source "drivers/reset/sti/Kconfig"
Chen Fengf59d23c2015-11-20 10:10:05 +0800238source "drivers/reset/hisilicon/Kconfig"
Thierry Redingdc606c52016-08-18 15:50:09 +0200239source "drivers/reset/tegra/Kconfig"
Masahiro Yamada998cd462016-05-03 15:29:52 +0900240
241endif