1# SPDX-License-Identifier: GPL-2.0
2menuconfig ARCH_VEXPRESS
3	bool "ARM Ltd. Versatile Express family"
4	depends on ARCH_MULTI_V7
5	select ARCH_SUPPORTS_BIG_ENDIAN
6	select ARM_AMBA
7	select ARM_GIC
8	select ARM_GLOBAL_TIMER
9	select ARM_TIMER_SP804
10	select GPIOLIB
11	select HAVE_ARM_SCU if SMP
12	select HAVE_ARM_TWD if SMP
13	select HAVE_PATA_PLATFORM
14	select CLK_ICST
15	select NO_IOPORT_MAP
16	select PLAT_VERSATILE
17	select POWER_RESET
18	select POWER_RESET_VEXPRESS
19	select POWER_SUPPLY
20	select REGULATOR if MMC_ARMMMCI
21	select REGULATOR_FIXED_VOLTAGE if REGULATOR
22	select VEXPRESS_CONFIG
23	help
24	  This option enables support for systems using Cortex processor based
25	  ARM core and logic (FPGA) tiles on the Versatile Express motherboard,
26	  for example:
27
28	  - CoreTile Express A5x2 (V2P-CA5s)
29	  - CoreTile Express A9x4 (V2P-CA9)
30	  - CoreTile Express A15x2 (V2P-CA15)
31	  - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs
32	    (Soft Macrocell Models)
33	  - Versatile Express RTSMs (Models)
34
35	  You must boot using a Flattened Device Tree in order to use these
36	  platforms. The traditional (ATAGs) boot method is not usable on
37	  these boards with this option.
38
39if ARCH_VEXPRESS
40
41config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
42	bool "Enable A5 and A9 only errata work-arounds"
43	default y
44	select ARM_ERRATA_643719 if SMP
45	select ARM_ERRATA_720789
46	select PL310_ERRATA_753970 if CACHE_L2X0
47	help
48	  Provides common dependencies for Versatile Express platforms
49	  based on Cortex-A5 and Cortex-A9 processors. In order to
50	  build a working kernel, you must also enable relevant core
51	  tile support or Flattened Device Tree based support options.
52
53config ARCH_VEXPRESS_DCSCB
54	bool "Dual Cluster System Control Block (DCSCB) support"
55	depends on MCPM
56	select ARM_CCI400_PORT_CTRL
57	help
58	  Support for the Dual Cluster System Configuration Block (DCSCB).
59	  This is needed to provide CPU and cluster power management
60	  on RTSM implementing big.LITTLE.
61
62config ARCH_VEXPRESS_SPC
63	bool "Versatile Express Serial Power Controller (SPC)"
64	select PM_OPP
65	help
66	  The TC2 (A15x2 A7x3) versatile express core tile integrates a logic
67	  block called Serial Power Controller (SPC) that provides the interface
68	  between the dual cluster test-chip and the M3 microcontroller that
69	  carries out power management.
70
71config ARCH_VEXPRESS_TC2_PM
72	bool "Versatile Express TC2 power management"
73	depends on MCPM
74	select ARM_CCI400_PORT_CTRL
75	select ARCH_VEXPRESS_SPC
76	select ARM_CPU_SUSPEND
77	help
78	  Support for CPU and cluster power management on Versatile Express
79	  with a TC2 (A15x2 A7x3) big.LITTLE core tile.
80
81endif
82