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