config SND_PXA2XX_SOC
	tristate "SoC Audio for the Intel PXA2xx chip"
	depends on ARCH_PXA
	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_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

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_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)
	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_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.
