config SND_SOC_MEDIATEK
	tristate

config SND_SOC_AW87519
	bool "SoC Audio for awinic AW87519 Smart K PA"
	depends on I2C
	help
	  This option enables support for AW87519 Smart K PA
	  If the speaker PA is AW87519, enable this.
	  This is a config for speaker PA is AW87519.
	  Generally you select "N", if unsupport it.

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_MT6768
	tristate "ASoC support for Mediatek MT6768 chip"
	select REGMAP_MMIO
	select SND_SOC_MEDIATEK
	select SND_SOC_MTK_SRAM
	select SND_SOC_MTK_SMART_PHONE
	help
	  This adds ASoC driver for Mediatek MT6768 boards
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6768_MT6358
	tristate "ASoc Audio driver for MT6768 with MT6358 codec"
	select SND_SOC_MT6768
	select SND_SOC_MT6358
	help
	  This adds ASoC driver for Mediatek MT6768 boards
	  with the MT6358 codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6781
	tristate "ASoC support for Mediatek MT6781 chip"
	select REGMAP_MMIO
	select SND_SOC_MEDIATEK
	select SND_SOC_MTK_SRAM
	select SND_SOC_MTK_SMART_PHONE
	help
	  This adds ASoC driver for Mediatek MT6781 boards
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6781_MT6366
	tristate "ASoc Audio driver for MT6781 with MT6366 codec"
	select SND_SOC_MT6781
	select SND_SOC_MT6366
	help
	  This adds ASoC driver for Mediatek MT6781 boards
	  with the MT6366 codecs.
	  Select Y if you have such device.
	  If unsure select "N".

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

config SND_SOC_MT6779_MT6359
        tristate "ASoc Audio driver for MT6779 with MT6359 codec"
        depends on SND_SOC_MT6779 && MTK_PMIC_WRAP
        select SND_SOC_MT6359
        help
          This adds ASoC driver for Mediatek MT6779 boards
          with the MT6359 codecs.
          Select Y if you have such device.
          If unsure select "N".

config SND_SOC_MT6785
	tristate "ASoC support for Mediatek MT6785 chip"
	select REGMAP_MMIO
	select SND_SOC_MEDIATEK
	select SND_SOC_MTK_SRAM
	select SND_SOC_MTK_SMART_PHONE
	help
	  This adds ASoC driver for Mediatek MT6785 boards
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6785_MT6359
	tristate "ASoc Audio driver for MT6785 with MT6359 codec"
	select SND_SOC_MT6785
	select SND_SOC_MT6359
	help
	  This adds ASoC driver for Mediatek MT6785 boards
	  with the MT6359 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_MT6833
	tristate "ASoC support for Mediatek MT6833 chip"
	select REGMAP_MMIO
	select SND_SOC_MEDIATEK
	select SND_SOC_MTK_SRAM
	select SND_SOC_MTK_SMART_PHONE
	help
	  This adds ASoC driver for Mediatek MT6833 boards
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6833_MT6359
	tristate "ASoc Audio driver for MT6833 with MT6359 codec"
	select SND_SOC_MT6833
	select SND_SOC_MT6359
	help
	  This adds ASoC driver for Mediatek MT6833 boards
	  with the MT6359 codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6853
	tristate "ASoC support for Mediatek MT6853 chip"
	select REGMAP_MMIO
	select SND_SOC_MEDIATEK
	select SND_SOC_MTK_SRAM
	select SND_SOC_MTK_SMART_PHONE
	help
	  This adds ASoC driver for Mediatek MT6853 boards
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6853_MT6359
	tristate "ASoc Audio driver for MT6853 with MT6359 codec"
	select SND_SOC_MT6853
	select SND_SOC_MT6359
	help
	  This adds ASoC driver for Mediatek MT6853 boards
	  with the MT6359 codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6873
	tristate "ASoC support for Mediatek MT6873 chip"
	select REGMAP_MMIO
	select SND_SOC_MEDIATEK
	select SND_SOC_MTK_SRAM
	select SND_SOC_MTK_SMART_PHONE
	help
	  This adds ASoC driver for Mediatek MT6873 boards
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6873_MT6359
        tristate "ASoc Audio driver for MT6873 with MT6359 codec"
        select SND_SOC_MT6873
        select SND_SOC_MT6359
        help
          This adds ASoC driver for Mediatek MT6873 boards
          with the MT6359 codecs.
          Select Y if you have such device.
          If unsure select "N".

config SND_SOC_MT6877
	tristate "ASoC support for Mediatek MT6877 chip"
	select REGMAP_MMIO
	select SND_SOC_MEDIATEK
	select SND_SOC_MTK_SRAM
	select SND_SOC_MTK_SMART_PHONE
	help
	  This adds ASoC driver for Mediatek MT6877 boards
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6877_MT6359
	tristate "ASoc Audio driver for MT6877 with MT6359 codec"
	select SND_SOC_MT6877
	select SND_SOC_MT6359
	help
	  This adds ASoC driver for Mediatek MT6877 boards
	  with the MT6359 codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6885
	tristate "ASoC support for Mediatek MT6885 chip"
	select REGMAP_MMIO
	select SND_SOC_MEDIATEK
	select SND_SOC_MTK_SRAM
	select SND_SOC_MTK_SMART_PHONE
	help
	  This adds ASoC driver for Mediatek MT6885 boards
	  that can be used with other codecs.
	  Select Y if you have such device.
	  If unsure select "N".

config SND_SOC_MT6885_MT6359
	tristate "ASoc Audio driver for MT6885 with MT6359 codec"
	select SND_SOC_MT6885
	select SND_SOC_MT6359
	help
	  This adds ASoC driver for Mediatek MT6885 boards
	  with the MT6359 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_MTK_SMART_PHONE
	tristate "Mediatek Smart Phone PCM Operation"
	help
	  Mediatek PCM operation which is specific for
	  smart phone product.
	  Select Y if product is smart phone.
	  If unsure select "N".

config SND_SOC_MTK_SRAM
	tristate "Mediatek Audio SRAM Management"
	help
	  Mediatek Audio SRAM management for
	  normal mode and compact mode.
	  Select Y if you use this SRAM management.
	  If unsure select "N".

config MTK_SND_SOC_CODEC
	string "String for Mediatek audio codec"
	help
	  Specify Mediatek audio codec.
	  It depend on the string to choose the audio codec.
	  Say "mt6351" if you have mt6351 audio codec.
	  Say "mt6337" if you have mt6337 audio codec.
	  Say "mt6355" if you have mt6355 audio codec.

config MTK_SPEAKER
	bool "MTK SPEAKER AMP"
	help
	  If you say Y, enable MTK_SPEAKER_AMP
	  If the codec has internal speaker, enable this.
	  This is a config for mediatek internal speaker amp.
	  Generally you select "N", if unsupport it.

config MTK_NXP_TFA9890
	bool "MTK NXP TFA9890 SMART PA DRIVER"
	help
	  If you say Y, enable MTK_NXP_TFA9890 driver.
	  This is 3rd party's speaker amp driver.
	  TFA9890 is one of SmartPa of NXP.
	  It is a DSP connect with I2S.

config MTK_SPKGPIO_REWORK
	bool "MTK SPEAKER GPIO REWORK"
	help
	  This is only for MTK internal phone only
	  Enable SPKGPIO REWORK check functionality
	  Will choose the correct GPIO for external AMP
	  If you say Y, enable MTK_SPKGPIO_REWORK

config MTK_HP_ANASWITCH
	bool "MTK HEADPHONE ANALOG SWITCH"
	help
	  This will enable headphone analog switch control
	  for de-pop functionality
	  Only enable this when you have headphone analog switch
	  If you say Y, enable MTK_HP_ANASWITCH

config SND_SOC_MTK_BTCVSD
	bool "MTK BT CVSD ALSA ARICHITECTURE"
	help
	  If you say Y, enable SND_SOC_MTK_BTCVSD.
	  This is for software BTCVSD. This enable
	  the function for transferring/receiving
	  BT encoded data to/from BT firmware.

config MTK_HDMI_TDM
	bool "MTK HDMI MULTI CHANNEL "
	help
	  If you say Y, enable MTK_HDMI_TDM.
	  This is for HDMI TDM function.
	  This setting help you to enable
	  HDMI multi channel function with TDM hardware.

config MTK_SND_SOC_NEW_ARCH
	bool "Support new audio architecture"
	select REGMAP_MMIO
	help
	  If you say Y, enable MTK_SND_SOC_NEW_ARCH.
	  Only enable this when you use refactored audio driver architecture.
	  If new chip after mt6757, we will enable this config.
	  Audio driver refactor to common folder and platform folder.

config MTK_AUDIO_TUNNELING_SUPPORT
	bool "Audio playback through dsp"
	select SND_SOC_COMPRESS
	help
	  Only enable this when we have DSP.
	  This makes audio output pass bitstream without any post processing.
	  The decoding process is done in DSP.
	  Select Y to enable MTK_AUDIO_TUNNELING_SUPPORT for DSP playback.

config MTK_AUDIO_SCP_SPKPROTECT_SUPPORT
	bool "speaker protection through dsp"
	help
	  Only enable this when we have DSP.
	  This makes speaker protection processing from dsp side.
	  The process is done in DSP.
	  Select Y to enable CONFIG_MTK_AUDIO_SCP_SPKPROTECT_SUPPORT for
	  DSP playback.

config MTK_VOW_BARGE_IN_SUPPORT
	bool "Support VOW barge-in"
	help
	  Only enable this when we support VOW and barge-in.
	  This improves the hot word recognition accuracy by
	  applying echo cancellation to remove speaker output signal.
	  Select Y to enable CONFIG_MTK_VOW_BARGE_IN_SUPPORT for
	  barge-in feature.

config SND_SOC_MTK_AUDIO_DSP
	bool "ASoC support for Mediatek audiodsp chip"
	depends on MTK_AUDIODSP_SUPPORT
	default n
	select SND_SOC_COMPRESS
	help
	  This adds dsp driver for Mediatek boards
	  that can be used with other platforms
	  Select Y if you have such device.
	  If unsure select "N".

config MTK_ULTRASND_PROXIMITY
	bool "MTK ultra sound proximity support"
	select MTK_AUDIO_IPI
	help
	  For ultra sound proximity kernel driver config.
	  This ultra sound proximity kernel driver
	  cooperate with SCP ultra sound driver to
	  emulate physical proximity sensor. Using
	  IPI interface to communicate with SCP side and
	  be controlled by sensor hal.
