# Copyright (c) 2020 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

if SOC_SERIES_INTEL_CAVS_V15

config SOC_SERIES
	string
	default "cavs_v15"

config SOC_TOOLCHAIN_NAME
	string
	default "intel_apl_adsp"

config SOC
	string
	default "intel_apl_adsp" if SOC_INTEL_CAVS_V15

config SMP
	default y

config XTENSA_TIMER
	default n

config CAVS_TIMER
	default y

config SYS_CLOCK_HW_CYCLES_PER_SEC
	default 400000000 if XTENSA_TIMER
	default 19200000 if CAVS_TIMER

config SYS_CLOCK_TICKS_PER_SEC
	default 50000

config IRQ_OFFLOAD_INTNUM
	default 0

# This series does not have MISC0.
# Since EXCSAVE7 is unused by Zephyr, use it instead.
config XTENSA_KERNEL_CPU_PTR_SR
	default "EXCSAVE2"

config KERNEL_ENTRY
	default "_MainEntry"

config MULTI_LEVEL_INTERRUPTS
	default y

config 2ND_LEVEL_INTERRUPTS
	default y

config DYNAMIC_INTERRUPTS
	default y

# To prevent test uses TEST_LOGGING_MINIMAL
config TEST_LOGGING_DEFAULTS
	default n
	depends on TEST

if LOG

config LOG_BACKEND_ADSP
	default y

endif # LOG

if SMP

config MP_NUM_CPUS
	default 2

config IPM
       default y

config IPM_CAVS_IDC
	default y

config SCHED_IPI_SUPPORTED
	default y if IPM_CAVS_IDC

endif # SMP

endif # SOC_SERIES_INTEL_CAVS_V15
