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

config BOARD_INTEL_ADSP
	select SOC_INTEL_CAVS_V25 if BOARD_INTEL_ADSP_CAVS25
	select SOC_INTEL_CAVS_V25 if BOARD_INTEL_ADSP_CAVS25_TGPH
	select SOC_INTEL_ACE15_MTPM if BOARD_INTEL_ADSP_ACE15_MTPM
	select SOC_INTEL_ACE20_LNL if BOARD_INTEL_ADSP_ACE20_LNL
