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