# Copyright (c) 2022 Arm Limited (or its affiliates). All rights reserved.
# SPDX-License-Identifier: Apache-2.0

CONFIG_SOC_SERIES_FVP_AEMV8A=y
CONFIG_SOC_FVP_BASE_REVC_2XAEMV8A=y
CONFIG_BOARD_FVP_BASE_REVC_2XAEMV8A=y

CONFIG_THREAD_STACK_INFO=y

# Enable Timer and Sys clock
CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000
CONFIG_ARM_ARCH_TIMER=y

# Enable UART driver
CONFIG_SERIAL=y

# Enable serial port
CONFIG_UART_INTERRUPT_DRIVEN=y

# Enable console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# Enable TFA
CONFIG_ARMV8_A_NS=y
CONFIG_BUILD_WITH_TFA=y

# Enable SMP
CONFIG_SMP=y
CONFIG_MP_NUM_CPUS=4
CONFIG_CACHE_MANAGEMENT=y
CONFIG_TIMEOUT_64BIT=y
CONFIG_ARM64_SET_VMPIDR_EL2=y
CONFIG_MAX_THREAD_BYTES=3

# PSCI is supported
CONFIG_PM_CPU_OPS=y
