# Copyright (c) 2019 Carlo Caione <ccaione@baylibre.com>
# SPDX-License-Identifier: Apache-2.0

if SOC_QEMU_CORTEX_A53

config SOC
	default "qemu_cortex_a53"

config NUM_IRQS
	# must be >= the highest interrupt number used
	# - include the UART interrupts
	# - LPIs (starting at 8192) if GIC_V3_ITS is used
	default 16384 if GIC_V3_ITS
	default 220 if !GIC_V3_ITS

config SYS_CLOCK_HW_CYCLES_PER_SEC
	default 62500000

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

endif # SOC_QEMU_CORTEX_A53
