# Copyright (c) 2021 Henrik Brix Andersen <henrik@brixandersen.dk>
# SPDX-License-Identifier: Apache-2.0

if SOC_SERIES_NEORV32

config SOC_SERIES
	default "neorv32"

config SYS_CLOCK_HW_CYCLES_PER_SEC
	default $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency) if RISCV_MACHINE_TIMER

config NUM_IRQS
	default 32

config RISCV_HAS_CPU_IDLE
	default y

config RISCV_GP
	default y

config SYSCON
	default y

config SERIAL_INIT_PRIORITY
	default 55
	depends on SERIAL

config ENTROPY_INIT_PRIORITY
	default 55
	depends on ENTROPY_GENERATOR

endif # SOC_SERIES_NEORV32
