blob: 90759391cbac826b81bf5d5242b92dc0a3aaeeb5 [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
Takashi Iwai11b444d2008-11-21 09:32:40 +010094config SND_HDA_CODEC_REALTEK
Takashi Iwai595fe1b2013-12-18 07:35:11 +010095 tristate "Build Realtek HD-audio codec support"
Takashi Iwai08c189f2012-12-19 15:22:24 +010096 select SND_HDA_GENERIC
Takashi Iwai7cdf8c42020-06-18 13:08:31 +020097 select SND_HDA_GENERIC_LEDS
Takashi Iwai11b444d2008-11-21 09:32:40 +010098 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +010099 Say Y or M here to include Realtek HD-audio codec support in
Takashi Iwai11b444d2008-11-21 09:32:40 +0100100 snd-hda-intel driver, such as ALC880.
101
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100102comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800103 depends on SND_HDA=y && SND_HDA_CODEC_REALTEK=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100104
Takashi Iwai11b444d2008-11-21 09:32:40 +0100105config SND_HDA_CODEC_ANALOG
Geert Uytterhoevenaa08ff02020-04-16 12:30:57 +0200106 tristate "Build Analog Devices HD-audio codec support"
Takashi Iwai78bb3cb2012-12-21 15:17:06 +0100107 select SND_HDA_GENERIC
Takashi Iwai11b444d2008-11-21 09:32:40 +0100108 help
Geert Uytterhoevenaa08ff02020-04-16 12:30:57 +0200109 Say Y or M here to include Analog Devices HD-audio codec support in
Takashi Iwai11b444d2008-11-21 09:32:40 +0100110 snd-hda-intel driver, such as AD1986A.
111
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100112comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800113 depends on SND_HDA=y && SND_HDA_CODEC_ANALOG=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100114
Takashi Iwai11b444d2008-11-21 09:32:40 +0100115config SND_HDA_CODEC_SIGMATEL
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100116 tristate "Build IDT/Sigmatel HD-audio codec support"
Takashi Iwai36c9db72013-01-17 17:07:59 +0100117 select SND_HDA_GENERIC
Takashi Iwai7cdf8c42020-06-18 13:08:31 +0200118 select SND_HDA_GENERIC_LEDS
Takashi Iwai11b444d2008-11-21 09:32:40 +0100119 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100120 Say Y or M here to include IDT (Sigmatel) HD-audio codec support in
Takashi Iwai11b444d2008-11-21 09:32:40 +0100121 snd-hda-intel driver, such as STAC9200.
122
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100123comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800124 depends on SND_HDA=y && SND_HDA_CODEC_SIGMATEL=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100125
Takashi Iwai11b444d2008-11-21 09:32:40 +0100126config SND_HDA_CODEC_VIA
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100127 tristate "Build VIA HD-audio codec support"
Takashi Iwaib3f60082013-01-07 12:27:36 +0100128 select SND_HDA_GENERIC
Takashi Iwai11b444d2008-11-21 09:32:40 +0100129 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100130 Say Y or M here to include VIA HD-audio codec support in
Takashi Iwai11b444d2008-11-21 09:32:40 +0100131 snd-hda-intel driver, such as VT1708.
132
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100133comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800134 depends on SND_HDA=y && SND_HDA_CODEC_VIA=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100135
Takashi Iwai84eb01b2010-09-07 12:27:25 +0200136config SND_HDA_CODEC_HDMI
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100137 tristate "Build HDMI/DisplayPort HD-audio codec support"
Takashi Iwaif4a414a2018-05-02 09:03:26 +0200138 select SND_DYNAMIC_MINORS
Takashi Iwai11b444d2008-11-21 09:32:40 +0100139 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100140 Say Y or M here to include HDMI and DisplayPort HD-audio codec
Takashi Iwai84eb01b2010-09-07 12:27:25 +0200141 support in snd-hda-intel driver. This includes all AMD/ATI,
142 Intel and Nvidia HDMI/DisplayPort codecs.
Takashi Iwai11b444d2008-11-21 09:32:40 +0100143
Takashi Iwaif4a414a2018-05-02 09:03:26 +0200144 Note that this option mandatorily enables CONFIG_SND_DYNAMIC_MINORS
145 to assure the multiple streams for DP-MST support.
146
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100147comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800148 depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100149
Takashi Iwaie5f14242009-07-01 18:11:44 +0200150config SND_HDA_CODEC_CIRRUS
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100151 tristate "Build Cirrus Logic codec support"
Takashi Iwai1077a022012-12-19 16:39:18 +0100152 select SND_HDA_GENERIC
Takashi Iwaie5f14242009-07-01 18:11:44 +0200153 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100154 Say Y or M here to include Cirrus Logic codec support in
Takashi Iwaie5f14242009-07-01 18:11:44 +0200155 snd-hda-intel driver, such as CS4206.
156
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100157comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800158 depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100159
Takashi Iwai11b444d2008-11-21 09:32:40 +0100160config SND_HDA_CODEC_CONEXANT
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100161 tristate "Build Conexant HD-audio codec support"
Takashi Iwaiaed523f2012-12-20 16:34:12 +0100162 select SND_HDA_GENERIC
Takashi Iwai7cdf8c42020-06-18 13:08:31 +0200163 select SND_HDA_GENERIC_LEDS
Takashi Iwai11b444d2008-11-21 09:32:40 +0100164 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100165 Say Y or M here to include Conexant HD-audio codec support in
Takashi Iwai11b444d2008-11-21 09:32:40 +0100166 snd-hda-intel driver, such as CX20549.
167
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100168comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800169 depends on SND_HDA=y && SND_HDA_CODEC_CONEXANT=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100170
Takashi Iwai4e01f542009-04-16 08:53:34 +0200171config SND_HDA_CODEC_CA0110
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100172 tristate "Build Creative CA0110-IBG codec support"
Takashi Iwai8fadf1d2012-12-19 18:04:37 +0100173 select SND_HDA_GENERIC
Takashi Iwai4e01f542009-04-16 08:53:34 +0200174 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100175 Say Y or M here to include Creative CA0110-IBG codec support in
Takashi Iwai4e01f542009-04-16 08:53:34 +0200176 snd-hda-intel driver, found on some Creative X-Fi cards.
177
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100178comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800179 depends on SND_HDA=y && SND_HDA_CODEC_CA0110=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100180
Ian Minett95c6e9c2011-06-15 15:35:17 -0700181config SND_HDA_CODEC_CA0132
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100182 tristate "Build Creative CA0132 codec support"
Ian Minett95c6e9c2011-06-15 15:35:17 -0700183 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100184 Say Y or M here to include Creative CA0132 codec support in
Ian Minett95c6e9c2011-06-15 15:35:17 -0700185 snd-hda-intel driver.
186
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100187comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800188 depends on SND_HDA=y && SND_HDA_CODEC_CA0132=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100189
Takashi Iwai24f3ced2013-02-04 18:25:51 +0100190config SND_HDA_CODEC_CA0132_DSP
191 bool "Support new DSP code for CA0132 codec"
Takashi Iwai2c312e92013-11-18 17:12:34 +0100192 depends on SND_HDA_CODEC_CA0132
Rouven Czerwinski652bb5d2020-03-29 07:30:15 +0200193 default y
Takashi Iwai24f3ced2013-02-04 18:25:51 +0100194 select SND_HDA_DSP_LOADER
Takashi Iwai2c312e92013-11-18 17:12:34 +0100195 select FW_LOADER
Takashi Iwai24f3ced2013-02-04 18:25:51 +0100196 help
197 Say Y here to enable the DSP for Creative CA0132 for extended
198 features like equalizer or echo cancellation.
199
200 Note that this option requires the external firmware file
201 (ctefx.bin).
202
Takashi Iwai11b444d2008-11-21 09:32:40 +0100203config SND_HDA_CODEC_CMEDIA
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100204 tristate "Build C-Media HD-audio codec support"
Takashi Iwaib060fb02012-12-19 17:35:47 +0100205 select SND_HDA_GENERIC
Takashi Iwai11b444d2008-11-21 09:32:40 +0100206 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100207 Say Y or M here to include C-Media HD-audio codec support in
Takashi Iwai11b444d2008-11-21 09:32:40 +0100208 snd-hda-intel driver, such as CMI9880.
209
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100210comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800211 depends on SND_HDA=y && SND_HDA_CODEC_CMEDIA=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100212
Takashi Iwai11b444d2008-11-21 09:32:40 +0100213config SND_HDA_CODEC_SI3054
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100214 tristate "Build Silicon Labs 3054 HD-modem codec support"
Takashi Iwai11b444d2008-11-21 09:32:40 +0100215 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100216 Say Y or M here to include Silicon Labs 3054 HD-modem codec
Takashi Iwai11b444d2008-11-21 09:32:40 +0100217 (and compatibles) support in snd-hda-intel driver.
218
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100219comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800220 depends on SND_HDA=y && SND_HDA_CODEC_SI3054=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100221
Takashi Iwai11b444d2008-11-21 09:32:40 +0100222config SND_HDA_GENERIC
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100223 tristate "Enable generic HD-audio codec parser"
Randy Dunlapd7775872020-07-01 14:08:23 -0700224 select NEW_LEDS if SND_HDA_GENERIC_LEDS
Takashi Iwai7cdf8c42020-06-18 13:08:31 +0200225 select LEDS_CLASS if SND_HDA_GENERIC_LEDS
226 select LEDS_TRIGGERS if SND_HDA_GENERIC_LEDS
227 select LEDS_TRIGGER_AUDIO if SND_HDA_GENERIC_LEDS
Takashi Iwai11b444d2008-11-21 09:32:40 +0100228 help
Takashi Iwai595fe1b2013-12-18 07:35:11 +0100229 Say Y or M here to enable the generic HD-audio codec parser
Takashi Iwai11b444d2008-11-21 09:32:40 +0100230 in snd-hda-intel driver.
231
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100232comment "Set to Y if you want auto-loading the codec driver"
Dylan Reid78e34f32014-02-28 15:41:32 -0800233 depends on SND_HDA=y && SND_HDA_GENERIC=m
Takashi Iwaid8f66c72013-12-19 15:09:14 +0100234
Takashi Iwai11b444d2008-11-21 09:32:40 +0100235config SND_HDA_POWER_SAVE_DEFAULT
236 int "Default time-out for HD-audio power-save mode"
Takashi Iwai83012a72012-08-24 18:38:08 +0200237 depends on PM
Takashi Iwai11b444d2008-11-21 09:32:40 +0100238 default 0
239 help
240 The default time-out value in seconds for HD-audio automatic
241 power-save mode. 0 means to disable the power-save mode.
242
Harsha Priya951894c2020-07-06 13:53:17 -0700243config SND_HDA_INTEL_HDMI_SILENT_STREAM
244 bool "Enable Silent Stream always for HDMI"
245 depends on SND_HDA_INTEL
246 help
247 Intel hardware has a feature called 'silent stream', that
248 keeps external HDMI receiver's analog circuitry powered on
249 avoiding 2-3 sec silence during playback start. This mechanism
250 relies on setting channel_id as 0xf, sending info packet and
251 preventing codec D3 entry (increasing platform static power
252 consumption when HDMI receiver is plugged-in). 2-3 sec silence
253 at the playback start is expected whenever there is format change.
254 (default is 2 channel format).
255 Say Y to enable Silent Stream feature.
256
Takashi Iwai11b444d2008-11-21 09:32:40 +0100257endif
Dylan Reid78e34f32014-02-28 15:41:32 -0800258
259endmenu