18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_cimenuconfig ARCH_VEXPRESS
38c2ecf20Sopenharmony_ci	bool "ARM Ltd. Versatile Express family"
48c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
58c2ecf20Sopenharmony_ci	select ARCH_SUPPORTS_BIG_ENDIAN
68c2ecf20Sopenharmony_ci	select ARM_AMBA
78c2ecf20Sopenharmony_ci	select ARM_GIC
88c2ecf20Sopenharmony_ci	select ARM_GLOBAL_TIMER
98c2ecf20Sopenharmony_ci	select ARM_TIMER_SP804
108c2ecf20Sopenharmony_ci	select GPIOLIB
118c2ecf20Sopenharmony_ci	select HAVE_ARM_SCU if SMP
128c2ecf20Sopenharmony_ci	select HAVE_ARM_TWD if SMP
138c2ecf20Sopenharmony_ci	select HAVE_PATA_PLATFORM
148c2ecf20Sopenharmony_ci	select ICST
158c2ecf20Sopenharmony_ci	select NO_IOPORT_MAP
168c2ecf20Sopenharmony_ci	select PLAT_VERSATILE
178c2ecf20Sopenharmony_ci	select POWER_RESET
188c2ecf20Sopenharmony_ci	select POWER_RESET_VEXPRESS
198c2ecf20Sopenharmony_ci	select POWER_SUPPLY
208c2ecf20Sopenharmony_ci	select REGULATOR if MMC_ARMMMCI
218c2ecf20Sopenharmony_ci	select REGULATOR_FIXED_VOLTAGE if REGULATOR
228c2ecf20Sopenharmony_ci	select VEXPRESS_CONFIG
238c2ecf20Sopenharmony_ci	help
248c2ecf20Sopenharmony_ci	  This option enables support for systems using Cortex processor based
258c2ecf20Sopenharmony_ci	  ARM core and logic (FPGA) tiles on the Versatile Express motherboard,
268c2ecf20Sopenharmony_ci	  for example:
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci	  - CoreTile Express A5x2 (V2P-CA5s)
298c2ecf20Sopenharmony_ci	  - CoreTile Express A9x4 (V2P-CA9)
308c2ecf20Sopenharmony_ci	  - CoreTile Express A15x2 (V2P-CA15)
318c2ecf20Sopenharmony_ci	  - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs
328c2ecf20Sopenharmony_ci	    (Soft Macrocell Models)
338c2ecf20Sopenharmony_ci	  - Versatile Express RTSMs (Models)
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci	  You must boot using a Flattened Device Tree in order to use these
368c2ecf20Sopenharmony_ci	  platforms. The traditional (ATAGs) boot method is not usable on
378c2ecf20Sopenharmony_ci	  these boards with this option.
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ciif ARCH_VEXPRESS
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciconfig ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
428c2ecf20Sopenharmony_ci	bool "Enable A5 and A9 only errata work-arounds"
438c2ecf20Sopenharmony_ci	default y
448c2ecf20Sopenharmony_ci	select ARM_ERRATA_643719 if SMP
458c2ecf20Sopenharmony_ci	select ARM_ERRATA_720789
468c2ecf20Sopenharmony_ci	select PL310_ERRATA_753970 if CACHE_L2X0
478c2ecf20Sopenharmony_ci	help
488c2ecf20Sopenharmony_ci	  Provides common dependencies for Versatile Express platforms
498c2ecf20Sopenharmony_ci	  based on Cortex-A5 and Cortex-A9 processors. In order to
508c2ecf20Sopenharmony_ci	  build a working kernel, you must also enable relevant core
518c2ecf20Sopenharmony_ci	  tile support or Flattened Device Tree based support options.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciconfig ARCH_VEXPRESS_DCSCB
548c2ecf20Sopenharmony_ci	bool "Dual Cluster System Control Block (DCSCB) support"
558c2ecf20Sopenharmony_ci	depends on MCPM
568c2ecf20Sopenharmony_ci	select ARM_CCI400_PORT_CTRL
578c2ecf20Sopenharmony_ci	help
588c2ecf20Sopenharmony_ci	  Support for the Dual Cluster System Configuration Block (DCSCB).
598c2ecf20Sopenharmony_ci	  This is needed to provide CPU and cluster power management
608c2ecf20Sopenharmony_ci	  on RTSM implementing big.LITTLE.
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ciconfig ARCH_VEXPRESS_SPC
638c2ecf20Sopenharmony_ci	bool "Versatile Express Serial Power Controller (SPC)"
648c2ecf20Sopenharmony_ci	select PM_OPP
658c2ecf20Sopenharmony_ci	help
668c2ecf20Sopenharmony_ci	  The TC2 (A15x2 A7x3) versatile express core tile integrates a logic
678c2ecf20Sopenharmony_ci	  block called Serial Power Controller (SPC) that provides the interface
688c2ecf20Sopenharmony_ci	  between the dual cluster test-chip and the M3 microcontroller that
698c2ecf20Sopenharmony_ci	  carries out power management.
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ciconfig ARCH_VEXPRESS_TC2_PM
728c2ecf20Sopenharmony_ci	bool "Versatile Express TC2 power management"
738c2ecf20Sopenharmony_ci	depends on MCPM
748c2ecf20Sopenharmony_ci	select ARM_CCI400_PORT_CTRL
758c2ecf20Sopenharmony_ci	select ARCH_VEXPRESS_SPC
768c2ecf20Sopenharmony_ci	select ARM_CPU_SUSPEND
778c2ecf20Sopenharmony_ci	help
788c2ecf20Sopenharmony_ci	  Support for CPU and cluster power management on Versatile Express
798c2ecf20Sopenharmony_ci	  with a TC2 (A15x2 A7x3) big.LITTLE core tile.
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ciendif
82