0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menu "HD-Audio"
0003
0004 config SND_HDA
0005 tristate
0006 select SND_PCM
0007 select SND_VMASTER
0008 select SND_JACK
0009 select SND_HDA_CORE
0010
0011 config SND_HDA_GENERIC_LEDS
0012 bool
0013
0014 config SND_HDA_INTEL
0015 tristate "HD Audio PCI"
0016 depends on SND_PCI
0017 select SND_HDA
0018 select SND_INTEL_DSP_CONFIG
0019 help
0020 Say Y here to include support for Intel "High Definition
0021 Audio" (Azalia) and its compatible devices.
0022
0023 This option enables the HD-audio controller. Don't forget
0024 to choose the appropriate codec options below.
0025
0026 To compile this driver as a module, choose M here: the module
0027 will be called snd-hda-intel.
0028
0029 config SND_HDA_TEGRA
0030 tristate "NVIDIA Tegra HD Audio"
0031 depends on ARCH_TEGRA
0032 select SND_HDA
0033 select SND_HDA_ALIGNED_MMIO
0034 help
0035 Say Y here to support the HDA controller present in NVIDIA
0036 Tegra SoCs
0037
0038 This options enables support for the HD Audio controller
0039 present in some NVIDIA Tegra SoCs, used to communicate audio
0040 to the HDMI output.
0041
0042 To compile this driver as a module, choose M here: the module
0043 will be called snd-hda-tegra.
0044
0045 if SND_HDA
0046
0047 config SND_HDA_HWDEP
0048 bool "Build hwdep interface for HD-audio driver"
0049 select SND_HWDEP
0050 help
0051 Say Y here to build a hwdep interface for HD-audio driver.
0052 This interface can be used for out-of-band communication
0053 with codecs for debugging purposes.
0054
0055 config SND_HDA_RECONFIG
0056 bool "Allow dynamic codec reconfiguration"
0057 help
0058 Say Y here to enable the HD-audio codec re-configuration feature.
0059 It allows user to clear the whole codec configuration, change the
0060 codec setup, add extra verbs, and re-configure the codec dynamically.
0061
0062 Note that this item alone doesn't provide the sysfs interface, but
0063 enables the feature just for the patch loader below.
0064 If you need the traditional sysfs entries for the manual interaction,
0065 turn on CONFIG_SND_HDA_HWDEP as well.
0066
0067 config SND_HDA_INPUT_BEEP
0068 bool "Support digital beep via input layer"
0069 depends on INPUT=y || INPUT=SND_HDA
0070 help
0071 Say Y here to build a digital beep interface for HD-audio
0072 driver. This interface is used to generate digital beeps.
0073
0074 config SND_HDA_INPUT_BEEP_MODE
0075 int "Digital beep registration mode (0=off, 1=on)"
0076 depends on SND_HDA_INPUT_BEEP=y
0077 default "1"
0078 range 0 1
0079 help
0080 Set 0 to disable the digital beep interface for HD-audio by default.
0081 Set 1 to always enable the digital beep interface for HD-audio by
0082 default.
0083
0084 config SND_HDA_PATCH_LOADER
0085 bool "Support initialization patch loading for HD-audio"
0086 select FW_LOADER
0087 select SND_HDA_RECONFIG
0088 help
0089 Say Y here to allow the HD-audio driver to load a pseudo
0090 firmware file ("patch") for overriding the BIOS setup at
0091 start up. The "patch" file can be specified via patch module
0092 option, such as patch=hda-init.
0093
0094 config SND_HDA_SCODEC_CS35L41
0095 tristate
0096 select SND_HDA_GENERIC
0097 select REGMAP_IRQ
0098
0099 config SND_HDA_CS_DSP_CONTROLS
0100 tristate
0101 select CS_DSP
0102
0103 config SND_HDA_SCODEC_CS35L41_I2C
0104 tristate "Build CS35L41 HD-audio side codec support for I2C Bus"
0105 depends on I2C
0106 depends on ACPI
0107 depends on SND_SOC
0108 select SND_SOC_CS35L41_LIB
0109 select SND_HDA_SCODEC_CS35L41
0110 select SND_HDA_CS_DSP_CONTROLS
0111 help
0112 Say Y or M here to include CS35L41 I2C HD-audio side codec support
0113 in snd-hda-intel driver, such as ALC287.
0114
0115 comment "Set to Y if you want auto-loading the side codec driver"
0116 depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_I2C=m
0117
0118 config SND_HDA_SCODEC_CS35L41_SPI
0119 tristate "Build CS35L41 HD-audio codec support for SPI Bus"
0120 depends on SPI_MASTER
0121 depends on ACPI
0122 depends on SND_SOC
0123 select SND_SOC_CS35L41_LIB
0124 select SND_HDA_SCODEC_CS35L41
0125 select SND_HDA_CS_DSP_CONTROLS
0126 help
0127 Say Y or M here to include CS35L41 SPI HD-audio side codec support
0128 in snd-hda-intel driver, such as ALC287.
0129
0130 comment "Set to Y if you want auto-loading the side codec driver"
0131 depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_SPI=m
0132
0133 config SND_HDA_CODEC_REALTEK
0134 tristate "Build Realtek HD-audio codec support"
0135 select SND_HDA_GENERIC
0136 select SND_HDA_GENERIC_LEDS
0137 help
0138 Say Y or M here to include Realtek HD-audio codec support in
0139 snd-hda-intel driver, such as ALC880.
0140
0141 comment "Set to Y if you want auto-loading the codec driver"
0142 depends on SND_HDA=y && SND_HDA_CODEC_REALTEK=m
0143
0144 config SND_HDA_CODEC_ANALOG
0145 tristate "Build Analog Devices HD-audio codec support"
0146 select SND_HDA_GENERIC
0147 help
0148 Say Y or M here to include Analog Devices HD-audio codec support in
0149 snd-hda-intel driver, such as AD1986A.
0150
0151 comment "Set to Y if you want auto-loading the codec driver"
0152 depends on SND_HDA=y && SND_HDA_CODEC_ANALOG=m
0153
0154 config SND_HDA_CODEC_SIGMATEL
0155 tristate "Build IDT/Sigmatel HD-audio codec support"
0156 select SND_HDA_GENERIC
0157 select SND_HDA_GENERIC_LEDS
0158 help
0159 Say Y or M here to include IDT (Sigmatel) HD-audio codec support in
0160 snd-hda-intel driver, such as STAC9200.
0161
0162 comment "Set to Y if you want auto-loading the codec driver"
0163 depends on SND_HDA=y && SND_HDA_CODEC_SIGMATEL=m
0164
0165 config SND_HDA_CODEC_VIA
0166 tristate "Build VIA HD-audio codec support"
0167 select SND_HDA_GENERIC
0168 help
0169 Say Y or M here to include VIA HD-audio codec support in
0170 snd-hda-intel driver, such as VT1708.
0171
0172 comment "Set to Y if you want auto-loading the codec driver"
0173 depends on SND_HDA=y && SND_HDA_CODEC_VIA=m
0174
0175 config SND_HDA_CODEC_HDMI
0176 tristate "Build HDMI/DisplayPort HD-audio codec support"
0177 select SND_DYNAMIC_MINORS
0178 help
0179 Say Y or M here to include HDMI and DisplayPort HD-audio codec
0180 support in snd-hda-intel driver. This includes all AMD/ATI,
0181 Intel and Nvidia HDMI/DisplayPort codecs.
0182
0183 Note that this option mandatorily enables CONFIG_SND_DYNAMIC_MINORS
0184 to assure the multiple streams for DP-MST support.
0185
0186 comment "Set to Y if you want auto-loading the codec driver"
0187 depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m
0188
0189 config SND_HDA_CODEC_CIRRUS
0190 tristate "Build Cirrus Logic codec support"
0191 select SND_HDA_GENERIC
0192 help
0193 Say Y or M here to include Cirrus Logic codec support in
0194 snd-hda-intel driver, such as CS4206.
0195
0196 comment "Set to Y if you want auto-loading the codec driver"
0197 depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m
0198
0199 config SND_HDA_CODEC_CS8409
0200 tristate "Build Cirrus Logic HDA bridge support"
0201 select SND_HDA_GENERIC
0202 help
0203 Say Y or M here to include Cirrus Logic HDA bridge support in
0204 snd-hda-intel driver, such as CS8409.
0205
0206 comment "Set to Y if you want auto-loading the codec driver"
0207 depends on SND_HDA=y && SND_HDA_CODEC_CS8409=m
0208
0209 config SND_HDA_CODEC_CONEXANT
0210 tristate "Build Conexant HD-audio codec support"
0211 select SND_HDA_GENERIC
0212 select SND_HDA_GENERIC_LEDS
0213 help
0214 Say Y or M here to include Conexant HD-audio codec support in
0215 snd-hda-intel driver, such as CX20549.
0216
0217 comment "Set to Y if you want auto-loading the codec driver"
0218 depends on SND_HDA=y && SND_HDA_CODEC_CONEXANT=m
0219
0220 config SND_HDA_CODEC_CA0110
0221 tristate "Build Creative CA0110-IBG codec support"
0222 select SND_HDA_GENERIC
0223 help
0224 Say Y or M here to include Creative CA0110-IBG codec support in
0225 snd-hda-intel driver, found on some Creative X-Fi cards.
0226
0227 comment "Set to Y if you want auto-loading the codec driver"
0228 depends on SND_HDA=y && SND_HDA_CODEC_CA0110=m
0229
0230 config SND_HDA_CODEC_CA0132
0231 tristate "Build Creative CA0132 codec support"
0232 help
0233 Say Y or M here to include Creative CA0132 codec support in
0234 snd-hda-intel driver.
0235
0236 comment "Set to Y if you want auto-loading the codec driver"
0237 depends on SND_HDA=y && SND_HDA_CODEC_CA0132=m
0238
0239 config SND_HDA_CODEC_CA0132_DSP
0240 bool "Support new DSP code for CA0132 codec"
0241 depends on SND_HDA_CODEC_CA0132
0242 default y
0243 select SND_HDA_DSP_LOADER
0244 select FW_LOADER
0245 help
0246 Say Y here to enable the DSP for Creative CA0132 for extended
0247 features like equalizer or echo cancellation.
0248
0249 Note that this option requires the external firmware file
0250 (ctefx.bin).
0251
0252 config SND_HDA_CODEC_CMEDIA
0253 tristate "Build C-Media HD-audio codec support"
0254 select SND_HDA_GENERIC
0255 help
0256 Say Y or M here to include C-Media HD-audio codec support in
0257 snd-hda-intel driver, such as CMI9880.
0258
0259 comment "Set to Y if you want auto-loading the codec driver"
0260 depends on SND_HDA=y && SND_HDA_CODEC_CMEDIA=m
0261
0262 config SND_HDA_CODEC_SI3054
0263 tristate "Build Silicon Labs 3054 HD-modem codec support"
0264 help
0265 Say Y or M here to include Silicon Labs 3054 HD-modem codec
0266 (and compatibles) support in snd-hda-intel driver.
0267
0268 comment "Set to Y if you want auto-loading the codec driver"
0269 depends on SND_HDA=y && SND_HDA_CODEC_SI3054=m
0270
0271 config SND_HDA_GENERIC
0272 tristate "Enable generic HD-audio codec parser"
0273 select SND_CTL_LED if SND_HDA_GENERIC_LEDS
0274 select LEDS_CLASS if SND_HDA_GENERIC_LEDS
0275 help
0276 Say Y or M here to enable the generic HD-audio codec parser
0277 in snd-hda-intel driver.
0278
0279 comment "Set to Y if you want auto-loading the codec driver"
0280 depends on SND_HDA=y && SND_HDA_GENERIC=m
0281
0282 config SND_HDA_POWER_SAVE_DEFAULT
0283 int "Default time-out for HD-audio power-save mode"
0284 depends on PM
0285 default 0
0286 help
0287 The default time-out value in seconds for HD-audio automatic
0288 power-save mode. 0 means to disable the power-save mode.
0289
0290 config SND_HDA_INTEL_HDMI_SILENT_STREAM
0291 bool "Enable Silent Stream always for HDMI"
0292 depends on SND_HDA_INTEL
0293 help
0294 Say Y to enable HD-Audio Keep Alive (KAE) aka Silent Stream
0295 for HDMI on hardware that supports the feature.
0296
0297 When enabled, the HDMI/DisplayPort codec will continue to provide
0298 a continuous clock and a valid but silent data stream to
0299 any connected external receiver. This allows to avoid gaps
0300 at start of playback. Many receivers require multiple seconds
0301 to start playing audio after the clock has been stopped.
0302 This feature can impact power consumption as resources
0303 are kept reserved both at transmitter and receiver.
0304
0305 endif
0306
0307 endmenu