# 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_MAX_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
