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