# SPDX-License-Identifier: GPL-2.0-only
config SND_SOC_MEDIATEK
	tristate
	select REGMAP_MMIO

config SND_SOC_MT2701
	tristate "ASoC support for Mediatek MT2701 chip"
	depends on ARCH_MEDIATEK
	select SND_SOC_MEDIATEK
	help
	  This adds ASoC driver for Mediatek MT2701 boards
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT2701_CS42448
	tristate "ASoc Audio driver for MT2701 with CS42448 codec"
	depends on SND_SOC_MT2701 && I2C
	select SND_SOC_CS42XX8_I2C
	select SND_SOC_BT_SCO
	help
	  This adds ASoC driver for Mediatek MT2701 boards
	  with the CS42448 codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT2701_WM8960
	tristate "ASoc Audio driver for MT2701 with WM8960 codec"
	depends on SND_SOC_MT2701 && I2C
	select SND_SOC_WM8960
	help
	  This adds ASoC driver for Mediatek MT2701 boards
	  with the WM8960 codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6797
	tristate "ASoC support for Mediatek MT6797 chip"
	depends on ARCH_MEDIATEK
	select SND_SOC_MEDIATEK
	help
	  This adds ASoC driver for Mediatek MT6797 boards
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6797_MT6351
	tristate "ASoc Audio driver for MT6797 with MT6351 codec"
	depends on SND_SOC_MT6797 && MTK_PMIC_WRAP
	select SND_SOC_MT6351
	help
	  This adds ASoC driver for Mediatek MT6797 boards
	  with the MT6351 codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT7986
	tristate "ASoC support for Mediatek MT7986 chip"
	depends on ARCH_MEDIATEK
	select SND_SOC_MEDIATEK
	help
	  This adds ASoC platform driver support for MediaTek MT7986 chip
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT7986_WM8960
	tristate "ASoc Audio driver for MT7986 with WM8960 codec"
	depends on SND_SOC_MT7986 && I2C
	select SND_SOC_WM8960
	help
	  This adds support for ASoC machine driver for MediaTek MT7986
	  boards with the WM8960 codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8173
	tristate "ASoC support for Mediatek MT8173 chip"
	depends on ARCH_MEDIATEK
	select SND_SOC_MEDIATEK
	help
	  This adds ASoC platform driver support for Mediatek MT8173 chip
	  that can be used with other codecs.
	  Select Y if you have such device.
	  Ex: MT8173

config SND_SOC_MT8173_MAX98090
	tristate "ASoC Audio driver for MT8173 with MAX98090 codec"
	depends on SND_SOC_MT8173 && I2C
	select SND_SOC_MAX98090
	help
	  This adds ASoC driver for Mediatek MT8173 boards
	  with the MAX98090 audio codec.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8173_RT5650
	tristate "ASoC Audio driver for MT8173 with RT5650 codec"
	depends on SND_SOC_MT8173 && I2C
	select SND_SOC_RT5645
	select SND_SOC_HDMI_CODEC
	help
	  This adds ASoC driver for Mediatek MT8173 boards
	  with the RT5650 audio codec.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8173_RT5650_RT5514
	tristate "ASoC Audio driver for MT8173 with RT5650 RT5514 codecs"
	depends on SND_SOC_MT8173 && I2C
	select SND_SOC_RT5645
	select SND_SOC_RT5514
	help
	  This adds ASoC driver for Mediatek MT8173 boards
	  with the RT5650 and RT5514 codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8173_RT5650_RT5676
	tristate "ASoC Audio driver for MT8173 with RT5650 RT5676 codecs"
	depends on SND_SOC_MT8173 && I2C
	select SND_SOC_RT5645
	select SND_SOC_RT5677
	select SND_SOC_HDMI_CODEC
	help
	  This adds ASoC driver for Mediatek MT8173 boards
	  with the RT5650 and RT5676 codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8183
	tristate "ASoC support for Mediatek MT8183 chip"
	depends on ARCH_MEDIATEK
	select SND_SOC_MEDIATEK
	help
	  This adds ASoC platform driver support for Mediatek MT8183 chip
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A
	tristate "ASoC Audio driver for MT8183 with MT6358 TS3A227E MAX98357A RT1015 codec"
	depends on I2C && GPIOLIB
	depends on SND_SOC_MT8183
	select SND_SOC_MT6358
	select SND_SOC_MAX98357A
	select SND_SOC_RT1015
	select SND_SOC_RT1015P
	select SND_SOC_BT_SCO
	select SND_SOC_TS3A227E
	select SND_SOC_CROS_EC_CODEC if CROS_EC
	select SND_SOC_HDMI_CODEC
	help
	  This adds ASoC driver for Mediatek MT8183 boards
	  with the MT6358 TS3A227E MAX98357A RT1015 audio codec.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8183_DA7219_MAX98357A
	tristate "ASoC Audio driver for MT8183 with DA7219 MAX98357A RT1015 codec"
	depends on SND_SOC_MT8183 && I2C && GPIOLIB
	select SND_SOC_MT6358
	select SND_SOC_MAX98357A
	select SND_SOC_RT1015
	select SND_SOC_RT1015P
	select SND_SOC_DA7219
	select SND_SOC_BT_SCO
	select SND_SOC_HDMI_CODEC
	help
	  This adds ASoC driver for Mediatek MT8183 boards
	  with the DA7219 MAX98357A RT1015 audio codec.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8186
	tristate "ASoC support for Mediatek MT8186 chip"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	depends on COMMON_CLK
	select SND_SOC_MEDIATEK
	select SND_SOC_MT6358
	select MFD_SYSCON if SND_SOC_MT6358
	help
	  This adds ASoC driver for Mediatek MT8186 boards
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8186_MT6366
	tristate "ASoC Audio driver for MT8186 with MT6366 and I2S codecs"
	depends on I2C && GPIOLIB
	depends on SND_SOC_MT8186 && MTK_PMIC_WRAP
	select SND_SOC_DA7219
	select SND_SOC_MT6358
	select SND_SOC_MAX98357A
	select SND_SOC_RT1015P
	select SND_SOC_RT5682S
	select SND_SOC_RT5645
	select SND_SOC_BT_SCO
	select SND_SOC_DMIC
	select SND_SOC_HDMI_CODEC
	help
	  This adds the ASoC machine driver for Mediatek MT8186 boards
	  with the MT6366(MT6358) and other I2S audio codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MTK_BTCVSD
	tristate "ALSA BT SCO CVSD/MSBC Driver"
	help
	  This is for software BTCVSD. This enable
	  the function for transferring/receiving
	  BT encoded data to/from BT firmware.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8188
	tristate "ASoC support for MediaTek MT8188 chip"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	depends on COMMON_CLK
	select SND_SOC_MEDIATEK
	select MFD_SYSCON if SND_SOC_MT6359
	help
	  This adds ASoC platform driver support for MediaTek MT8188 chip
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8188_MT6359
	tristate "ASoC Audio driver for MT8188 with MT6359 and I2S codecs"
	depends on SND_SOC_MT8188 && MTK_PMIC_WRAP
	depends on I2C
	select SND_SOC_MT6359
	select SND_SOC_HDMI_CODEC
	select SND_SOC_DMIC
	select SND_SOC_MAX98390
	select SND_SOC_NAU8315
	select SND_SOC_NAU8825
	select SND_SOC_RT5682S
	select SND_SOC_ES8326
	help
	  This adds support for ASoC machine driver for MediaTek MT8188
	  boards with the MT6359 and other I2S audio codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8192
	tristate "ASoC support for Mediatek MT8192 chip"
	depends on ARCH_MEDIATEK
	select SND_SOC_MEDIATEK
	help
	  This adds ASoC platform driver support for Mediatek MT8192 chip
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8192_MT6359_RT1015_RT5682
	tristate "ASoC Audio driver for MT8192 with MT6359 RT1015 RT5682 codec"
	depends on I2C && GPIOLIB
	depends on SND_SOC_MT8192 && MTK_PMIC_WRAP
	select SND_SOC_MT6359
	select SND_SOC_RT1015
	select SND_SOC_RT1015P
	select SND_SOC_RT5682_I2C
	select SND_SOC_RT5682S
	select SND_SOC_DMIC
	help
	  This adds ASoC driver for Mediatek MT8192 boards
	  with the MT6359 RT1015 RT5682 audio codec.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8195
	tristate "ASoC support for Mediatek MT8195 chip"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	depends on COMMON_CLK
	select SND_SOC_MEDIATEK
	select MFD_SYSCON if SND_SOC_MT6359
	help
	  This adds ASoC platform driver support for Mediatek MT8195 chip
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8195_MT6359
	tristate "ASoC Audio driver for MT8195 with MT6359 and I2S codecs"
	depends on I2C && GPIOLIB
	depends on SND_SOC_MT8195 && MTK_PMIC_WRAP
	select SND_SOC_MT6359
	select SND_SOC_RT1011
	select SND_SOC_RT1015P
	select SND_SOC_RT5682_I2C
	select SND_SOC_RT5682S
	select SND_SOC_MAX98390
	select SND_SOC_DMIC
	select SND_SOC_HDMI_CODEC
	help
	  This adds support for ASoC machine driver for Mediatek MT8195
	  boards with the MT6359 and other I2S audio codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8365
	tristate "ASoC support for MediaTek MT8365 chip"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select SND_SOC_MEDIATEK
	help
	  This adds ASoC platform driver support for MediaTek MT8365 chip
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT8365_MT6357
	tristate "ASoC Audio driver for MT8365 with MT6357 codec"
	depends on SND_SOC_MT8365 && MTK_PMIC_WRAP
	select SND_SOC_MT6357
	help
	  This adds support for ASoC machine driver for MediaTek MT8365
	  boards with the MT6357 PMIC codec.
	  Select Y if you have such device.
	  If unsure select "N".
