| # SPDX-License-Identifier: GPL-2.0-only |
| menu "HD-Audio" |
| |
| config SND_HDA |
| tristate |
| select SND_PCM |
| select SND_VMASTER |
| select SND_JACK |
| select SND_HDA_CORE |
| |
| config SND_HDA_GENERIC_LEDS |
| bool |
| |
| config SND_HDA_INTEL |
| tristate "HD Audio PCI" |
| depends on SND_PCI |
| select SND_HDA |
| select SND_INTEL_DSP_CONFIG |
| help |
| Say Y here to include support for Intel "High Definition |
| Audio" (Azalia) and its compatible devices. |
| |
| This option enables the HD-audio controller. Don't forget |
| to choose the appropriate codec options below. |
| |
| To compile this driver as a module, choose M here: the module |
| will be called snd-hda-intel. |
| |
| config SND_HDA_TEGRA |
| tristate "NVIDIA Tegra HD Audio" |
| depends on ARCH_TEGRA |
| select SND_HDA |
| select SND_HDA_ALIGNED_MMIO |
| help |
| Say Y here to support the HDA controller present in NVIDIA |
| Tegra SoCs |
| |
| This options enables support for the HD Audio controller |
| present in some NVIDIA Tegra SoCs, used to communicate audio |
| to the HDMI output. |
| |
| To compile this driver as a module, choose M here: the module |
| will be called snd-hda-tegra. |
| |
| if SND_HDA |
| |
| config SND_HDA_HWDEP |
| bool "Build hwdep interface for HD-audio driver" |
| select SND_HWDEP |
| help |
| Say Y here to build a hwdep interface for HD-audio driver. |
| This interface can be used for out-of-band communication |
| with codecs for debugging purposes. |
| |
| config SND_HDA_RECONFIG |
| bool "Allow dynamic codec reconfiguration" |
| help |
| Say Y here to enable the HD-audio codec re-configuration feature. |
| It allows user to clear the whole codec configuration, change the |
| codec setup, add extra verbs, and re-configure the codec dynamically. |
| |
| Note that this item alone doesn't provide the sysfs interface, but |
| enables the feature just for the patch loader below. |
| If you need the traditional sysfs entries for the manual interaction, |
| turn on CONFIG_SND_HDA_HWDEP as well. |
| |
| config SND_HDA_INPUT_BEEP |
| bool "Support digital beep via input layer" |
| depends on INPUT=y || INPUT=SND_HDA |
| help |
| Say Y here to build a digital beep interface for HD-audio |
| driver. This interface is used to generate digital beeps. |
| |
| config SND_HDA_INPUT_BEEP_MODE |
| int "Digital beep registration mode (0=off, 1=on)" |
| depends on SND_HDA_INPUT_BEEP=y |
| default "1" |
| range 0 1 |
| help |
| Set 0 to disable the digital beep interface for HD-audio by default. |
| Set 1 to always enable the digital beep interface for HD-audio by |
| default. |
| |
| config SND_HDA_PATCH_LOADER |
| bool "Support initialization patch loading for HD-audio" |
| select FW_LOADER |
| select SND_HDA_RECONFIG |
| help |
| Say Y here to allow the HD-audio driver to load a pseudo |
| firmware file ("patch") for overriding the BIOS setup at |
| start up. The "patch" file can be specified via patch module |
| option, such as patch=hda-init. |
| |
| config SND_HDA_CIRRUS_SCODEC |
| tristate |
| |
| config SND_HDA_CIRRUS_SCODEC_KUNIT_TEST |
| tristate "KUnit test for Cirrus side-codec library" if !KUNIT_ALL_TESTS |
| select SND_HDA_CIRRUS_SCODEC |
| select GPIOLIB |
| depends on KUNIT |
| default KUNIT_ALL_TESTS |
| help |
| This builds KUnit tests for the cirrus side-codec library. |
| For more information on KUnit and unit tests in general, |
| please refer to the KUnit documentation in |
| Documentation/dev-tools/kunit/. |
| If in doubt, say "N". |
| |
| config SND_HDA_SCODEC_CS35L41 |
| tristate |
| select SND_HDA_GENERIC |
| select REGMAP_IRQ |
| |
| config SND_HDA_CS_DSP_CONTROLS |
| tristate |
| select FW_CS_DSP |
| |
| config SND_HDA_SCODEC_CS35L41_I2C |
| tristate "Build CS35L41 HD-audio side codec support for I2C Bus" |
| depends on I2C |
| depends on ACPI |
| depends on EFI |
| depends on SND_SOC |
| select SND_SOC_CS35L41_LIB |
| select SND_HDA_SCODEC_CS35L41 |
| select SND_HDA_CS_DSP_CONTROLS |
| help |
| Say Y or M here to include CS35L41 I2C HD-audio side codec support |
| in snd-hda-intel driver, such as ALC287. |
| |
| comment "Set to Y if you want auto-loading the side codec driver" |
| depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_I2C=m |
| |
| config SND_HDA_SCODEC_CS35L41_SPI |
| tristate "Build CS35L41 HD-audio codec support for SPI Bus" |
| depends on SPI_MASTER |
| depends on ACPI |
| depends on EFI |
| depends on SND_SOC |
| select SND_SOC_CS35L41_LIB |
| select SND_HDA_SCODEC_CS35L41 |
| select SND_HDA_CS_DSP_CONTROLS |
| help |
| Say Y or M here to include CS35L41 SPI HD-audio side codec support |
| in snd-hda-intel driver, such as ALC287. |
| |
| comment "Set to Y if you want auto-loading the side codec driver" |
| depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_SPI=m |
| |
| config SND_HDA_SCODEC_CS35L56 |
| tristate |
| |
| config SND_HDA_SCODEC_CS35L56_I2C |
| tristate "Build CS35L56 HD-audio side codec support for I2C Bus" |
| depends on I2C |
| depends on ACPI || COMPILE_TEST |
| depends on SND_SOC |
| select CS_DSP |
| select SND_HDA_GENERIC |
| select SND_SOC_CS35L56_SHARED |
| select SND_HDA_SCODEC_CS35L56 |
| select SND_HDA_CIRRUS_SCODEC |
| select SND_HDA_CS_DSP_CONTROLS |
| help |
| Say Y or M here to include CS35L56 amplifier support with |
| I2C control. |
| |
| config SND_HDA_SCODEC_CS35L56_SPI |
| tristate "Build CS35L56 HD-audio side codec support for SPI Bus" |
| depends on SPI_MASTER |
| depends on ACPI || COMPILE_TEST |
| depends on SND_SOC |
| select CS_DSP |
| select SND_HDA_GENERIC |
| select SND_SOC_CS35L56_SHARED |
| select SND_HDA_SCODEC_CS35L56 |
| select SND_HDA_CIRRUS_SCODEC |
| select SND_HDA_CS_DSP_CONTROLS |
| help |
| Say Y or M here to include CS35L56 amplifier support with |
| SPI control. |
| |
| config SND_HDA_SCODEC_TAS2781_I2C |
| tristate "Build TAS2781 HD-audio side codec support for I2C Bus" |
| depends on I2C |
| depends on ACPI |
| depends on EFI |
| depends on SND_SOC |
| select SND_SOC_TAS2781_COMLIB |
| select SND_SOC_TAS2781_FMWLIB |
| select CRC32_SARWATE |
| help |
| Say Y or M here to include TAS2781 I2C HD-audio side codec support |
| in snd-hda-intel driver, such as ALC287. |
| |
| comment "Set to Y if you want auto-loading the side codec driver" |
| depends on SND_HDA=y && SND_HDA_SCODEC_TAS2781_I2C=m |
| |
| config SND_HDA_CODEC_REALTEK |
| tristate "Build Realtek HD-audio codec support" |
| select SND_HDA_GENERIC |
| select SND_HDA_GENERIC_LEDS |
| help |
| Say Y or M here to include Realtek HD-audio codec support in |
| snd-hda-intel driver, such as ALC880. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_CODEC_REALTEK=m |
| |
| config SND_HDA_CODEC_ANALOG |
| tristate "Build Analog Devices HD-audio codec support" |
| select SND_HDA_GENERIC |
| help |
| Say Y or M here to include Analog Devices HD-audio codec support in |
| snd-hda-intel driver, such as AD1986A. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_CODEC_ANALOG=m |
| |
| config SND_HDA_CODEC_SIGMATEL |
| tristate "Build IDT/Sigmatel HD-audio codec support" |
| select SND_HDA_GENERIC |
| select SND_HDA_GENERIC_LEDS |
| help |
| Say Y or M here to include IDT (Sigmatel) HD-audio codec support in |
| snd-hda-intel driver, such as STAC9200. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_CODEC_SIGMATEL=m |
| |
| config SND_HDA_CODEC_VIA |
| tristate "Build VIA HD-audio codec support" |
| select SND_HDA_GENERIC |
| help |
| Say Y or M here to include VIA HD-audio codec support in |
| snd-hda-intel driver, such as VT1708. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_CODEC_VIA=m |
| |
| config SND_HDA_CODEC_HDMI |
| tristate "Build HDMI/DisplayPort HD-audio codec support" |
| select SND_DYNAMIC_MINORS |
| help |
| Say Y or M here to include HDMI and DisplayPort HD-audio codec |
| support in snd-hda-intel driver. This includes all AMD/ATI, |
| Intel and Nvidia HDMI/DisplayPort codecs. |
| |
| Note that this option mandatorily enables CONFIG_SND_DYNAMIC_MINORS |
| to assure the multiple streams for DP-MST support. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m |
| |
| config SND_HDA_CODEC_CIRRUS |
| tristate "Build Cirrus Logic codec support" |
| select SND_HDA_GENERIC |
| help |
| Say Y or M here to include Cirrus Logic codec support in |
| snd-hda-intel driver, such as CS4206. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m |
| |
| config SND_HDA_CODEC_CS8409 |
| tristate "Build Cirrus Logic HDA bridge support" |
| select SND_HDA_GENERIC |
| help |
| Say Y or M here to include Cirrus Logic HDA bridge support in |
| snd-hda-intel driver, such as CS8409. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_CODEC_CS8409=m |
| |
| config SND_HDA_CODEC_CONEXANT |
| tristate "Build Conexant HD-audio codec support" |
| select SND_HDA_GENERIC |
| select SND_HDA_GENERIC_LEDS |
| help |
| Say Y or M here to include Conexant HD-audio codec support in |
| snd-hda-intel driver, such as CX20549. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_CODEC_CONEXANT=m |
| |
| config SND_HDA_CODEC_CA0110 |
| tristate "Build Creative CA0110-IBG codec support" |
| select SND_HDA_GENERIC |
| help |
| Say Y or M here to include Creative CA0110-IBG codec support in |
| snd-hda-intel driver, found on some Creative X-Fi cards. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_CODEC_CA0110=m |
| |
| config SND_HDA_CODEC_CA0132 |
| tristate "Build Creative CA0132 codec support" |
| help |
| Say Y or M here to include Creative CA0132 codec support in |
| snd-hda-intel driver. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_CODEC_CA0132=m |
| |
| config SND_HDA_CODEC_CA0132_DSP |
| bool "Support new DSP code for CA0132 codec" |
| depends on SND_HDA_CODEC_CA0132 |
| default y |
| select SND_HDA_DSP_LOADER |
| select FW_LOADER |
| help |
| Say Y here to enable the DSP for Creative CA0132 for extended |
| features like equalizer or echo cancellation. |
| |
| Note that this option requires the external firmware file |
| (ctefx.bin). |
| |
| config SND_HDA_CODEC_CMEDIA |
| tristate "Build C-Media HD-audio codec support" |
| select SND_HDA_GENERIC |
| help |
| Say Y or M here to include C-Media HD-audio codec support in |
| snd-hda-intel driver, such as CMI9880. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_CODEC_CMEDIA=m |
| |
| config SND_HDA_CODEC_SI3054 |
| tristate "Build Silicon Labs 3054 HD-modem codec support" |
| help |
| Say Y or M here to include Silicon Labs 3054 HD-modem codec |
| (and compatibles) support in snd-hda-intel driver. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_CODEC_SI3054=m |
| |
| config SND_HDA_GENERIC |
| tristate "Enable generic HD-audio codec parser" |
| select SND_CTL_LED if SND_HDA_GENERIC_LEDS |
| select LEDS_CLASS if SND_HDA_GENERIC_LEDS |
| help |
| Say Y or M here to enable the generic HD-audio codec parser |
| in snd-hda-intel driver. |
| |
| comment "Set to Y if you want auto-loading the codec driver" |
| depends on SND_HDA=y && SND_HDA_GENERIC=m |
| |
| config SND_HDA_POWER_SAVE_DEFAULT |
| int "Default time-out for HD-audio power-save mode" |
| depends on PM |
| default 0 |
| help |
| The default time-out value in seconds for HD-audio automatic |
| power-save mode. 0 means to disable the power-save mode. |
| |
| config SND_HDA_INTEL_HDMI_SILENT_STREAM |
| bool "Enable Silent Stream always for HDMI" |
| depends on SND_HDA_INTEL |
| help |
| Say Y to enable HD-Audio Keep Alive (KAE) aka Silent Stream |
| for HDMI on hardware that supports the feature. |
| |
| When enabled, the HDMI/DisplayPort codec will continue to provide |
| a continuous clock and a valid but silent data stream to |
| any connected external receiver. This allows to avoid gaps |
| at start of playback. Many receivers require multiple seconds |
| to start playing audio after the clock has been stopped. |
| This feature can impact power consumption as resources |
| are kept reserved both at transmitter and receiver. |
| |
| config SND_HDA_CTL_DEV_ID |
| bool "Use the device identifier field for controls" |
| depends on SND_HDA_INTEL |
| help |
| Say Y to use the device identifier field for (mixer) |
| controls (old behaviour until this option is available). |
| |
| When enabled, the multiple HDA codecs may set the device |
| field in control (mixer) element identifiers. The use |
| of this field is not recommended and defined for mixer controls. |
| |
| The old behaviour (Y) is obsolete and will be removed. Consider |
| to not enable this option. |
| |
| endif |
| |
| endmenu |