# SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)

config SND_SOC_SOF_MTK_TOPLEVEL
	bool "SOF support for MTK audio DSPs"
	depends on ARM64 || COMPILE_TEST
	depends on SND_SOC_SOF_OF
	help
	  This adds support for Sound Open Firmware for Mediatek platforms.
	  It is top level for all mediatek platforms.
	  Say Y if you have such a device.
	  If unsure select "N".

if SND_SOC_SOF_MTK_TOPLEVEL
config SND_SOC_SOF_MTK_COMMON
	tristate
	select SND_SOC_SOF_OF_DEV
	select SND_SOC_SOF
	select SND_SOC_SOF_XTENSA
	select SND_SOC_SOF_COMPRESS
	help
	  This option is not user-selectable but automagically handled by
	  'select' statements at a higher level

config SND_SOC_SOF_MT8195
	tristate "SOF support for MT8195 audio DSP"
	select SND_SOC_SOF_MTK_COMMON
	depends on MTK_ADSP_IPC
	help
	  This adds support for Sound Open Firmware for Mediatek platforms
	  using the mt8195 processors.
	  Say Y if you have such a device.
	  If unsure select "N".

endif ## SND_SOC_SOF_MTK_TOPLEVEL
