#
# For a description of the syntax of this configuration file,
# see kconfig-language at https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt

config AUDIO_I2SCHAR
	bool "I2S character driver (for testing only)"
	default n
	depends on I2S && AUDIO
	---help---
		This selection enables a simple character driver that supports I2S
		transfers via a read() and write().  The intent of this driver is to
		support I2S testing.  It is not an audio driver but does conform to
		some of the buffer management heuristics of an audio driver.  It is
		not suitable for use in any real driver application in its current
		form.

if AUDIO_I2SCHAR

config AUDIO_I2SCHAR_RXTIMEOUT
	int "RX timeout"
	default 0
	---help---
		This is a fixed timeout value that will be used for all receiver
		transfers.  This is in units of system clock ticks (configurable).
		The special value of zero disables RX timeouts.  Default: 0

config AUDIO_I2SCHAR_TXTIMEOUT
	int "TX timeout"
	default 0
	---help---
		This is a fixed timeout value that will be used for all transmitter
		transfers.  This is in units of system clock ticks (configurable).
		The special value of zero disables RX timeouts.  Default: 0

endif # AUDIO_I2SCHAR

config AUDIO_NULL
	bool "NULL audio device"
	default n
	depends on AUDIO
	---help---
		A do-nothinig audio device driver to simplify testing of audio
		decoders.

config AUDIO_ALC5658
	bool "ALC5658 audio chip"
	depends on AUDIO
	---help---
		Select to enable support for the ALC5658 Audio codec by Realtek
		NOTE: This driver also depends on both I2C and I2S support although
		that dependency is not explicit here.

if AUDIO_ALC5658

config ALC5658_INITVOLUME
	int "ALC5658 initial volume setting"
	default 250

config ALC5658_INFLIGHT
	int "ALC5658 maximum in-flight audio buffers"
	default 2
	depends on AUDIO_DRIVER_SPECIFIC_BUFFERS

config ALC5658_BUFFER_SIZE
	int "ALC5658 preferred buffer size"
	default 8192
	depends on AUDIO_DRIVER_SPECIFIC_BUFFERS

config ALC5658_NUM_BUFFERS
	int "ALC5658 preferred number of buffers"
	default 4
	depends on AUDIO_DRIVER_SPECIFIC_BUFFERS

config ALC5658_MSG_PRIO
	int "ALC5658 message priority"
	default 1

config ALC5658_REGDUMP
	bool "ALC5658 register dump"
	default n
	---help---
		Enable logic to dump the contents of all ALC5658 registers.

config ALC5658_CLKDEBUG
	bool "ALC5658 clock analysis"
	default n
	---help---
		Enable logic to analyze ALC5658 clock configuation.

endif # AUDIO_ALC5658

if AUDIO_NULL

config AUDIO_NULL_MSG_PRIO
	int "Null audio device message priority"
	default 1

config AUDIO_NULL_BUFFER_SIZE
	int "Null audio device preferred buffer size"
	default 8192

config AUDIO_NULL_NUM_BUFFERS
	int "Null audio device preferred number of buffers"
	default 4

config AUDIO_NULL_WORKER_STACKSIZE
	int "Null audio device worker thread stack size"
	default 768

endif # AUDIO_NULL
