blob: 04f160245b2452b38e744653098965d8a1701ad0 [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
Vineet Gupta13541222017-08-31 11:06:07 -070052config RESET_HSDK
53 bool "Synopsys HSDK Reset Driver"
Thomas Meyer2d48a232017-09-09 06:02:46 +020054 depends on HAS_IOMEM
Geert Uytterhoeven544e3bf2017-09-11 14:22:08 +020055 depends on ARC_SOC_HSDK || COMPILE_TEST
Eugeniy Paltseve0be8642017-07-19 21:45:11 +030056 help
Vineet Gupta13541222017-08-31 11:06:07 -070057 This enables the reset controller driver for HSDK board.
Eugeniy Paltseve0be8642017-07-19 21:45:11 +030058
Andrey Smirnovabf97752017-02-21 08:13:31 -080059config RESET_IMX7
Andrey Smirnovc979dbf2019-01-21 18:10:43 -080060 bool "i.MX7/8 Reset Driver" if COMPILE_TEST
Masahiro Yamada8fa56622018-03-06 20:15:11 +090061 depends on HAS_IOMEM
Andrey Smirnovc979dbf2019-01-21 18:10:43 -080062 default SOC_IMX7D || (ARM64 && ARCH_MXC)
Andrey Smirnovabf97752017-02-21 08:13:31 -080063 select MFD_SYSCON
64 help
65 This enables the reset controller driver for i.MX7 SoCs.
66
Dilip Kotac9aef212020-01-03 18:00:18 +080067config RESET_INTEL_GW
68 bool "Intel Reset Controller Driver"
69 depends on OF
70 select REGMAP_MMIO
71 help
72 This enables the reset controller driver for Intel Gateway SoCs.
73 Say Y to control the reset signals provided by reset controller.
74 Otherwise, say N.
75
Martin Blumenstingl79797b62017-08-20 00:18:17 +020076config RESET_LANTIQ
77 bool "Lantiq XWAY Reset Driver" if COMPILE_TEST
78 default SOC_TYPE_XWAY
79 help
80 This enables the reset controller driver for Lantiq / Intel XWAY SoCs.
81
Philipp Zabelcd7f4b82016-07-28 15:32:01 +020082config RESET_LPC18XX
83 bool "LPC18xx/43xx Reset Driver" if COMPILE_TEST
84 default ARCH_LPC18XX
85 help
86 This enables the reset controller driver for NXP LPC18xx/43xx SoCs.
87
Philipp Zabel44336c22016-07-28 15:32:36 +020088config RESET_MESON
89 bool "Meson Reset Driver" if COMPILE_TEST
90 default ARCH_MESON
91 help
92 This enables the reset driver for Amlogic Meson SoCs.
93
Jerome Brunetd9037792018-07-20 17:26:33 +020094config RESET_MESON_AUDIO_ARB
95 tristate "Meson Audio Memory Arbiter Reset Driver"
96 depends on ARCH_MESON || COMPILE_TEST
97 help
98 This enables the reset driver for Audio Memory Arbiter of
99 Amlogic's A113 based SoCs
100
Tomer Maimon9c81b2c2019-11-06 16:53:31 +0200101config RESET_NPCM
102 bool "NPCM BMC Reset Driver" if COMPILE_TEST
103 default ARCH_NPCM
104 help
105 This enables the reset controller driver for Nuvoton NPCM
106 BMC SoCs.
107
Neil Armstrong6e667fa2016-04-01 16:16:13 +0200108config RESET_OXNAS
109 bool
110
Philipp Zabelfab3f732016-07-28 15:33:07 +0200111config RESET_PISTACHIO
112 bool "Pistachio Reset Driver" if COMPILE_TEST
113 default MACH_PISTACHIO
114 help
115 This enables the reset driver for ImgTec Pistachio SoCs.
116
Sibi Sankar5ecb0652018-06-27 19:54:43 +0530117config RESET_QCOM_AOSS
118 bool "Qcom AOSS Reset Driver"
119 depends on ARCH_QCOM || COMPILE_TEST
120 help
121 This enables the AOSS (always on subsystem) reset driver
122 for Qualcomm SDM845 SoCs. Say Y if you want to control
123 reset signals provided by AOSS for Modem, Venus, ADSP,
124 GPU, Camera, Wireless, Display subsystem. Otherwise, say N.
125
Sibi Sankareea29262018-08-30 00:42:11 +0530126config RESET_QCOM_PDC
127 tristate "Qualcomm PDC Reset Driver"
128 depends on ARCH_QCOM || COMPILE_TEST
129 help
130 This enables the PDC (Power Domain Controller) reset driver
131 for Qualcomm Technologies Inc SDM845 SoCs. Say Y if you want
132 to control reset signals provided by PDC for Modem, Compute,
133 Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS.
134
Sudeep Hollac8ae9c2d2019-07-08 09:41:08 +0100135config RESET_SCMI
136 tristate "Reset driver controlled via ARM SCMI interface"
137 depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
138 default ARM_SCMI_PROTOCOL
139 help
140 This driver provides support for reset signal/domains that are
141 controlled by firmware that implements the SCMI interface.
142
143 This driver uses SCMI Message Protocol to interact with the
144 firmware controlling all the reset signals.
145
Philipp Zabel81c22ad2017-08-11 12:58:43 +0200146config RESET_SIMPLE
147 bool "Simple Reset Controller Driver" if COMPILE_TEST
Andreas Färber3ab831e2019-10-23 12:13:10 +0200148 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 +0200149 help
150 This enables a simple reset controller driver for reset lines that
151 that can be asserted and deasserted by toggling bits in a contiguous,
152 exclusive register space.
153
Joel Stanley1d7592f2018-02-20 12:13:29 +1030154 Currently this driver supports:
155 - Altera SoCFPGAs
156 - ASPEED BMC SoCs
Andreas Färber5ac33ee2019-10-23 12:13:09 +0200157 - Bitmain BM1880 SoC
Andreas Färber3ab831e2019-10-23 12:13:10 +0200158 - Realtek SoCs
Joel Stanley1d7592f2018-02-20 12:13:29 +1030159 - RCC reset controller in STM32 MCUs
160 - Allwinner SoCs
161 - ZTE's zx2967 family
Philipp Zabel7e0e9012016-07-28 15:34:15 +0200162
Gabriel Fernandez197858b2018-03-19 08:25:51 +0100163config RESET_STM32MP157
164 bool "STM32MP157 Reset Driver" if COMPILE_TEST
165 default MACH_STM32MP157
166 help
167 This enables the RCC reset controller driver for STM32 MPUs.
168
Dinh Nguyenb3ca9882018-11-13 12:50:48 -0600169config RESET_SOCFPGA
170 bool "SoCFPGA Reset Driver" if COMPILE_TEST && !ARCH_SOCFPGA
171 default ARCH_SOCFPGA
172 select RESET_SIMPLE
173 help
174 This enables the reset driver for the SoCFPGA ARMv7 platforms. This
175 driver gets initialized early during platform init calls.
176
Philipp Zabel0ae08412016-08-09 09:28:44 +0200177config RESET_SUNXI
178 bool "Allwinner SoCs Reset Driver" if COMPILE_TEST && !ARCH_SUNXI
179 default ARCH_SUNXI
Philipp Zabele13c2052017-08-11 12:58:43 +0200180 select RESET_SIMPLE
Philipp Zabel0ae08412016-08-09 09:28:44 +0200181 help
182 This enables the reset driver for Allwinner SoCs.
183
Andrew F. Davis28df1692017-05-24 13:09:30 -0500184config RESET_TI_SCI
185 tristate "TI System Control Interface (TI-SCI) reset driver"
186 depends on TI_SCI_PROTOCOL
187 help
188 This enables the reset driver support over TI System Control Interface
189 available on some new TI's SoCs. If you wish to use reset resources
190 managed by the TI System Controller, say Y here. Otherwise, say N.
191
Suman Annadd9bf862017-05-23 22:00:12 -0500192config RESET_TI_SYSCON
Andrew F. Daviscc7c2bb2016-06-27 12:12:17 -0500193 tristate "TI SYSCON Reset Driver"
194 depends on HAS_IOMEM
195 select MFD_SYSCON
196 help
197 This enables the reset driver support for TI devices with
198 memory-mapped reset registers as part of a syscon device node. If
199 you wish to use the reset framework for such memory-mapped devices,
200 say Y here. Otherwise, say N.
201
Masahiro Yamada54e991b2016-08-02 13:18:29 +0900202config RESET_UNIPHIER
203 tristate "Reset controller driver for UniPhier SoCs"
204 depends on ARCH_UNIPHIER || COMPILE_TEST
205 depends on OF && MFD_SYSCON
206 default ARCH_UNIPHIER
207 help
208 Support for reset controllers on UniPhier SoCs.
209 Say Y if you want to control reset signals provided by System Control
210 block, Media I/O block, Peripheral Block.
211
Kunihiko Hayashi3eb8f762018-11-09 10:42:05 +0900212config RESET_UNIPHIER_GLUE
213 tristate "Reset driver in glue layer for UniPhier SoCs"
Kunihiko Hayashi499fef02018-07-10 10:14:17 +0900214 depends on (ARCH_UNIPHIER || COMPILE_TEST) && OF
215 default ARCH_UNIPHIER
216 select RESET_SIMPLE
217 help
Kunihiko Hayashi3eb8f762018-11-09 10:42:05 +0900218 Support for peripheral core reset included in its own glue layer
219 on UniPhier SoCs. Say Y if you want to control reset signals
220 provided by the glue layer.
Kunihiko Hayashi499fef02018-07-10 10:14:17 +0900221
Philipp Zabel6f51b862016-08-09 09:28:54 +0200222config RESET_ZYNQ
223 bool "ZYNQ Reset Driver" if COMPILE_TEST
224 default ARCH_ZYNQ
225 help
226 This enables the reset controller driver for Xilinx Zynq SoCs.
227
Stephen Gallimoree5d76072013-08-07 15:53:12 +0100228source "drivers/reset/sti/Kconfig"
Chen Fengf59d23c2015-11-20 10:10:05 +0800229source "drivers/reset/hisilicon/Kconfig"
Thierry Redingdc606c52016-08-18 15:50:09 +0200230source "drivers/reset/tegra/Kconfig"
Masahiro Yamada998cd462016-05-03 15:29:52 +0900231
232endif