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

config SOC_XTENSA_DC233C
	select XTENSA
	select XTENSA_HAL
	select ARCH_HAS_THREAD_LOCAL_STORAGE
	select CPU_HAS_DCACHE
	select CPU_HAS_ICACHE
	select CPU_HAS_MMU
	select ARCH_HAS_RESERVED_PAGE_FRAMES if XTENSA_MMU
	select ARCH_HAS_USERSPACE if XTENSA_MMU
	select XTENSA_INVALIDATE_MEM_DOMAIN_TLB_ON_SWAP if XTENSA_MMU
