config SND_PXA2XX_SOC
	tristate "SoC Audio for the Intel PXA2xx chip"
	depends on ARCH_PXA
	select SND_ARM
	select SND_PXA2XX_LIB
	help
	  Say Y or M if you want to add support for codecs attached to
	  the PXA2xx AC97, I2S or SSP interface. You will also need
	  to select the audio interfaces to support below.

config SND_MMP_SOC
	bool "Soc Audio for Marvell MMP chips"
	depends on ARCH_MMP
	select SND_SOC_DMAENGINE_PCM
	select SND_ARM
	help
	  Say Y if you want to add support for codecs attached to
	  the MMP SSPA interface.

config SND_PXA2XX_AC97
	tristate
	select SND_AC97_CODEC

config SND_PXA2XX_SOC_AC97
	tristate
	select AC97_BUS
	select SND_ARM
	select SND_PXA2XX_LIB_AC97
	select SND_SOC_AC97_BUS

config SND_PXA2XX_SOC_I2S
	tristate

config SND_PXA_SOC_SSP
	tristate
	select PXA_SSP

config SND_MMP_SOC_SSPA
	tristate

config SND_PXA2XX_SOC_CORGI
	tristate "SoC Audio support for Sharp Zaurus SL-C7x0"
	depends on SND_PXA2XX_SOC && PXA_SHARP_C7xx
	select SND_PXA2XX_SOC_I2S
	select SND_SOC_WM8731
	help
	  Say Y if you want to add support for SoC audio on Sharp
	  Zaurus SL-C7x0 models (Corgi, Shepherd, Husky).

config SND_PXA2XX_SOC_SPITZ
	tristate "SoC Audio support for Sharp Zaurus SL-Cxx00"
	depends on SND_PXA2XX_SOC && PXA_SHARP_Cxx00
	select SND_PXA2XX_SOC_I2S
	select SND_SOC_WM8750
	help
	  Say Y if you want to add support for SoC audio on Sharp
	  Zaurus SL-Cxx00 models (Spitz, Borzoi and Akita).

config SND_PXA2XX_SOC_Z2
	tristate "SoC Audio support for Zipit Z2"
	depends on SND_PXA2XX_SOC && MACH_ZIPIT2
	select SND_PXA2XX_SOC_I2S
	select SND_SOC_WM8750
	help
	  Say Y if you want to add support for SoC audio on Zipit Z2.

config SND_PXA2XX_SOC_POODLE
	tristate "SoC Audio support for Poodle"
	depends on SND_PXA2XX_SOC && MACH_POODLE
	select SND_PXA2XX_SOC_I2S
	select SND_SOC_WM8731
	help
	  Say Y if you want to add support for SoC audio on Sharp
	  Zaurus SL-5600 model (Poodle).

config SND_PXA2XX_SOC_TOSA
	tristate "SoC AC97 Audio support for Tosa"
	depends on SND_PXA2XX_SOC && MACH_TOSA
	depends on MFD_TC6393XB
	select SND_PXA2XX_SOC_AC97
	select SND_SOC_WM9712
	help
	  Say Y if you want to add support for SoC audio on Sharp
	  Zaurus SL-C6000x models (Tosa).

config SND_PXA2XX_SOC_E740
	tristate "SoC AC97 Audio support for e740"
	depends on SND_PXA2XX_SOC && MACH_E740
	select SND_SOC_WM9705
	select SND_PXA2XX_SOC_AC97
	help
	  Say Y if you want to add support for SoC audio on the
	  toshiba e740 PDA

config SND_PXA2XX_SOC_E750
	tristate "SoC AC97 Audio support for e750"
	depends on SND_PXA2XX_SOC && MACH_E750
	select SND_SOC_WM9705
	select SND_PXA2XX_SOC_AC97
	help
	  Say Y if you want to add support for SoC audio on the
	  toshiba e750 PDA

config SND_PXA2XX_SOC_E800
	tristate "SoC AC97 Audio support for e800"
	depends on SND_PXA2XX_SOC && MACH_E800
	select SND_SOC_WM9712
	select SND_PXA2XX_SOC_AC97
	help
	  Say Y if you want to add support for SoC audio on the
	  Toshiba e800 PDA

config SND_PXA2XX_SOC_EM_X270
	tristate "SoC Audio support for CompuLab EM-x270, eXeda and CM-X300"
	depends on SND_PXA2XX_SOC && (MACH_EM_X270 || MACH_EXEDA || \
			MACH_CM_X300)
	select SND_PXA2XX_SOC_AC97
	select SND_SOC_WM9712
	help
	  Say Y if you want to add support for SoC audio on
	  CompuLab EM-x270, eXeda and CM-X300 machines.

config SND_PXA2XX_SOC_PALM27X
	bool "SoC Audio support for Palm T|X, T5, E2 and LifeDrive"
	depends on SND_PXA2XX_SOC && (MACH_PALMLD || MACH_PALMTX || \
			MACH_PALMT5 || MACH_PALMTE2)
	select SND_PXA2XX_SOC_AC97
	select SND_SOC_WM9712
	help
	  Say Y if you want to add support for SoC audio on
	  Palm T|X, T5, E2 or LifeDrive handheld computer.

config SND_PXA910_SOC
	tristate "SoC Audio for Marvell PXA910 chip"
	depends on ARCH_MMP && SND
	select SND_PCM
	help
	  Say Y if you want to add support for SoC audio on the
	  Marvell PXA910 reference platform.

config SND_SOC_TTC_DKB
	bool "SoC Audio support for TTC DKB"
	depends on SND_PXA910_SOC && MACH_TTC_DKB
	select PXA_SSP
	select SND_PXA_SOC_SSP
	select SND_MMP_SOC
	select MFD_88PM860X
	select SND_SOC_88PM860X
	help
	  Say Y if you want to add support for SoC audio on TTC DKB


config SND_SOC_ZYLONITE
	tristate "SoC Audio support for Marvell Zylonite"
	depends on SND_PXA2XX_SOC && MACH_ZYLONITE
	select SND_PXA2XX_SOC_AC97
	select SND_PXA_SOC_SSP
	select SND_SOC_WM9713
	help
	  Say Y if you want to add support for SoC audio on the
	  Marvell Zylonite reference platform.

config SND_SOC_RAUMFELD
	tristate "SoC Audio support Raumfeld audio adapter"
	depends on SND_PXA2XX_SOC && (MACH_RAUMFELD_SPEAKER || MACH_RAUMFELD_CONNECTOR)
	depends on I2C && SPI_MASTER
	select SND_PXA_SOC_SSP
	select SND_SOC_CS4270
	select SND_SOC_AK4104
	help
	  Say Y if you want to add support for SoC audio on Raumfeld devices

config SND_PXA2XX_SOC_HX4700
	tristate "SoC Audio support for HP iPAQ hx4700"
	depends on SND_PXA2XX_SOC && MACH_H4700 && I2C
	select SND_PXA2XX_SOC_I2S
	select SND_SOC_AK4641
	help
	  Say Y if you want to add support for SoC audio on the
	  HP iPAQ hx4700.

config SND_PXA2XX_SOC_MAGICIAN
	tristate "SoC Audio support for HTC Magician"
	depends on SND_PXA2XX_SOC && MACH_MAGICIAN
	select SND_PXA2XX_SOC_I2S
	select SND_PXA_SOC_SSP
	select SND_SOC_UDA1380
	help
	  Say Y if you want to add support for SoC audio on the
	  HTC Magician.

config SND_PXA2XX_SOC_MIOA701
        tristate "SoC Audio support for MIO A701"
        depends on SND_PXA2XX_SOC && MACH_MIOA701
        select SND_PXA2XX_SOC_AC97
        select SND_SOC_WM9713
        help
          Say Y if you want to add support for SoC audio on the
          MIO A701.

config SND_PXA2XX_SOC_IMOTE2
       tristate "SoC Audio support for IMote 2"
       depends on SND_PXA2XX_SOC && MACH_INTELMOTE2 && I2C
       select SND_PXA2XX_SOC_I2S
       select SND_SOC_WM8940
       help
         Say Y if you want to add support for SoC audio on the
	 IMote 2.

config SND_MMP_SOC_BROWNSTONE
	tristate "SoC Audio support for Marvell Brownstone"
	depends on SND_MMP_SOC && MACH_BROWNSTONE
	select SND_MMP_SOC_SSPA
	select MFD_WM8994
	select SND_SOC_WM8994
	help
	  Say Y if you want to add support for SoC audio on the
	  Marvell Brownstone reference platform.
