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