18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_cimenu "HD-Audio"
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciconfig SND_HDA
58c2ecf20Sopenharmony_ci	tristate
68c2ecf20Sopenharmony_ci	select SND_PCM
78c2ecf20Sopenharmony_ci	select SND_VMASTER
88c2ecf20Sopenharmony_ci	select SND_JACK
98c2ecf20Sopenharmony_ci	select SND_HDA_CORE
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciconfig SND_HDA_GENERIC_LEDS
128c2ecf20Sopenharmony_ci       bool
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciconfig SND_HDA_INTEL
158c2ecf20Sopenharmony_ci	tristate "HD Audio PCI"
168c2ecf20Sopenharmony_ci	depends on SND_PCI
178c2ecf20Sopenharmony_ci	select SND_HDA
188c2ecf20Sopenharmony_ci	select SND_INTEL_DSP_CONFIG
198c2ecf20Sopenharmony_ci	help
208c2ecf20Sopenharmony_ci	  Say Y here to include support for Intel "High Definition
218c2ecf20Sopenharmony_ci	  Audio" (Azalia) and its compatible devices.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci	  This option enables the HD-audio controller.  Don't forget
248c2ecf20Sopenharmony_ci	  to choose the appropriate codec options below.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
278c2ecf20Sopenharmony_ci	  will be called snd-hda-intel.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciconfig SND_HDA_TEGRA
308c2ecf20Sopenharmony_ci	tristate "NVIDIA Tegra HD Audio"
318c2ecf20Sopenharmony_ci	depends on ARCH_TEGRA
328c2ecf20Sopenharmony_ci	select SND_HDA
338c2ecf20Sopenharmony_ci	select SND_HDA_ALIGNED_MMIO
348c2ecf20Sopenharmony_ci	help
358c2ecf20Sopenharmony_ci	  Say Y here to support the HDA controller present in NVIDIA
368c2ecf20Sopenharmony_ci	  Tegra SoCs
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci	  This options enables support for the HD Audio controller
398c2ecf20Sopenharmony_ci	  present in some NVIDIA Tegra SoCs, used to communicate audio
408c2ecf20Sopenharmony_ci	  to the HDMI output.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
438c2ecf20Sopenharmony_ci	  will be called snd-hda-tegra.
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciconfig SND_HDA_LOONGSON
468c2ecf20Sopenharmony_ci	tristate "Loongson HD Audio"
478c2ecf20Sopenharmony_ci	depends on MACH_LOONGSON64
488c2ecf20Sopenharmony_ci	select SND_HDA
498c2ecf20Sopenharmony_ci	help
508c2ecf20Sopenharmony_ci	  Say Y here to include support for Loongson's LS7A "High
518c2ecf20Sopenharmony_ci	  Definition Audio" controller.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
548c2ecf20Sopenharmony_ci	  will be called snd-hda-loongson.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ciif SND_HDA
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ciconfig SND_HDA_HWDEP
598c2ecf20Sopenharmony_ci	bool "Build hwdep interface for HD-audio driver"
608c2ecf20Sopenharmony_ci	select SND_HWDEP
618c2ecf20Sopenharmony_ci	help
628c2ecf20Sopenharmony_ci	  Say Y here to build a hwdep interface for HD-audio driver.
638c2ecf20Sopenharmony_ci	  This interface can be used for out-of-band communication
648c2ecf20Sopenharmony_ci	  with codecs for debugging purposes.
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciconfig SND_HDA_RECONFIG
678c2ecf20Sopenharmony_ci	bool "Allow dynamic codec reconfiguration"
688c2ecf20Sopenharmony_ci	help
698c2ecf20Sopenharmony_ci	  Say Y here to enable the HD-audio codec re-configuration feature.
708c2ecf20Sopenharmony_ci	  It allows user to clear the whole codec configuration, change the
718c2ecf20Sopenharmony_ci	  codec setup, add extra verbs, and re-configure the codec dynamically.
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci	  Note that this item alone doesn't provide the sysfs interface, but
748c2ecf20Sopenharmony_ci	  enables the feature just for the patch loader below.
758c2ecf20Sopenharmony_ci	  If you need the traditional sysfs entries for the manual interaction,
768c2ecf20Sopenharmony_ci	  turn on CONFIG_SND_HDA_HWDEP as well.
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ciconfig SND_HDA_INPUT_BEEP
798c2ecf20Sopenharmony_ci	bool "Support digital beep via input layer"
808c2ecf20Sopenharmony_ci	depends on INPUT=y || INPUT=SND_HDA
818c2ecf20Sopenharmony_ci	help
828c2ecf20Sopenharmony_ci	  Say Y here to build a digital beep interface for HD-audio
838c2ecf20Sopenharmony_ci	  driver. This interface is used to generate digital beeps.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ciconfig SND_HDA_INPUT_BEEP_MODE
868c2ecf20Sopenharmony_ci	int "Digital beep registration mode (0=off, 1=on)"
878c2ecf20Sopenharmony_ci	depends on SND_HDA_INPUT_BEEP=y
888c2ecf20Sopenharmony_ci	default "1"
898c2ecf20Sopenharmony_ci	range 0 1
908c2ecf20Sopenharmony_ci	help
918c2ecf20Sopenharmony_ci	  Set 0 to disable the digital beep interface for HD-audio by default.
928c2ecf20Sopenharmony_ci	  Set 1 to always enable the digital beep interface for HD-audio by
938c2ecf20Sopenharmony_ci	  default.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciconfig SND_HDA_PATCH_LOADER
968c2ecf20Sopenharmony_ci	bool "Support initialization patch loading for HD-audio"
978c2ecf20Sopenharmony_ci	select FW_LOADER
988c2ecf20Sopenharmony_ci	select SND_HDA_RECONFIG
998c2ecf20Sopenharmony_ci	help
1008c2ecf20Sopenharmony_ci	  Say Y here to allow the HD-audio driver to load a pseudo
1018c2ecf20Sopenharmony_ci	  firmware file ("patch") for overriding the BIOS setup at
1028c2ecf20Sopenharmony_ci	  start up.  The "patch" file can be specified via patch module
1038c2ecf20Sopenharmony_ci	  option, such as patch=hda-init.
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ciconfig SND_HDA_CODEC_REALTEK
1068c2ecf20Sopenharmony_ci	tristate "Build Realtek HD-audio codec support"
1078c2ecf20Sopenharmony_ci	select SND_HDA_GENERIC
1088c2ecf20Sopenharmony_ci	select SND_HDA_GENERIC_LEDS
1098c2ecf20Sopenharmony_ci	help
1108c2ecf20Sopenharmony_ci	  Say Y or M here to include Realtek HD-audio codec support in
1118c2ecf20Sopenharmony_ci	  snd-hda-intel driver, such as ALC880.
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_cicomment "Set to Y if you want auto-loading the codec driver"
1148c2ecf20Sopenharmony_ci	depends on SND_HDA=y && SND_HDA_CODEC_REALTEK=m
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ciconfig SND_HDA_CODEC_ANALOG
1178c2ecf20Sopenharmony_ci	tristate "Build Analog Devices HD-audio codec support"
1188c2ecf20Sopenharmony_ci	select SND_HDA_GENERIC
1198c2ecf20Sopenharmony_ci	help
1208c2ecf20Sopenharmony_ci	  Say Y or M here to include Analog Devices HD-audio codec support in
1218c2ecf20Sopenharmony_ci	  snd-hda-intel driver, such as AD1986A.
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_cicomment "Set to Y if you want auto-loading the codec driver"
1248c2ecf20Sopenharmony_ci	depends on SND_HDA=y && SND_HDA_CODEC_ANALOG=m
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ciconfig SND_HDA_CODEC_SIGMATEL
1278c2ecf20Sopenharmony_ci	tristate "Build IDT/Sigmatel HD-audio codec support"
1288c2ecf20Sopenharmony_ci	select SND_HDA_GENERIC
1298c2ecf20Sopenharmony_ci	select SND_HDA_GENERIC_LEDS
1308c2ecf20Sopenharmony_ci	help
1318c2ecf20Sopenharmony_ci	  Say Y or M here to include IDT (Sigmatel) HD-audio codec support in
1328c2ecf20Sopenharmony_ci	  snd-hda-intel driver, such as STAC9200.
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_cicomment "Set to Y if you want auto-loading the codec driver"
1358c2ecf20Sopenharmony_ci	depends on SND_HDA=y && SND_HDA_CODEC_SIGMATEL=m
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ciconfig SND_HDA_CODEC_VIA
1388c2ecf20Sopenharmony_ci	tristate "Build VIA HD-audio codec support"
1398c2ecf20Sopenharmony_ci	select SND_HDA_GENERIC
1408c2ecf20Sopenharmony_ci	help
1418c2ecf20Sopenharmony_ci	  Say Y or M here to include VIA HD-audio codec support in
1428c2ecf20Sopenharmony_ci	  snd-hda-intel driver, such as VT1708.
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_cicomment "Set to Y if you want auto-loading the codec driver"
1458c2ecf20Sopenharmony_ci	depends on SND_HDA=y && SND_HDA_CODEC_VIA=m
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ciconfig SND_HDA_CODEC_HDMI
1488c2ecf20Sopenharmony_ci	tristate "Build HDMI/DisplayPort HD-audio codec support"
1498c2ecf20Sopenharmony_ci	select SND_DYNAMIC_MINORS
1508c2ecf20Sopenharmony_ci	help
1518c2ecf20Sopenharmony_ci	  Say Y or M here to include HDMI and DisplayPort HD-audio codec
1528c2ecf20Sopenharmony_ci	  support in snd-hda-intel driver.  This includes all AMD/ATI,
1538c2ecf20Sopenharmony_ci	  Intel and Nvidia HDMI/DisplayPort codecs.
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ci	  Note that this option mandatorily enables CONFIG_SND_DYNAMIC_MINORS
1568c2ecf20Sopenharmony_ci	  to assure the multiple streams for DP-MST support.
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_cicomment "Set to Y if you want auto-loading the codec driver"
1598c2ecf20Sopenharmony_ci	depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ciconfig SND_HDA_CODEC_CIRRUS
1628c2ecf20Sopenharmony_ci	tristate "Build Cirrus Logic codec support"
1638c2ecf20Sopenharmony_ci	select SND_HDA_GENERIC
1648c2ecf20Sopenharmony_ci	help
1658c2ecf20Sopenharmony_ci	  Say Y or M here to include Cirrus Logic codec support in
1668c2ecf20Sopenharmony_ci	  snd-hda-intel driver, such as CS4206.
1678c2ecf20Sopenharmony_ci
1688c2ecf20Sopenharmony_cicomment "Set to Y if you want auto-loading the codec driver"
1698c2ecf20Sopenharmony_ci	depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ciconfig SND_HDA_CODEC_CONEXANT
1728c2ecf20Sopenharmony_ci	tristate "Build Conexant HD-audio codec support"
1738c2ecf20Sopenharmony_ci	select SND_HDA_GENERIC
1748c2ecf20Sopenharmony_ci	select SND_HDA_GENERIC_LEDS
1758c2ecf20Sopenharmony_ci	help
1768c2ecf20Sopenharmony_ci	  Say Y or M here to include Conexant HD-audio codec support in
1778c2ecf20Sopenharmony_ci	  snd-hda-intel driver, such as CX20549.
1788c2ecf20Sopenharmony_ci
1798c2ecf20Sopenharmony_cicomment "Set to Y if you want auto-loading the codec driver"
1808c2ecf20Sopenharmony_ci	depends on SND_HDA=y && SND_HDA_CODEC_CONEXANT=m
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ciconfig SND_HDA_CODEC_CA0110
1838c2ecf20Sopenharmony_ci	tristate "Build Creative CA0110-IBG codec support"
1848c2ecf20Sopenharmony_ci	select SND_HDA_GENERIC
1858c2ecf20Sopenharmony_ci	help
1868c2ecf20Sopenharmony_ci	  Say Y or M here to include Creative CA0110-IBG codec support in
1878c2ecf20Sopenharmony_ci	  snd-hda-intel driver, found on some Creative X-Fi cards.
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_cicomment "Set to Y if you want auto-loading the codec driver"
1908c2ecf20Sopenharmony_ci	depends on SND_HDA=y && SND_HDA_CODEC_CA0110=m
1918c2ecf20Sopenharmony_ci
1928c2ecf20Sopenharmony_ciconfig SND_HDA_CODEC_CA0132
1938c2ecf20Sopenharmony_ci	tristate "Build Creative CA0132 codec support"
1948c2ecf20Sopenharmony_ci	help
1958c2ecf20Sopenharmony_ci	  Say Y or M here to include Creative CA0132 codec support in
1968c2ecf20Sopenharmony_ci	  snd-hda-intel driver.
1978c2ecf20Sopenharmony_ci
1988c2ecf20Sopenharmony_cicomment "Set to Y if you want auto-loading the codec driver"
1998c2ecf20Sopenharmony_ci	depends on SND_HDA=y && SND_HDA_CODEC_CA0132=m
2008c2ecf20Sopenharmony_ci
2018c2ecf20Sopenharmony_ciconfig SND_HDA_CODEC_CA0132_DSP
2028c2ecf20Sopenharmony_ci	bool "Support new DSP code for CA0132 codec"
2038c2ecf20Sopenharmony_ci	depends on SND_HDA_CODEC_CA0132
2048c2ecf20Sopenharmony_ci	default y
2058c2ecf20Sopenharmony_ci	select SND_HDA_DSP_LOADER
2068c2ecf20Sopenharmony_ci	select FW_LOADER
2078c2ecf20Sopenharmony_ci	help
2088c2ecf20Sopenharmony_ci	  Say Y here to enable the DSP for Creative CA0132 for extended
2098c2ecf20Sopenharmony_ci	  features like equalizer or echo cancellation.
2108c2ecf20Sopenharmony_ci
2118c2ecf20Sopenharmony_ci	  Note that this option requires the external firmware file
2128c2ecf20Sopenharmony_ci	  (ctefx.bin).
2138c2ecf20Sopenharmony_ci
2148c2ecf20Sopenharmony_ciconfig SND_HDA_CODEC_CMEDIA
2158c2ecf20Sopenharmony_ci	tristate "Build C-Media HD-audio codec support"
2168c2ecf20Sopenharmony_ci	select SND_HDA_GENERIC
2178c2ecf20Sopenharmony_ci	help
2188c2ecf20Sopenharmony_ci	  Say Y or M here to include C-Media HD-audio codec support in
2198c2ecf20Sopenharmony_ci	  snd-hda-intel driver, such as CMI9880.
2208c2ecf20Sopenharmony_ci
2218c2ecf20Sopenharmony_cicomment "Set to Y if you want auto-loading the codec driver"
2228c2ecf20Sopenharmony_ci	depends on SND_HDA=y && SND_HDA_CODEC_CMEDIA=m
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ciconfig SND_HDA_CODEC_SI3054
2258c2ecf20Sopenharmony_ci	tristate "Build Silicon Labs 3054 HD-modem codec support"
2268c2ecf20Sopenharmony_ci	help
2278c2ecf20Sopenharmony_ci	  Say Y or M here to include Silicon Labs 3054 HD-modem codec
2288c2ecf20Sopenharmony_ci	  (and compatibles) support in snd-hda-intel driver.
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_cicomment "Set to Y if you want auto-loading the codec driver"
2318c2ecf20Sopenharmony_ci	depends on SND_HDA=y && SND_HDA_CODEC_SI3054=m
2328c2ecf20Sopenharmony_ci
2338c2ecf20Sopenharmony_ciconfig SND_HDA_GENERIC
2348c2ecf20Sopenharmony_ci	tristate "Enable generic HD-audio codec parser"
2358c2ecf20Sopenharmony_ci	select NEW_LEDS if SND_HDA_GENERIC_LEDS
2368c2ecf20Sopenharmony_ci	select LEDS_CLASS if SND_HDA_GENERIC_LEDS
2378c2ecf20Sopenharmony_ci	select LEDS_TRIGGERS if SND_HDA_GENERIC_LEDS
2388c2ecf20Sopenharmony_ci	select LEDS_TRIGGER_AUDIO if SND_HDA_GENERIC_LEDS
2398c2ecf20Sopenharmony_ci	help
2408c2ecf20Sopenharmony_ci	  Say Y or M here to enable the generic HD-audio codec parser
2418c2ecf20Sopenharmony_ci	  in snd-hda-intel driver.
2428c2ecf20Sopenharmony_ci
2438c2ecf20Sopenharmony_cicomment "Set to Y if you want auto-loading the codec driver"
2448c2ecf20Sopenharmony_ci	depends on SND_HDA=y && SND_HDA_GENERIC=m
2458c2ecf20Sopenharmony_ci
2468c2ecf20Sopenharmony_ciconfig SND_HDA_POWER_SAVE_DEFAULT
2478c2ecf20Sopenharmony_ci	int "Default time-out for HD-audio power-save mode"
2488c2ecf20Sopenharmony_ci	depends on PM
2498c2ecf20Sopenharmony_ci	default 0
2508c2ecf20Sopenharmony_ci	help
2518c2ecf20Sopenharmony_ci	  The default time-out value in seconds for HD-audio automatic
2528c2ecf20Sopenharmony_ci	  power-save mode.  0 means to disable the power-save mode.
2538c2ecf20Sopenharmony_ci
2548c2ecf20Sopenharmony_ciconfig SND_HDA_INTEL_HDMI_SILENT_STREAM
2558c2ecf20Sopenharmony_ci	bool "Enable Silent Stream always for HDMI"
2568c2ecf20Sopenharmony_ci	depends on SND_HDA_INTEL
2578c2ecf20Sopenharmony_ci	help
2588c2ecf20Sopenharmony_ci	  Intel hardware has a feature called 'silent stream', that
2598c2ecf20Sopenharmony_ci	  keeps external HDMI receiver's analog circuitry powered on
2608c2ecf20Sopenharmony_ci	  avoiding 2-3 sec silence during playback start. This mechanism
2618c2ecf20Sopenharmony_ci	  relies on setting channel_id as 0xf, sending info packet and
2628c2ecf20Sopenharmony_ci	  preventing codec D3 entry (increasing  platform static power
2638c2ecf20Sopenharmony_ci	  consumption when HDMI receiver is plugged-in). 2-3 sec silence
2648c2ecf20Sopenharmony_ci	  at the playback start is expected whenever there is format change.
2658c2ecf20Sopenharmony_ci	  (default is 2 channel format).
2668c2ecf20Sopenharmony_ci	  Say Y to enable Silent Stream feature.
2678c2ecf20Sopenharmony_ci
2688c2ecf20Sopenharmony_ciendif
2698c2ecf20Sopenharmony_ci
2708c2ecf20Sopenharmony_ciendmenu
271