GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm / mach-versatile / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 config ARCH_VERSATILE
3         bool "ARM Ltd. Versatile family"
4         depends on ARCH_MULTI_V5
5         depends on CPU_LITTLE_ENDIAN
6         select ARM_AMBA
7         select ARM_TIMER_SP804
8         select ARM_VIC
9         select CLKSRC_VERSATILE
10         select CPU_ARM926T
11         select CLK_ICST
12         select MFD_SYSCON
13         select PLAT_VERSATILE
14         select POWER_RESET
15         select POWER_RESET_VERSATILE
16         select VERSATILE_FPGA_IRQ
17         help
18           This enables support for ARM Ltd Versatile board.
19
20 menuconfig ARCH_INTEGRATOR
21         bool "ARM Ltd. Integrator family"
22         depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V6
23         depends on CPU_LITTLE_ENDIAN || ARCH_MULTI_V6
24         select ARM_AMBA
25         select CMA
26         select DMA_CMA
27         select HAVE_TCM
28         select CLK_ICST
29         select MFD_SYSCON
30         select PLAT_VERSATILE
31         select POWER_RESET
32         select POWER_RESET_VERSATILE
33         select POWER_SUPPLY
34         select SOC_INTEGRATOR_CM
35         select VERSATILE_FPGA_IRQ
36         help
37           Support for ARM's Integrator platform.
38
39 if ARCH_INTEGRATOR
40
41 config ARCH_INTEGRATOR_AP
42         bool "Support Integrator/AP and Integrator/PP2 platforms"
43         select INTEGRATOR_AP_TIMER
44         select SERIAL_AMBA_PL010 if TTY
45         select SERIAL_AMBA_PL010_CONSOLE if TTY
46         select SOC_BUS
47         help
48           Include support for the ARM(R) Integrator/AP and
49           Integrator/PP2 platforms.
50
51 config INTEGRATOR_IMPD1
52         bool "Include support for Integrator/IM-PD1"
53         depends on ARCH_INTEGRATOR_AP
54         select ARM_VIC
55         select GPIO_PL061
56         select GPIOLIB
57         select REGULATOR
58         select REGULATOR_FIXED_VOLTAGE
59         help
60           The IM-PD1 is an add-on logic module for the Integrator which
61           allows ARM(R) Ltd PrimeCells to be developed and evaluated.
62           The IM-PD1 can be found on the Integrator/PP2 platform.
63
64 config INTEGRATOR_CM720T
65         bool "Integrator/CM720T core module"
66         depends on ARCH_INTEGRATOR_AP
67         depends on ARCH_MULTI_V4T
68         select CPU_ARM720T
69
70 config INTEGRATOR_CM920T
71         bool "Integrator/CM920T core module"
72         depends on ARCH_INTEGRATOR_AP
73         depends on ARCH_MULTI_V4T
74         select CPU_ARM920T
75
76 config INTEGRATOR_CM922T_XA10
77         bool "Integrator/CM922T-XA10 core module"
78         depends on ARCH_MULTI_V4T
79         depends on ARCH_INTEGRATOR_AP
80         select CPU_ARM922T
81
82 config INTEGRATOR_CM926EJS
83         bool "Integrator/CM926EJ-S core module"
84         depends on ARCH_INTEGRATOR_AP
85         depends on ARCH_MULTI_V5
86         select CPU_ARM926T
87
88 config INTEGRATOR_CM10200E_REV0
89         bool "Integrator/CM10200E rev.0 core module"
90         depends on ARCH_INTEGRATOR_AP && n
91         depends on ARCH_MULTI_V5
92         select CPU_ARM1020
93
94 config INTEGRATOR_CM10200E
95         bool "Integrator/CM10200E core module"
96         depends on ARCH_INTEGRATOR_AP && n
97         depends on ARCH_MULTI_V5
98         select CPU_ARM1020E
99
100 config INTEGRATOR_CM10220E
101         bool "Integrator/CM10220E core module"
102         depends on ARCH_INTEGRATOR_AP
103         depends on ARCH_MULTI_V5
104         select CPU_ARM1022
105
106 config INTEGRATOR_CM1026EJS
107         bool "Integrator/CM1026EJ-S core module"
108         depends on ARCH_INTEGRATOR_AP
109         depends on ARCH_MULTI_V5
110         select CPU_ARM1026
111
112 config INTEGRATOR_CM1136JFS
113         bool "Integrator/CM1136JF-S core module"
114         depends on ARCH_INTEGRATOR_AP
115         depends on ARCH_MULTI_V6
116         select CPU_V6
117
118 config ARCH_INTEGRATOR_CP
119         bool "Support Integrator/CP platform"
120         depends on ARCH_MULTI_V5 || ARCH_MULTI_V6
121         select ARM_TIMER_SP804
122         select SERIAL_AMBA_PL011 if TTY
123         select SERIAL_AMBA_PL011_CONSOLE if TTY
124         select SOC_BUS
125         help
126           Include support for the ARM(R) Integrator CP platform.
127
128 config INTEGRATOR_CT926
129         bool "Integrator/CT926 (ARM926EJ-S) core tile"
130         depends on ARCH_INTEGRATOR_CP
131         depends on ARCH_MULTI_V5
132         select CPU_ARM926T
133
134 config INTEGRATOR_CTB36
135         bool "Integrator/CTB36 (ARM1136JF-S) core tile"
136         depends on ARCH_INTEGRATOR_CP
137         depends on ARCH_MULTI_V6
138         select CPU_V6
139
140 config ARCH_CINTEGRATOR
141         depends on ARCH_INTEGRATOR_CP
142         def_bool y
143
144 endif
145
146 menuconfig ARCH_REALVIEW
147         bool "ARM Ltd. RealView family"
148         depends on (CPU_LITTLE_ENDIAN && ARCH_MULTI_V5) || ARCH_MULTI_V6 || ARCH_MULTI_V7
149         select ARM_AMBA
150         select ARM_GIC
151         select ARM_TIMER_SP804
152         select CLK_SP810
153         select GPIO_PL061 if GPIOLIB
154         select HAVE_ARM_SCU if SMP
155         select HAVE_ARM_TWD if SMP
156         select HAVE_PATA_PLATFORM
157         select HAVE_TCM
158         select CLK_ICST
159         select MACH_REALVIEW_EB if ARCH_MULTI_V5
160         select MFD_SYSCON
161         select PLAT_VERSATILE
162         select POWER_RESET
163         select POWER_RESET_VERSATILE
164         select POWER_SUPPLY
165         select SOC_REALVIEW
166         help
167           This enables support for ARM Ltd RealView boards.
168
169 if ARCH_REALVIEW
170
171 config MACH_REALVIEW_EB
172         bool "Support RealView(R) Emulation Baseboard"
173         select ARM_GIC
174         select CPU_ARM926T if ARCH_MULTI_V5
175         help
176           Include support for the ARM(R) RealView(R) Emulation Baseboard
177           platform. On an ARMv5 kernel, this will include support for
178           the ARM926EJ-S core tile, while on an ARMv6/v7 kernel, at least
179           one of the ARM1136, ARM1176, ARM11MPCore or Cortex-A9MPCore
180           core tile options should be enabled.
181
182 config REALVIEW_EB_ARM1136
183         bool "Support ARM1136J(F)-S Tile"
184         depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
185         select CPU_V6
186         help
187           Enable support for the ARM1136 tile fitted to the
188           Realview(R) Emulation Baseboard platform.
189
190 config REALVIEW_EB_ARM1176
191         bool "Support ARM1176JZ(F)-S Tile"
192         depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
193         help
194           Enable support for the ARM1176 tile fitted to the
195           Realview(R) Emulation Baseboard platform.
196
197 config REALVIEW_EB_A9MP
198         bool "Support Multicore Cortex-A9 Tile"
199         depends on MACH_REALVIEW_EB && ARCH_MULTI_V7
200         help
201           Enable support for the Cortex-A9MPCore tile fitted to the
202           Realview(R) Emulation Baseboard platform.
203
204 config REALVIEW_EB_ARM11MP
205         bool "Support ARM11MPCore Tile"
206         depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
207         select HAVE_SMP
208         help
209           Enable support for the ARM11MPCore tile fitted to the Realview(R)
210           Emulation Baseboard platform.
211
212 config MACH_REALVIEW_PB11MP
213         bool "Support RealView(R) Platform Baseboard for ARM11MPCore"
214         depends on ARCH_MULTI_V6
215         select HAVE_SMP
216         help
217           Include support for the ARM(R) RealView(R) Platform Baseboard for
218           the ARM11MPCore.  This platform has an on-board ARM11MPCore and has
219           support for PCI-E and Compact Flash.
220
221 # ARMv6 CPU without K extensions, but does have the new exclusive ops
222 config MACH_REALVIEW_PB1176
223         bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S"
224         depends on ARCH_MULTI_V6
225         select CPU_V6
226         select HAVE_TCM
227         help
228           Include support for the ARM(R) RealView(R) Platform Baseboard for
229           ARM1176JZF-S.
230
231 config MACH_REALVIEW_PBA8
232         bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform"
233         depends on ARCH_MULTI_V7
234         help
235           Include support for the ARM(R) RealView Platform Baseboard for
236           Cortex(tm)-A8.  This platform has an on-board Cortex-A8 and has
237           support for PCI-E and Compact Flash.
238
239 config MACH_REALVIEW_PBX
240         bool "Support RealView(R) Platform Baseboard Explore for Cortex-A9"
241         depends on ARCH_MULTI_V7
242         select ZONE_DMA
243         help
244           Include support for the ARM(R) RealView(R) Platform Baseboard
245           Explore.
246
247 endif
248
249 menuconfig ARCH_VEXPRESS
250         bool "ARM Ltd. Versatile Express family"
251         depends on ARCH_MULTI_V7
252         select ARM_AMBA
253         select ARM_GIC
254         select ARM_GLOBAL_TIMER
255         select ARM_TIMER_SP804
256         select GPIOLIB
257         select HAVE_ARM_SCU if SMP
258         select HAVE_ARM_TWD if SMP
259         select CLK_ICST
260         select NO_IOPORT_MAP
261         select PLAT_VERSATILE
262         select POWER_RESET
263         select POWER_RESET_VEXPRESS
264         select POWER_SUPPLY
265         select REGULATOR if MMC_ARMMMCI
266         select REGULATOR_FIXED_VOLTAGE if REGULATOR
267         select VEXPRESS_CONFIG
268         help
269           This option enables support for systems using Cortex processor based
270           ARM core and logic (FPGA) tiles on the Versatile Express motherboard,
271           for example:
272
273           - CoreTile Express A5x2 (V2P-CA5s)
274           - CoreTile Express A9x4 (V2P-CA9)
275           - CoreTile Express A15x2 (V2P-CA15)
276           - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs
277             (Soft Macrocell Models)
278           - Versatile Express RTSMs (Models)
279
280           You must boot using a Flattened Device Tree in order to use these
281           platforms. The traditional (ATAGs) boot method is not usable on
282           these boards with this option.
283
284 if ARCH_VEXPRESS
285
286 config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
287         bool "Enable A5 and A9 only errata work-arounds"
288         default y
289         select ARM_ERRATA_643719 if SMP
290         select ARM_ERRATA_720789
291         select PL310_ERRATA_753970 if CACHE_L2X0
292         help
293           Provides common dependencies for Versatile Express platforms
294           based on Cortex-A5 and Cortex-A9 processors. In order to
295           build a working kernel, you must also enable relevant core
296           tile support or Flattened Device Tree based support options.
297
298 config ARCH_VEXPRESS_DCSCB
299         bool "Dual Cluster System Control Block (DCSCB) support"
300         depends on MCPM
301         select ARM_CCI400_PORT_CTRL
302         help
303           Support for the Dual Cluster System Configuration Block (DCSCB).
304           This is needed to provide CPU and cluster power management
305           on RTSM implementing big.LITTLE.
306
307 config ARCH_VEXPRESS_SPC
308         bool "Versatile Express Serial Power Controller (SPC)"
309         select PM_OPP
310         help
311           The TC2 (A15x2 A7x3) versatile express core tile integrates a logic
312           block called Serial Power Controller (SPC) that provides the interface
313           between the dual cluster test-chip and the M3 microcontroller that
314           carries out power management.
315
316 config ARCH_VEXPRESS_TC2_PM
317         bool "Versatile Express TC2 power management"
318         depends on MCPM
319         select ARM_CCI400_PORT_CTRL
320         select ARCH_VEXPRESS_SPC
321         select ARM_CPU_SUSPEND
322         help
323           Support for CPU and cluster power management on Versatile Express
324           with a TC2 (A15x2 A7x3) big.LITTLE core tile.
325
326 endif