blob: d8ebe43c402da869e72a57386535649d458fee21 [file] [log] [blame]
# Copyright 2023 The ChromiumOS Authors
# SPDX-License-Identifier: Apache-2.0
orsource "*/Kconfig.defconfig"
if SOC_FAMILY_MTK
config INTC_MTK_ADSP
default y
config XTENSA_SMALL_VECTOR_TABLE_ENTRY
default y
config XTENSA_USE_CORE_CRT1
default n
config MULTI_LEVEL_INTERRUPTS
default y
config 2ND_LEVEL_INTERRUPTS
default y
config MAX_IRQ_PER_AGGREGATOR
default 32
config 2ND_LVL_ISR_TBL_OFFSET
default 32
# The 8186/8188 core has only one software interrupt that lives at
# level 2, underneath other hardware interrupts like timer, so it
# can't reliably do this. Unselect so the tests don't try to exercise
# it.
config IRQ_OFFLOAD_NESTED
default n if SOC_SERIES_MT818X
default y
config CPU_HAS_DCACHE
default y
config DCACHE
default y
config CACHE_MANAGEMENT
default y
config DCACHE_LINE_SIZE
default 128
config NOCACHE_MEMORY
default y
config MTK_ADSP_TIMER
default y
config XTENSA_TIMER
default n
config CONSOLE
default y
config WINSTREAM_CONSOLE
default y
config WINSTREAM
default y
config LOG_BACKEND_ADSP
default y if LOG
config XTENSA_CCOUNT_HZ
default 720000000 if SOC_MT8195
default 400000000 if SOC_MT8186
default 800000000 if SOC_MT8188
default 800000000 if SOC_MT8196
config SYS_CLOCK_HW_CYCLES_PER_SEC
default $(dt_node_int_prop_int,$(dt_nodelabel_path,ostimer64),freq-hz)
config MAIN_STACK_SIZE
default 2048
# This platform has a single big DRAM region where most linkage
# happens. The libc heap normally wants to steal all of it, when in
# fact SOF has its own heap. Just leave a little for stray malloc()
# calls to find.
config COMMON_LIBC_MALLOC_ARENA_SIZE
default 32768
# Don't build the HAL if the toolchain already includes it. Note that
# this is done in the SOC layer historically, really this belongs in
# arch/xtensa or the toolchain integration.
#
config XTENSA_HAL
default n if "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "xcc"
default n if "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "xt-clang"
default y
config SOC_TOOLCHAIN_NAME
default "mtk_mt8195_adsp" if SOC_SERIES_MT8195
default "mtk_mt818x_adsp" if SOC_SERIES_MT818X
default "mtk_mt8196_adsp" if SOC_SERIES_MT8196
config XTENSA_RESET_VECTOR
default n
# This single-core device doesn't have S32C1I and so has no built-in
# atomics. Note we must disable _ARCH explicitly because
# CONFIG_XTENSA turns it on (due to an xcc lack of gcc builtins?)
#
config ATOMIC_OPERATIONS_C
default y
config ATOMIC_OPERATIONS_ARCH
default n
config GEN_ISR_TABLES
default y
config GEN_SW_ISR_TABLE
default y
config GEN_IRQ_VECTOR_TABLE
default n
endif # SOC_FAMILY_MTK