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

if SOC_SERIES_FVP_AEMV8R

config SOC_SERIES
	default "fvp_aemv8r"

config SYS_CLOCK_HW_CYCLES_PER_SEC
	default 100000000

config NUM_IRQS
	default 128

if SOC_FVP_AEMV8R_AARCH64

config SOC
	default "fvp_aemv8r_aarch64"

# Workaround for not being able to have commas in macro arguments
DT_CHOSEN_Z_FLASH := zephyr,flash

config FLASH_SIZE
	default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_FLASH),0,K)

config FLASH_BASE_ADDRESS
	default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH))

config MAX_DOMAIN_PARTITIONS
	default 8

endif # SOC_FVP_AEMV8R_AARCH64

endif # SOC_SERIES_FVP_AEMV8R
