config SND_MFLD_MACHINE
	tristate "SOC Machine Audio driver for Intel Medfield MID platform"
	depends on INTEL_SCU_IPC
	select SND_SOC_SN95031
	select SND_SST_ATOM_HIFI2_PLATFORM
	select SND_SST_IPC_PCI
	help
          This adds support for ASoC machine driver for Intel(R) MID Medfield platform
          used as alsa device in audio substem in Intel(R) MID devices
          Say Y if you have such a device.
          If unsure select "N".

config SND_SST_ATOM_HIFI2_PLATFORM
	tristate
	select SND_SOC_COMPRESS

config SND_SST_IPC
	tristate

config SND_SST_IPC_PCI
	tristate
	select SND_SST_IPC

config SND_SST_IPC_ACPI
	tristate
	select SND_SST_IPC
	select SND_SOC_INTEL_SST
	select IOSF_MBI

config SND_SOC_INTEL_SST
	tristate
	select SND_SOC_INTEL_SST_ACPI if ACPI
	select SND_SOC_INTEL_SST_MATCH if ACPI

config SND_SOC_INTEL_SST_FIRMWARE
	tristate
	select DW_DMAC_CORE

config SND_SOC_INTEL_SST_ACPI
	tristate

config SND_SOC_INTEL_SST_MATCH
	tristate

config SND_SOC_INTEL_HASWELL
	tristate
	select SND_SOC_INTEL_SST
	select SND_SOC_INTEL_SST_FIRMWARE

config SND_SOC_INTEL_BAYTRAIL
	tristate
	select SND_SOC_INTEL_SST
	select SND_SOC_INTEL_SST_FIRMWARE

config SND_SOC_INTEL_HASWELL_MACH
	tristate "ASoC Audio DSP support for Intel Haswell Lynxpoint"
	depends on X86_INTEL_LPSS && I2C && I2C_DESIGNWARE_PLATFORM
	depends on DMADEVICES
	select SND_SOC_INTEL_HASWELL
	select SND_SOC_RT5640
	help
	  This adds support for the Lynxpoint Audio DSP on Intel(R) Haswell
	  Ultrabook platforms.
	  Say Y if you have such a device.
	  If unsure select "N".

config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
	tristate "ASoC Audio driver for Broxton with DA7219 and MAX98357A in I2S Mode"
	depends on X86 && ACPI && I2C
	select SND_SOC_INTEL_SKYLAKE
	select SND_SOC_DA7219
	select SND_SOC_MAX98357A
	select SND_SOC_DMIC
	select SND_SOC_HDAC_HDMI
	select SND_HDA_DSP_LOADER
	help
	   This adds support for ASoC machine driver for Broxton-P platforms
	   with DA7219 + MAX98357A I2S audio codec.
	   Say Y if you have such a device.
	   If unsure select "N".

config SND_SOC_INTEL_BXT_RT298_MACH
	tristate "ASoC Audio driver for Broxton with RT298 I2S mode"
	depends on X86 && ACPI && I2C
	select SND_SOC_INTEL_SKYLAKE
	select SND_SOC_RT298
	select SND_SOC_DMIC
	select SND_SOC_HDAC_HDMI
	select SND_HDA_DSP_LOADER
	help
	   This adds support for ASoC machine driver for Broxton platforms
	   with RT286 I2S audio codec.
	   Say Y if you have such a device.
	   If unsure select "N".

config SND_SOC_INTEL_BYT_RT5640_MACH
	tristate "ASoC Audio driver for Intel Baytrail with RT5640 codec"
	depends on X86_INTEL_LPSS && I2C
	depends on DMADEVICES
	depends on SND_SST_IPC_ACPI = n
	select SND_SOC_INTEL_BAYTRAIL
	select SND_SOC_RT5640
	help
	  This adds audio driver for Intel Baytrail platform based boards
	  with the RT5640 audio codec. This driver is deprecated, use
	  SND_SOC_INTEL_BYTCR_RT5640_MACH instead for better functionality.

config SND_SOC_INTEL_BYT_MAX98090_MACH
	tristate "ASoC Audio driver for Intel Baytrail with MAX98090 codec"
	depends on X86_INTEL_LPSS && I2C
	depends on DMADEVICES
	depends on SND_SST_IPC_ACPI = n
	select SND_SOC_INTEL_BAYTRAIL
	select SND_SOC_MAX98090
	help
	  This adds audio driver for Intel Baytrail platform based boards
	  with the MAX98090 audio codec.

config SND_SOC_INTEL_BDW_RT5677_MACH
	tristate "ASoC Audio driver for Intel Broadwell with RT5677 codec"
	depends on X86_INTEL_LPSS && GPIOLIB && I2C
	depends on DMADEVICES
	select SND_SOC_INTEL_HASWELL
	select SND_SOC_RT5677
	help
	  This adds support for Intel Broadwell platform based boards with
	  the RT5677 audio codec.

config SND_SOC_INTEL_BROADWELL_MACH
	tristate "ASoC Audio DSP support for Intel Broadwell Wildcatpoint"
	depends on X86_INTEL_LPSS && I2C && I2C_DESIGNWARE_PLATFORM
	depends on DMADEVICES
	select SND_SOC_INTEL_HASWELL
	select SND_SOC_RT286
	help
	  This adds support for the Wilcatpoint Audio DSP on Intel(R) Broadwell
	  Ultrabook platforms.
	  Say Y if you have such a device.
	  If unsure select "N".

config SND_SOC_INTEL_BYTCR_RT5640_MACH
        tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5640 codec"
	depends on X86 && I2C && ACPI
	select SND_SOC_RT5640
	select SND_SST_ATOM_HIFI2_PLATFORM
	select SND_SST_IPC_ACPI
	select SND_SOC_INTEL_SST_MATCH if ACPI
	help
          This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
          platforms with RT5640 audio codec.
          Say Y if you have such a device.
          If unsure select "N".

config SND_SOC_INTEL_BYTCR_RT5651_MACH
        tristate "ASoC Audio driver for Intel Baytrail and Baytrail-CR with RT5651 codec"
	depends on X86 && I2C && ACPI
	select SND_SOC_RT5651
	select SND_SST_ATOM_HIFI2_PLATFORM
	select SND_SST_IPC_ACPI
	select SND_SOC_INTEL_SST_MATCH if ACPI
	help
          This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
          platforms with RT5651 audio codec.
          Say Y if you have such a device.
          If unsure select "N".

config SND_SOC_INTEL_CHT_BSW_RT5672_MACH
        tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5672 codec"
        depends on X86_INTEL_LPSS && I2C && ACPI
        select SND_SOC_RT5670
        select SND_SST_ATOM_HIFI2_PLATFORM
        select SND_SST_IPC_ACPI
	select SND_SOC_INTEL_SST_MATCH if ACPI
        help
          This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
          platforms with RT5672 audio codec.
          Say Y if you have such a device.
          If unsure select "N".

config SND_SOC_INTEL_CHT_BSW_RT5645_MACH
	tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5645/5650 codec"
	depends on X86_INTEL_LPSS && I2C && ACPI
	select SND_SOC_RT5645
	select SND_SST_ATOM_HIFI2_PLATFORM
	select SND_SST_IPC_ACPI
	select SND_SOC_INTEL_SST_MATCH if ACPI
	help
	  This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
	  platforms with RT5645/5650 audio codec.
	  If unsure select "N".

config SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
	tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with MAX98090 & TI codec"
	depends on X86_INTEL_LPSS && I2C && ACPI
	select SND_SOC_MAX98090
	select SND_SOC_TS3A227E
	select SND_SST_ATOM_HIFI2_PLATFORM
	select SND_SST_IPC_ACPI
	select SND_SOC_INTEL_SST_MATCH if ACPI
	help
	  This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
	  platforms with MAX98090 audio codec it also can support TI jack chip as aux device.
	  If unsure select "N".

config SND_SOC_INTEL_BYT_CHT_DA7213_MACH
	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail with DA7212/7213 codec"
	depends on X86_INTEL_LPSS && I2C && ACPI
	select SND_SOC_DA7213
	select SND_SST_ATOM_HIFI2_PLATFORM
	select SND_SST_IPC_ACPI
	select SND_SOC_INTEL_SST_MATCH if ACPI
	help
	  This adds support for ASoC machine driver for Intel(R) Baytrail & CherryTrail
	  platforms with DA7212/7213 audio codec.
	  If unsure select "N".

config SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH
	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail platform with no codec (MinnowBoard MAX, Up)"
	depends on X86_INTEL_LPSS && I2C && ACPI
	select SND_SST_ATOM_HIFI2_PLATFORM
	select SND_SST_IPC_ACPI
	select SND_SOC_INTEL_SST_MATCH if ACPI
	help
	  This adds support for ASoC machine driver for the MinnowBoard Max or
	  Up boards and provides access to I2S signals on the Low-Speed
	  connector
	  If unsure select "N".

config SND_SOC_INTEL_SKYLAKE
	tristate
	select SND_HDA_EXT_CORE
	select SND_HDA_DSP_LOADER
	select SND_SOC_TOPOLOGY
	select SND_SOC_INTEL_SST

config SND_SOC_INTEL_SKL_RT286_MACH
	tristate "ASoC Audio driver for SKL with RT286 I2S mode"
	depends on X86 && ACPI && I2C
	select SND_SOC_INTEL_SKYLAKE
	select SND_SOC_RT286
	select SND_SOC_DMIC
	select SND_SOC_HDAC_HDMI
	help
	   This adds support for ASoC machine driver for Skylake platforms
	   with RT286 I2S audio codec.
	   Say Y if you have such a device.
	   If unsure select "N".

config SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH
	tristate "ASoC Audio driver for SKL with NAU88L25 and SSM4567 in I2S Mode"
	depends on X86_INTEL_LPSS && I2C
	select SND_SOC_INTEL_SKYLAKE
	select SND_SOC_NAU8825
	select SND_SOC_SSM4567
	select SND_SOC_DMIC
	select SND_SOC_HDAC_HDMI
	help
	  This adds support for ASoC Onboard Codec I2S machine driver. This will
	  create an alsa sound card for NAU88L25 + SSM4567.
	  Say Y if you have such a device.
	  If unsure select "N".

config SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH
	tristate "ASoC Audio driver for SKL with NAU88L25 and MAX98357A in I2S Mode"
	depends on X86_INTEL_LPSS && I2C
	select SND_SOC_INTEL_SKYLAKE
	select SND_SOC_NAU8825
	select SND_SOC_MAX98357A
	select SND_SOC_DMIC
	select SND_SOC_HDAC_HDMI
	help
	  This adds support for ASoC Onboard Codec I2S machine driver. This will
	  create an alsa sound card for NAU88L25 + MAX98357A.
	  Say Y if you have such a device.
	  If unsure select "N".
