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