xref: /linux/arch/arm/mach-versatile/Kconfig (revision 4b132aacb0768ac1e652cf517097ea6f237214b9)
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"
114	depends on ARCH_INTEGRATOR_AP
115	depends on ARCH_MULTI_V6
116	select CPU_V6
117
118config 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
128config 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
134config 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
140config ARCH_CINTEGRATOR
141	depends on ARCH_INTEGRATOR_CP
142	def_bool y
143
144endif
145
146menuconfig 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
169if ARCH_REALVIEW
170
171config 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
182config 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
190config 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
197config 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# ARMv6 CPU without K extensions, but does have the new exclusive ops
205config MACH_REALVIEW_PB1176
206	bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S"
207	depends on ARCH_MULTI_V6
208	select CPU_V6
209	select HAVE_TCM
210	help
211	  Include support for the ARM(R) RealView(R) Platform Baseboard for
212	  ARM1176JZF-S.
213
214config MACH_REALVIEW_PBA8
215	bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform"
216	depends on ARCH_MULTI_V7
217	help
218	  Include support for the ARM(R) RealView Platform Baseboard for
219	  Cortex(tm)-A8.  This platform has an on-board Cortex-A8 and has
220	  support for PCI-E and Compact Flash.
221
222config MACH_REALVIEW_PBX
223	bool "Support RealView(R) Platform Baseboard Explore for Cortex-A9"
224	depends on ARCH_MULTI_V7
225	select ZONE_DMA
226	help
227	  Include support for the ARM(R) RealView(R) Platform Baseboard
228	  Explore.
229
230endif
231
232menuconfig ARCH_VEXPRESS
233	bool "ARM Ltd. Versatile Express family"
234	depends on ARCH_MULTI_V7
235	select ARM_AMBA
236	select ARM_GIC
237	select ARM_GLOBAL_TIMER
238	select ARM_TIMER_SP804
239	select GPIOLIB
240	select HAVE_ARM_SCU if SMP
241	select HAVE_ARM_TWD if SMP
242	select CLK_ICST
243	select NO_IOPORT_MAP
244	select PLAT_VERSATILE
245	select POWER_RESET
246	select POWER_RESET_VEXPRESS
247	select POWER_SUPPLY
248	select REGULATOR if MMC_ARMMMCI
249	select REGULATOR_FIXED_VOLTAGE if REGULATOR
250	select VEXPRESS_CONFIG
251	help
252	  This option enables support for systems using Cortex processor based
253	  ARM core and logic (FPGA) tiles on the Versatile Express motherboard,
254	  for example:
255
256	  - CoreTile Express A5x2 (V2P-CA5s)
257	  - CoreTile Express A9x4 (V2P-CA9)
258	  - CoreTile Express A15x2 (V2P-CA15)
259	  - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs
260	    (Soft Macrocell Models)
261	  - Versatile Express RTSMs (Models)
262
263	  You must boot using a Flattened Device Tree in order to use these
264	  platforms. The traditional (ATAGs) boot method is not usable on
265	  these boards with this option.
266
267if ARCH_VEXPRESS
268
269config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
270	bool "Enable A5 and A9 only errata work-arounds"
271	default y
272	select ARM_ERRATA_643719 if SMP
273	select ARM_ERRATA_720789
274	select PL310_ERRATA_753970 if CACHE_L2X0
275	help
276	  Provides common dependencies for Versatile Express platforms
277	  based on Cortex-A5 and Cortex-A9 processors. In order to
278	  build a working kernel, you must also enable relevant core
279	  tile support or Flattened Device Tree based support options.
280
281config ARCH_VEXPRESS_SPC
282	bool "Versatile Express Serial Power Controller (SPC)"
283	select PM_OPP
284	help
285	  The TC2 (A15x2 A7x3) versatile express core tile integrates a logic
286	  block called Serial Power Controller (SPC) that provides the interface
287	  between the dual cluster test-chip and the M3 microcontroller that
288	  carries out power management.
289
290config ARCH_VEXPRESS_TC2_PM
291	bool "Versatile Express TC2 power management"
292	depends on MCPM
293	select ARM_CCI400_PORT_CTRL
294	select ARCH_VEXPRESS_SPC
295	select ARM_CPU_SUSPEND
296	help
297	  Support for CPU and cluster power management on Versatile Express
298	  with a TC2 (A15x2 A7x3) big.LITTLE core tile.
299
300endif
301