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