xref: /linux/arch/arm/mach-versatile/Kconfig (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1# SPDX-License-Identifier: GPL-2.0
2config 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
20menuconfig 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
39if ARCH_INTEGRATOR
40
41config 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
51config 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
64config 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
70config 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
76config 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
82config 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
88config 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
94config 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
100config 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
106config 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
112config INTEGRATOR_CM1136JFS
113	bool "Integrator/CM1136JF-S core module (DEPRECATED)"
114	depends on ARCH_INTEGRATOR_AP
115	depends on ARCH_MULTI_V6
116	depends on !SMP
117	select CPU_ARM1136R0
118	help
119	  This machine is scheduled for removal in early 2027,
120	  since it uses the ARM1136r0 CPU revision.
121
122config ARCH_INTEGRATOR_CP
123	bool "Support Integrator/CP platform"
124	depends on ARCH_MULTI_V5 || ARCH_MULTI_V6
125	select ARM_TIMER_SP804
126	select SERIAL_AMBA_PL011 if TTY
127	select SERIAL_AMBA_PL011_CONSOLE if TTY
128	select SOC_BUS
129	help
130	  Include support for the ARM(R) Integrator CP platform.
131
132config INTEGRATOR_CT926
133	bool "Integrator/CT926 (ARM926EJ-S) core tile"
134	depends on ARCH_INTEGRATOR_CP
135	depends on ARCH_MULTI_V5
136	select CPU_ARM926T
137
138config INTEGRATOR_CTB36
139	bool "Integrator/CTB36 (ARM1136JF-S) core tile"
140	depends on ARCH_INTEGRATOR_CP
141	depends on ARCH_MULTI_V6
142	select CPU_ARM1136R1
143
144config ARCH_CINTEGRATOR
145	depends on ARCH_INTEGRATOR_CP
146	def_bool y
147
148endif
149
150menuconfig ARCH_REALVIEW
151	bool "ARM Ltd. RealView family"
152	depends on (CPU_LITTLE_ENDIAN && ARCH_MULTI_V5) || ARCH_MULTI_V6 || ARCH_MULTI_V7
153	select ARM_AMBA
154	select ARM_GIC
155	select ARM_TIMER_SP804
156	select CLK_SP810
157	select GPIO_PL061 if GPIOLIB
158	select HAVE_ARM_SCU if SMP
159	select HAVE_ARM_TWD if SMP
160	select HAVE_PATA_PLATFORM
161	select HAVE_TCM
162	select CLK_ICST
163	select MACH_REALVIEW_EB if ARCH_MULTI_V5
164	select MFD_SYSCON
165	select PLAT_VERSATILE
166	select POWER_RESET
167	select POWER_RESET_VERSATILE
168	select POWER_SUPPLY
169	select SOC_REALVIEW
170	help
171	  This enables support for ARM Ltd RealView boards.
172
173if ARCH_REALVIEW
174
175config MACH_REALVIEW_EB
176	bool "Support RealView(R) Emulation Baseboard"
177	select ARM_GIC
178	select CPU_ARM926T if ARCH_MULTI_V5
179	help
180	  Include support for the ARM(R) RealView(R) Emulation Baseboard
181	  platform. On an ARMv5 kernel, this will include support for
182	  the ARM926EJ-S core tile, while on an ARMv6/v7 kernel, at least
183	  one of the ARM1136, ARM1176, ARM11MPCore or Cortex-A9MPCore
184	  core tile options should be enabled.
185
186config REALVIEW_EB_ARM1136
187	bool "Support ARM1136J(F)-S Tile"
188	depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
189	select CPU_ARM1136R1
190	help
191	  Enable support for the ARM1136 tile fitted to the
192	  Realview(R) Emulation Baseboard platform.
193
194config REALVIEW_EB_ARM1176
195	bool "Support ARM1176JZ(F)-S Tile"
196	depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
197	help
198	  Enable support for the ARM1176 tile fitted to the
199	  Realview(R) Emulation Baseboard platform.
200
201config REALVIEW_EB_A9MP
202	bool "Support Multicore Cortex-A9 Tile"
203	depends on MACH_REALVIEW_EB && ARCH_MULTI_V7
204	help
205	  Enable support for the Cortex-A9MPCore tile fitted to the
206	  Realview(R) Emulation Baseboard platform.
207
208config MACH_REALVIEW_PB1176
209	bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S"
210	depends on ARCH_MULTI_V6
211	select CPU_ARM1176
212	select HAVE_TCM
213	help
214	  Include support for the ARM(R) RealView(R) Platform Baseboard for
215	  ARM1176JZF-S.
216
217config MACH_REALVIEW_PBA8
218	bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform"
219	depends on ARCH_MULTI_V7
220	help
221	  Include support for the ARM(R) RealView Platform Baseboard for
222	  Cortex(tm)-A8.  This platform has an on-board Cortex-A8 and has
223	  support for PCI-E and Compact Flash.
224
225config MACH_REALVIEW_PBX
226	bool "Support RealView(R) Platform Baseboard Explore for Cortex-A9"
227	depends on ARCH_MULTI_V7
228	select ZONE_DMA
229	help
230	  Include support for the ARM(R) RealView(R) Platform Baseboard
231	  Explore.
232
233endif
234
235menuconfig ARCH_VEXPRESS
236	bool "ARM Ltd. Versatile Express family"
237	depends on ARCH_MULTI_V7
238	select ARM_AMBA
239	select ARM_GIC
240	select ARM_GLOBAL_TIMER
241	select ARM_TIMER_SP804
242	select GPIOLIB
243	select HAVE_ARM_SCU if SMP
244	select HAVE_ARM_TWD if SMP
245	select CLK_ICST
246	select NO_IOPORT_MAP
247	select PLAT_VERSATILE
248	select POWER_RESET
249	select POWER_RESET_VEXPRESS
250	select POWER_SUPPLY
251	select REGULATOR if MMC_ARMMMCI
252	select REGULATOR_FIXED_VOLTAGE if REGULATOR
253	select VEXPRESS_CONFIG
254	help
255	  This option enables support for systems using Cortex processor based
256	  ARM core and logic (FPGA) tiles on the Versatile Express motherboard,
257	  for example:
258
259	  - CoreTile Express A5x2 (V2P-CA5s)
260	  - CoreTile Express A9x4 (V2P-CA9)
261	  - CoreTile Express A15x2 (V2P-CA15)
262	  - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs
263	    (Soft Macrocell Models)
264	  - Versatile Express RTSMs (Models)
265
266	  You must boot using a Flattened Device Tree in order to use these
267	  platforms. The traditional (ATAGs) boot method is not usable on
268	  these boards with this option.
269
270if ARCH_VEXPRESS
271
272config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
273	bool "Enable A5 and A9 only errata work-arounds"
274	default y
275	select ARM_ERRATA_643719 if SMP
276	select ARM_ERRATA_720789
277	select PL310_ERRATA_753970 if CACHE_L2X0
278	help
279	  Provides common dependencies for Versatile Express platforms
280	  based on Cortex-A5 and Cortex-A9 processors. In order to
281	  build a working kernel, you must also enable relevant core
282	  tile support or Flattened Device Tree based support options.
283
284config ARCH_VEXPRESS_SPC
285	bool "Versatile Express Serial Power Controller (SPC)"
286	select PM_OPP
287	help
288	  The TC2 (A15x2 A7x3) versatile express core tile integrates a logic
289	  block called Serial Power Controller (SPC) that provides the interface
290	  between the dual cluster test-chip and the M3 microcontroller that
291	  carries out power management.
292
293config ARCH_VEXPRESS_TC2_PM
294	bool "Versatile Express TC2 power management"
295	depends on MCPM
296	select ARM_CCI400_PORT_CTRL
297	select ARCH_VEXPRESS_SPC
298	select ARM_CPU_SUSPEND
299	help
300	  Support for CPU and cluster power management on Versatile Express
301	  with a TC2 (A15x2 A7x3) big.LITTLE core tile.
302
303endif
304