# Copyright (c) 2017,2022 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_INTEL_ADSP_CAVS
	bool "Intel CAVS"
	select SOC_FAMILY_INTEL_ADSP
	select XTENSA
	select XTENSA_HAL if ("$(ZEPHYR_TOOLCHAIN_VARIANT)" != "xcc" && ("$(ZEPHYR_TOOLCHAIN_VARIANT)" != "xcc-clang"))
	select XTENSA_RESET_VECTOR
	select XTENSA_USE_CORE_CRT1
	select ATOMIC_OPERATIONS_BUILTIN if "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "xcc"
	select ARCH_HAS_COHERENCE
	help
	  Intel ADSP CAVS
