blob: 9f6c99c1d87b4a343c05d2c2a589d1b60e675bf1 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Dylan Reid78e34f32014-02-28 15:41:32 -08002menu "HD-Audio"
3
4config SND_HDA
5 tristate
Takashi Iwai11b444d2008-11-21 09:32:40 +01006 select SND_PCM
7 select SND_VMASTER
Takashi Iwaife0d1282016-02-17 09:44:25 +01008 select SND_JACK
Takashi Iwaie3d280f2015-02-17 21:46:37 +01009 select SND_HDA_CORE
Dylan Reid78e34f32014-02-28 15:41:32 -080010
Takashi Iwai7cdf8c42020-06-18 13:08:31 +020011config SND_HDA_GENERIC_LEDS
12 bool
13
Dylan Reid78e34f32014-02-28 15:41:32 -080014config SND_HDA_INTEL
15 tristate "HD Audio PCI"
16 depends on SND_PCI
17 select SND_HDA
Jaroslav Kysela82d9d542019-10-22 19:43:12 +020018 select SND_INTEL_DSP_CONFIG
Takashi Iwai11b444d2008-11-21 09:32:40 +010019 help
20 Say Y here to include support for Intel "High Definition
21 Audio" (Azalia) and its compatible devices.
22
23 This option enables the HD-audio controller. Don't forget
24 to choose the appropriate codec options below.
25
26 To compile this driver as a module, choose M here: the module
27 will be called snd-hda-intel.
28
Dylan Reid3c320f32014-05-19 19:18:27 -070029config SND_HDA_TEGRA
30 tristate "NVIDIA Tegra HD Audio"
31 depends on ARCH_TEGRA
32 select SND_HDA
Takashi Iwai19abfef2019-08-07 20:32:08 +020033 select SND_HDA_ALIGNED_MMIO
Dylan Reid3c320f32014-05-19 19:18:27 -070034 help
35 Say Y here to support the HDA controller present in NVIDIA
36 Tegra SoCs
37
38 This options enables support for the HD Audio controller
39 present in some NVIDIA Tegra SoCs, used to communicate audio
40 to the HDMI output.
41
42 To compile this driver as a module, choose M here: the module
43 will be called snd-hda-tegra.
44
Dylan Reid78e34f32014-02-28 15:41:32 -080045if SND_HDA
Takashi Iwai11b444d2008-11-21 09:32:40 +010046
47config SND_HDA_HWDEP
48 bool "Build hwdep interface for HD-audio driver"
49 select SND_HWDEP
50 help
51 Say Y here to build a hwdep interface for HD-audio driver.
52 This interface can be used for out-of-band communication
53 with codecs for debugging purposes.
54
55config SND_HDA_RECONFIG
Kees Cook0b1714a2012-10-23 13:04:22 -070056 bool "Allow dynamic codec reconfiguration"
Takashi Iwai11b444d2008-11-21 09:32:40 +010057 help
58 Say Y here to enable the HD-audio codec re-configuration feature.
Takashi Iwai39f0ccd2016-05-09 17:47:37 +020059 It allows user to clear the whole codec configuration, change the
60 codec setup, add extra verbs, and re-configure the codec dynamically.
61
62 Note that this item alone doesn't provide the sysfs interface, but
63 enables the feature just for the patch loader below.
64 If you need the traditional sysfs entries for the manual interaction,
65 turn on CONFIG_SND_HDA_HWDEP as well.
Takashi Iwai11b444d2008-11-21 09:32:40 +010066
67config SND_HDA_INPUT_BEEP
68 bool "Support digital beep via input layer"
Dylan Reid78e34f32014-02-28 15:41:32 -080069 depends on INPUT=y || INPUT=SND_HDA
Takashi Iwai11b444d2008-11-21 09:32:40 +010070 help
71 Say Y here to build a digital beep interface for HD-audio
72 driver. This interface is used to generate digital beeps.
73
Jaroslav Kysela2dca0bb2009-11-13 18:41:52 +010074config SND_HDA_INPUT_BEEP_MODE
Takashi Iwai0920c9b2012-07-03 16:58:48 +020075 int "Digital beep registration mode (0=off, 1=on)"
Jaroslav Kysela2dca0bb2009-11-13 18:41:52 +010076 depends on SND_HDA_INPUT_BEEP=y
77 default "1"
Takashi Iwai0920c9b2012-07-03 16:58:48 +020078 range 0 1
Jaroslav Kysela2dca0bb2009-11-13 18:41:52 +010079 help
80 Set 0 to disable the digital beep interface for HD-audio by default.
81 Set 1 to always enable the digital beep interface for HD-audio by
Takashi Iwai0920c9b2012-07-03 16:58:48 +020082 default.
Jaroslav Kysela2dca0bb2009-11-13 18:41:52 +010083
Takashi Iwai4ea6fbc2009-06-17 09:52:54 +020084config SND_HDA_PATCH_LOADER
85 bool "Support initialization patch loading for HD-audio"
Takashi Iwai4ea6fbc2009-06-17 09:52:54 +020086 select FW_LOADER
Takashi Iwai4ea6fbc2009-06-17 09:52:54 +020087 select SND_HDA_RECONFIG
88 help
89 Say Y here to allow the HD-audio driver to load a pseudo
90 firmware file ("patch") for overriding the BIOS setup at
91 start up. The "patch" file can be specified via patch module
92 option, such as patch=hda-init.
93
Lucas Tanure7b2f3eb2021-12-17 11:57:05 +000094config SND_HDA_SCODEC_CS35L41
95 tristate
96
97config SND_HDA_SCODEC_CS35L41_I2C
98 tristate "Build CS35L41 HD-audio side codec support for I2C Bus"
Takashi Iwai2e88c6a2022-01-09 09:13:37 +010099 depends on I2C
Lucas Tanure7b2f3eb2021-12-17 11:57:05 +0000100 depends on ACPI
Takashi Iwai3e451802022-01-07 10:26:47 +0100101 depends on SND_SOC
Lucas Tanure7b2f3eb2021-12-17 11:57:05 +0000102 select SND_HDA_GENERIC
103 select SND_SOC_CS35L41_LIB
104 select SND_HDA_SCODEC_CS35L41
105 help
106 Say Y or M here to include CS35L41 I2C HD-audio side codec support
107 in snd-hda-intel driver, such as ALC287.
108
109comment "Set to Y if you want auto-loading the side codec driver"
110 depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_I2C=m
111
112config SND_HDA_SCODEC_CS35L41_SPI
113 tristate "Build CS35L41 HD-audio codec support for SPI Bus"
Takashi Iwai2e88c6a2022-01-09 09:13:37 +0100114 depends on SPI_MASTER
Lucas Tanure7b2f3eb2021-12-17 11:57:05 +0000115 depends on ACPI
Takashi Iwai3e451802022-01-07 10:26:47 +0100116 depends on SND_SOC
Lucas Tanure7b2f3eb2021-12-17 11:57:05 +0000117 select SND_HDA_GENERIC
118 select SND_SOC_CS35L41_LIB
119 select SND_HDA_SCODEC_CS35L41
120 help
121 Say Y or M here to include CS35L41 SPI HD-audio side codec support
122 in snd-hda-intel driver, such as ALC287.
123
124comment "Set to Y if you want auto-loading the side codec driver"
125 depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_SPI=m
126
Takashi Iwai11b444d2008-11-21 09:32:40 +0100127config SND_HDA_CODEC_REALTEK
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100128 tristate "Build Realtek HD-audio codec support"
Takashi Iwai08c189f2012-12-19 15:22:24 +0100129 select SND_HDA_GENERIC
Takashi Iwai7cdf8c42020-06-18 13:08:31 +0200130 select SND_HDA_GENERIC_LEDS
Takashi Iwai11b444d2008-11-21 09:32:40 +0100131 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100132 Say Y or M here to include Realtek HD-audio codec support in
Takashi Iwai11b444d2008-11-21 09:32:40 +0100133 snd-hda-intel driver, such as ALC880.
134
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100135comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800136 depends on SND_HDA=y && SND_HDA_CODEC_REALTEK=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100137
Takashi Iwai11b444d2008-11-21 09:32:40 +0100138config SND_HDA_CODEC_ANALOG
Geert Uytterhoevenaa08ff02020-04-16 12:30:57 +0200139 tristate "Build Analog Devices HD-audio codec support"
Takashi Iwai78bb3cb2012-12-21 15:17:06 +0100140 select SND_HDA_GENERIC
Takashi Iwai11b444d2008-11-21 09:32:40 +0100141 help
Geert Uytterhoevenaa08ff02020-04-16 12:30:57 +0200142 Say Y or M here to include Analog Devices HD-audio codec support in
Takashi Iwai11b444d2008-11-21 09:32:40 +0100143 snd-hda-intel driver, such as AD1986A.
144
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100145comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800146 depends on SND_HDA=y && SND_HDA_CODEC_ANALOG=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100147
Takashi Iwai11b444d2008-11-21 09:32:40 +0100148config SND_HDA_CODEC_SIGMATEL
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100149 tristate "Build IDT/Sigmatel HD-audio codec support"
Takashi Iwai36c9db72013-01-17 17:07:59 +0100150 select SND_HDA_GENERIC
Takashi Iwai7cdf8c42020-06-18 13:08:31 +0200151 select SND_HDA_GENERIC_LEDS
Takashi Iwai11b444d2008-11-21 09:32:40 +0100152 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100153 Say Y or M here to include IDT (Sigmatel) HD-audio codec support in
Takashi Iwai11b444d2008-11-21 09:32:40 +0100154 snd-hda-intel driver, such as STAC9200.
155
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100156comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800157 depends on SND_HDA=y && SND_HDA_CODEC_SIGMATEL=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100158
Takashi Iwai11b444d2008-11-21 09:32:40 +0100159config SND_HDA_CODEC_VIA
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100160 tristate "Build VIA HD-audio codec support"
Takashi Iwaib3f60082013-01-07 12:27:36 +0100161 select SND_HDA_GENERIC
Takashi Iwai11b444d2008-11-21 09:32:40 +0100162 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100163 Say Y or M here to include VIA HD-audio codec support in
Takashi Iwai11b444d2008-11-21 09:32:40 +0100164 snd-hda-intel driver, such as VT1708.
165
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100166comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800167 depends on SND_HDA=y && SND_HDA_CODEC_VIA=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100168
Takashi Iwai84eb01b2010-09-07 12:27:25 +0200169config SND_HDA_CODEC_HDMI
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100170 tristate "Build HDMI/DisplayPort HD-audio codec support"
Takashi Iwaif4a414a2018-05-02 09:03:26 +0200171 select SND_DYNAMIC_MINORS
Takashi Iwai11b444d2008-11-21 09:32:40 +0100172 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100173 Say Y or M here to include HDMI and DisplayPort HD-audio codec
Takashi Iwai84eb01b2010-09-07 12:27:25 +0200174 support in snd-hda-intel driver. This includes all AMD/ATI,
175 Intel and Nvidia HDMI/DisplayPort codecs.
Takashi Iwai11b444d2008-11-21 09:32:40 +0100176
Takashi Iwaif4a414a2018-05-02 09:03:26 +0200177 Note that this option mandatorily enables CONFIG_SND_DYNAMIC_MINORS
178 to assure the multiple streams for DP-MST support.
179
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100180comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800181 depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100182
Takashi Iwaie5f14242009-07-01 18:11:44 +0200183config SND_HDA_CODEC_CIRRUS
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100184 tristate "Build Cirrus Logic codec support"
Takashi Iwai1077a022012-12-19 16:39:18 +0100185 select SND_HDA_GENERIC
Takashi Iwaie5f14242009-07-01 18:11:44 +0200186 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100187 Say Y or M here to include Cirrus Logic codec support in
Takashi Iwaie5f14242009-07-01 18:11:44 +0200188 snd-hda-intel driver, such as CS4206.
189
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100190comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800191 depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100192
Lucas Tanure8c704612021-08-11 19:56:28 +0100193config SND_HDA_CODEC_CS8409
194 tristate "Build Cirrus Logic HDA bridge support"
195 select SND_HDA_GENERIC
196 help
197 Say Y or M here to include Cirrus Logic HDA bridge support in
198 snd-hda-intel driver, such as CS8409.
199
200comment "Set to Y if you want auto-loading the codec driver"
201 depends on SND_HDA=y && SND_HDA_CODEC_CS8409=m
202
Takashi Iwai11b444d2008-11-21 09:32:40 +0100203config SND_HDA_CODEC_CONEXANT
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100204 tristate "Build Conexant HD-audio codec support"
Takashi Iwaiaed523f2012-12-20 16:34:12 +0100205 select SND_HDA_GENERIC
Takashi Iwai7cdf8c42020-06-18 13:08:31 +0200206 select SND_HDA_GENERIC_LEDS
Takashi Iwai11b444d2008-11-21 09:32:40 +0100207 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100208 Say Y or M here to include Conexant HD-audio codec support in
Takashi Iwai11b444d2008-11-21 09:32:40 +0100209 snd-hda-intel driver, such as CX20549.
210
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100211comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800212 depends on SND_HDA=y && SND_HDA_CODEC_CONEXANT=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100213
Takashi Iwai4e01f542009-04-16 08:53:34 +0200214config SND_HDA_CODEC_CA0110
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100215 tristate "Build Creative CA0110-IBG codec support"
Takashi Iwai8fadf1d2012-12-19 18:04:37 +0100216 select SND_HDA_GENERIC
Takashi Iwai4e01f542009-04-16 08:53:34 +0200217 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100218 Say Y or M here to include Creative CA0110-IBG codec support in
Takashi Iwai4e01f542009-04-16 08:53:34 +0200219 snd-hda-intel driver, found on some Creative X-Fi cards.
220
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100221comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800222 depends on SND_HDA=y && SND_HDA_CODEC_CA0110=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100223
Ian Minett95c6e9c2011-06-15 15:35:17 -0700224config SND_HDA_CODEC_CA0132
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100225 tristate "Build Creative CA0132 codec support"
Ian Minett95c6e9c2011-06-15 15:35:17 -0700226 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100227 Say Y or M here to include Creative CA0132 codec support in
Ian Minett95c6e9c2011-06-15 15:35:17 -0700228 snd-hda-intel driver.
229
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100230comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800231 depends on SND_HDA=y && SND_HDA_CODEC_CA0132=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100232
Takashi Iwai24f3ced2013-02-04 18:25:51 +0100233config SND_HDA_CODEC_CA0132_DSP
234 bool "Support new DSP code for CA0132 codec"
Takashi Iwai2c312e92013-11-18 17:12:34 +0100235 depends on SND_HDA_CODEC_CA0132
Rouven Czerwinski652bb5d2020-03-29 07:30:15 +0200236 default y
Takashi Iwai24f3ced2013-02-04 18:25:51 +0100237 select SND_HDA_DSP_LOADER
Takashi Iwai2c312e92013-11-18 17:12:34 +0100238 select FW_LOADER
Takashi Iwai24f3ced2013-02-04 18:25:51 +0100239 help
240 Say Y here to enable the DSP for Creative CA0132 for extended
241 features like equalizer or echo cancellation.
242
243 Note that this option requires the external firmware file
244 (ctefx.bin).
245
Takashi Iwai11b444d2008-11-21 09:32:40 +0100246config SND_HDA_CODEC_CMEDIA
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100247 tristate "Build C-Media HD-audio codec support"
Takashi Iwaib060fb02012-12-19 17:35:47 +0100248 select SND_HDA_GENERIC
Takashi Iwai11b444d2008-11-21 09:32:40 +0100249 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100250 Say Y or M here to include C-Media HD-audio codec support in
Takashi Iwai11b444d2008-11-21 09:32:40 +0100251 snd-hda-intel driver, such as CMI9880.
252
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100253comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800254 depends on SND_HDA=y && SND_HDA_CODEC_CMEDIA=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100255
Takashi Iwai11b444d2008-11-21 09:32:40 +0100256config SND_HDA_CODEC_SI3054
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100257 tristate "Build Silicon Labs 3054 HD-modem codec support"
Takashi Iwai11b444d2008-11-21 09:32:40 +0100258 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100259 Say Y or M here to include Silicon Labs 3054 HD-modem codec
Takashi Iwai11b444d2008-11-21 09:32:40 +0100260 (and compatibles) support in snd-hda-intel driver.
261
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100262comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800263 depends on SND_HDA=y && SND_HDA_CODEC_SI3054=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100264
Takashi Iwai11b444d2008-11-21 09:32:40 +0100265config SND_HDA_GENERIC
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100266 tristate "Enable generic HD-audio codec parser"
Jaroslav Kyselae65bf992021-03-17 18:29:43 +0100267 select SND_CTL_LED if SND_HDA_GENERIC_LEDS
Takashi Iwai7cdf8c42020-06-18 13:08:31 +0200268 select LEDS_CLASS if SND_HDA_GENERIC_LEDS
Takashi Iwai11b444d2008-11-21 09:32:40 +0100269 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100270 Say Y or M here to enable the generic HD-audio codec parser
Takashi Iwai11b444d2008-11-21 09:32:40 +0100271 in snd-hda-intel driver.
272
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100273comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800274 depends on SND_HDA=y && SND_HDA_GENERIC=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100275
Takashi Iwai11b444d2008-11-21 09:32:40 +0100276config SND_HDA_POWER_SAVE_DEFAULT
277 int "Default time-out for HD-audio power-save mode"
Takashi Iwai83012a72012-08-24 18:38:08 +0200278 depends on PM
Takashi Iwai11b444d2008-11-21 09:32:40 +0100279 default 0
280 help
281 The default time-out value in seconds for HD-audio automatic
282 power-save mode. 0 means to disable the power-save mode.
283
Harsha Priya951894c2020-07-06 13:53:17 -0700284config SND_HDA_INTEL_HDMI_SILENT_STREAM
285 bool "Enable Silent Stream always for HDMI"
286 depends on SND_HDA_INTEL
287 help
Kai Vehmanen15175a42022-02-16 19:24:05 +0200288 Say Y to enable HD-Audio Keep Alive (KAE) aka Silent Stream
289 for HDMI on hardware that supports the feature.
290
291 When enabled, the HDMI/DisplayPort codec will continue to provide
292 a continuous clock and a valid but silent data stream to
293 any connected external receiver. This allows to avoid gaps
294 at start of playback. Many receivers require multiple seconds
295 to start playing audio after the clock has been stopped.
296 This feature can impact power consumption as resources
297 are kept reserved both at transmitter and receiver.
Harsha Priya951894c2020-07-06 13:53:17 -0700298
Takashi Iwai11b444d2008-11-21 09:32:40 +0100299endif
Dylan Reid78e34f32014-02-28 15:41:32 -0800300
301endmenu