menu "Sound support"

config SOUND
	bool "Enable sound support"
	help
	  Support making sounds through an audio codec. This is normally a
	  beep at a chosen frequency for a selected length of time. However
	  the drivers support playing arbitrary sound samples using a
	  PCM interface.

	  Note: At present the sound setup is somewhat tangled up in that the
	  audio codecs are called from the sound-i2s code. This could be
	  converted to driver model.

config I2S
	bool "Enable I2S support"
	depends on SOUND
	help
	  I2S is a serial bus often used to transmit audio data from the
	  SoC to the audio codec. This option enables sound support using
	  I2S. It calls either of the two supported codecs (no use is made
	  of driver model at present).

config I2S_ROCKCHIP
	bool "Enable I2S support for Rockchip SoCs"
	depends on I2S
	help
	  Rockchip SoCs support an I2S interface for sending audio data to an
	  audio codec. This option enables support for this, using one of the
	  available audio codec drivers. This driver does not make use of
	  DMA, but writes each word directly to the hardware.

config I2S_SAMSUNG
	bool "Enable I2C support for Samsung SoCs"
	depends on I2S
	help
	  Samsung Exynos SoCs support an I2S interface for sending audio
	  data to an audio codec. This option enables support for this,
	  using one of the available audio codec drivers. Enabling this
	  option provides an implementation for sound_init() and
	  sound_play().

config SOUND_MAX98088
	bool "Support Maxim max98088 audio codec"
	depends on I2S
	help
	  Enable the max98088 audio codec. This is connected via I2S for
	  audio data and I2C for codec control. At present it only works
	  with the Samsung I2S driver.

config SOUND_MAX98090
	bool "Support Maxim max98090 audio codec"
	depends on I2S
	help
	  Enable the max98090 audio codec. This is connected via I2S for
	  audio data and I2C for codec control. At present it only works
	  with the Samsung I2S driver.

config SOUND_MAX98095
	bool "Support Maxim max98095 audio codec"
	depends on I2S
	help
	  Enable the max98095 audio codec. This is connected via I2S for
	  audio data and I2C for codec control. At present it only works
	  with the Samsung I2S driver.

config SOUND_SANDBOX
	bool "Support sandbox emulated audio codec"
	depends on SANDBOX && SOUND
	help
	  U-Boot sandbox can emulate a sound device using SDL, playing the
	  sound on the host machine. This option implements the sound_init()
	  and sound_play() functions for sandbox. Note that you must install
	  the SDL libraries for this to work.

config SOUND_WM8994
	bool "Support Wolfson Micro wm8994 audio codec"
	depends on I2S_SAMSUNG
	help
	  Enable the wm8994 audio codec. This is connected via I2S for
	  audio data and I2C for codec control. At present it only works
	  with the Samsung I2S driver.

endmenu
