# Copyright (c) 2017 Jean-Paul Etienne <fractalclone@gmail.com>
# SPDX-License-Identifier: Apache-2.0

if SOC_SERIES_SIFIVE_FREEDOM_U500

config SOC_SERIES
	default "u500"

config SYS_CLOCK_HW_CYCLES_PER_SEC
	default 32768

config RISCV_SOC_INTERRUPT_INIT
	default y

config RISCV_GP
	default y

config 2ND_LVL_ISR_TBL_OFFSET
	default 12

config 2ND_LVL_INTR_00_OFFSET
	default 11

config MAX_IRQ_PER_AGGREGATOR
	default 52

config NUM_IRQS
	default 64

source "soc/riscv/sifive_freedom/u500/Kconfig.defconfig.u*"

endif # SOC_SERIES_SIFIVE_FREEDOM_U500
