1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "HD-Audio"
3 
4 config SND_HDA
5 	tristate
6 	select SND_PCM
7 	select SND_VMASTER
8 	select SND_JACK
9 	select SND_HDA_CORE
10 
11 config SND_HDA_GENERIC_LEDS
12        bool
13 
14 config SND_HDA_INTEL
15 	tristate "HD Audio PCI"
16 	depends on SND_PCI
17 	select SND_HDA
18 	select SND_INTEL_DSP_CONFIG
19 	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 
29 config SND_HDA_TEGRA
30 	tristate "NVIDIA Tegra HD Audio"
31 	depends on ARCH_TEGRA
32 	select SND_HDA
33 	select SND_HDA_ALIGNED_MMIO
34 	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 
45 if SND_HDA
46 
47 config 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 
55 config SND_HDA_RECONFIG
56 	bool "Allow dynamic codec reconfiguration"
57 	help
58 	  Say Y here to enable the HD-audio codec re-configuration feature.
59 	  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.
66 
67 config SND_HDA_INPUT_BEEP
68 	bool "Support digital beep via input layer"
69 	depends on INPUT=y || INPUT=SND_HDA
70 	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 
74 config SND_HDA_INPUT_BEEP_MODE
75 	int "Digital beep registration mode (0=off, 1=on)"
76 	depends on SND_HDA_INPUT_BEEP=y
77 	default "1"
78 	range 0 1
79 	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
82 	  default.
83 
84 config SND_HDA_PATCH_LOADER
85 	bool "Support initialization patch loading for HD-audio"
86 	select FW_LOADER
87 	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 
94 config SND_HDA_SCODEC_CS35L41
95 	tristate
96 	select SND_HDA_GENERIC
97 	select REGMAP_IRQ
98 
99 config SND_HDA_CS_DSP_CONTROLS
100 	tristate
101 	select FW_CS_DSP
102 
103 config SND_HDA_SCODEC_CS35L41_I2C
104 	tristate "Build CS35L41 HD-audio side codec support for I2C Bus"
105 	depends on I2C
106 	depends on ACPI
107 	depends on SND_SOC
108 	select SND_SOC_CS35L41_LIB
109 	select SND_HDA_SCODEC_CS35L41
110 	select SND_HDA_CS_DSP_CONTROLS
111 	help
112 	  Say Y or M here to include CS35L41 I2C HD-audio side codec support
113 	  in snd-hda-intel driver, such as ALC287.
114 
115 comment "Set to Y if you want auto-loading the side codec driver"
116 	depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_I2C=m
117 
118 config SND_HDA_SCODEC_CS35L41_SPI
119 	tristate "Build CS35L41 HD-audio codec support for SPI Bus"
120 	depends on SPI_MASTER
121 	depends on ACPI
122 	depends on SND_SOC
123 	select SND_SOC_CS35L41_LIB
124 	select SND_HDA_SCODEC_CS35L41
125 	select SND_HDA_CS_DSP_CONTROLS
126 	help
127 	  Say Y or M here to include CS35L41 SPI HD-audio side codec support
128 	  in snd-hda-intel driver, such as ALC287.
129 
130 comment "Set to Y if you want auto-loading the side codec driver"
131 	depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_SPI=m
132 
133 config SND_HDA_CODEC_REALTEK
134 	tristate "Build Realtek HD-audio codec support"
135 	select SND_HDA_GENERIC
136 	select SND_HDA_GENERIC_LEDS
137 	help
138 	  Say Y or M here to include Realtek HD-audio codec support in
139 	  snd-hda-intel driver, such as ALC880.
140 
141 comment "Set to Y if you want auto-loading the codec driver"
142 	depends on SND_HDA=y && SND_HDA_CODEC_REALTEK=m
143 
144 config SND_HDA_CODEC_ANALOG
145 	tristate "Build Analog Devices HD-audio codec support"
146 	select SND_HDA_GENERIC
147 	help
148 	  Say Y or M here to include Analog Devices HD-audio codec support in
149 	  snd-hda-intel driver, such as AD1986A.
150 
151 comment "Set to Y if you want auto-loading the codec driver"
152 	depends on SND_HDA=y && SND_HDA_CODEC_ANALOG=m
153 
154 config SND_HDA_CODEC_SIGMATEL
155 	tristate "Build IDT/Sigmatel HD-audio codec support"
156 	select SND_HDA_GENERIC
157 	select SND_HDA_GENERIC_LEDS
158 	help
159 	  Say Y or M here to include IDT (Sigmatel) HD-audio codec support in
160 	  snd-hda-intel driver, such as STAC9200.
161 
162 comment "Set to Y if you want auto-loading the codec driver"
163 	depends on SND_HDA=y && SND_HDA_CODEC_SIGMATEL=m
164 
165 config SND_HDA_CODEC_VIA
166 	tristate "Build VIA HD-audio codec support"
167 	select SND_HDA_GENERIC
168 	help
169 	  Say Y or M here to include VIA HD-audio codec support in
170 	  snd-hda-intel driver, such as VT1708.
171 
172 comment "Set to Y if you want auto-loading the codec driver"
173 	depends on SND_HDA=y && SND_HDA_CODEC_VIA=m
174 
175 config SND_HDA_CODEC_HDMI
176 	tristate "Build HDMI/DisplayPort HD-audio codec support"
177 	select SND_DYNAMIC_MINORS
178 	help
179 	  Say Y or M here to include HDMI and DisplayPort HD-audio codec
180 	  support in snd-hda-intel driver.  This includes all AMD/ATI,
181 	  Intel and Nvidia HDMI/DisplayPort codecs.
182 
183 	  Note that this option mandatorily enables CONFIG_SND_DYNAMIC_MINORS
184 	  to assure the multiple streams for DP-MST support.
185 
186 comment "Set to Y if you want auto-loading the codec driver"
187 	depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m
188 
189 config SND_HDA_CODEC_CIRRUS
190 	tristate "Build Cirrus Logic codec support"
191 	select SND_HDA_GENERIC
192 	help
193 	  Say Y or M here to include Cirrus Logic codec support in
194 	  snd-hda-intel driver, such as CS4206.
195 
196 comment "Set to Y if you want auto-loading the codec driver"
197 	depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m
198 
199 config SND_HDA_CODEC_CS8409
200 	tristate "Build Cirrus Logic HDA bridge support"
201 	select SND_HDA_GENERIC
202 	help
203 	  Say Y or M here to include Cirrus Logic HDA bridge support in
204 	  snd-hda-intel driver, such as CS8409.
205 
206 comment "Set to Y if you want auto-loading the codec driver"
207 	depends on SND_HDA=y && SND_HDA_CODEC_CS8409=m
208 
209 config SND_HDA_CODEC_CONEXANT
210 	tristate "Build Conexant HD-audio codec support"
211 	select SND_HDA_GENERIC
212 	select SND_HDA_GENERIC_LEDS
213 	help
214 	  Say Y or M here to include Conexant HD-audio codec support in
215 	  snd-hda-intel driver, such as CX20549.
216 
217 comment "Set to Y if you want auto-loading the codec driver"
218 	depends on SND_HDA=y && SND_HDA_CODEC_CONEXANT=m
219 
220 config SND_HDA_CODEC_CA0110
221 	tristate "Build Creative CA0110-IBG codec support"
222 	select SND_HDA_GENERIC
223 	help
224 	  Say Y or M here to include Creative CA0110-IBG codec support in
225 	  snd-hda-intel driver, found on some Creative X-Fi cards.
226 
227 comment "Set to Y if you want auto-loading the codec driver"
228 	depends on SND_HDA=y && SND_HDA_CODEC_CA0110=m
229 
230 config SND_HDA_CODEC_CA0132
231 	tristate "Build Creative CA0132 codec support"
232 	help
233 	  Say Y or M here to include Creative CA0132 codec support in
234 	  snd-hda-intel driver.
235 
236 comment "Set to Y if you want auto-loading the codec driver"
237 	depends on SND_HDA=y && SND_HDA_CODEC_CA0132=m
238 
239 config SND_HDA_CODEC_CA0132_DSP
240 	bool "Support new DSP code for CA0132 codec"
241 	depends on SND_HDA_CODEC_CA0132
242 	default y
243 	select SND_HDA_DSP_LOADER
244 	select FW_LOADER
245 	help
246 	  Say Y here to enable the DSP for Creative CA0132 for extended
247 	  features like equalizer or echo cancellation.
248 
249 	  Note that this option requires the external firmware file
250 	  (ctefx.bin).
251 
252 config SND_HDA_CODEC_CMEDIA
253 	tristate "Build C-Media HD-audio codec support"
254 	select SND_HDA_GENERIC
255 	help
256 	  Say Y or M here to include C-Media HD-audio codec support in
257 	  snd-hda-intel driver, such as CMI9880.
258 
259 comment "Set to Y if you want auto-loading the codec driver"
260 	depends on SND_HDA=y && SND_HDA_CODEC_CMEDIA=m
261 
262 config SND_HDA_CODEC_SI3054
263 	tristate "Build Silicon Labs 3054 HD-modem codec support"
264 	help
265 	  Say Y or M here to include Silicon Labs 3054 HD-modem codec
266 	  (and compatibles) support in snd-hda-intel driver.
267 
268 comment "Set to Y if you want auto-loading the codec driver"
269 	depends on SND_HDA=y && SND_HDA_CODEC_SI3054=m
270 
271 config SND_HDA_GENERIC
272 	tristate "Enable generic HD-audio codec parser"
273 	select SND_CTL_LED if SND_HDA_GENERIC_LEDS
274 	select LEDS_CLASS if SND_HDA_GENERIC_LEDS
275 	help
276 	  Say Y or M here to enable the generic HD-audio codec parser
277 	  in snd-hda-intel driver.
278 
279 comment "Set to Y if you want auto-loading the codec driver"
280 	depends on SND_HDA=y && SND_HDA_GENERIC=m
281 
282 config SND_HDA_POWER_SAVE_DEFAULT
283 	int "Default time-out for HD-audio power-save mode"
284 	depends on PM
285 	default 0
286 	help
287 	  The default time-out value in seconds for HD-audio automatic
288 	  power-save mode.  0 means to disable the power-save mode.
289 
290 config SND_HDA_INTEL_HDMI_SILENT_STREAM
291 	bool "Enable Silent Stream always for HDMI"
292 	depends on SND_HDA_INTEL
293 	help
294 	  Say Y to enable HD-Audio Keep Alive (KAE) aka Silent Stream
295 	  for HDMI on hardware that supports the feature.
296 
297 	  When enabled, the HDMI/DisplayPort codec will continue to provide
298 	  a continuous clock and a valid but silent data stream to
299 	  any connected external receiver. This allows to avoid gaps
300 	  at start of playback. Many receivers require multiple seconds
301 	  to start playing audio after the clock has been stopped.
302 	  This feature can impact power consumption as resources
303 	  are kept reserved both at transmitter and receiver.
304 
305 config SND_HDA_CTL_DEV_ID
306 	bool "Use the device identifier field for controls"
307 	depends on SND_HDA_INTEL
308 	help
309 	  Say Y to use the device identifier field for (mixer)
310 	  controls (old behaviour until this option is available).
311 
312 	  When enabled, the multiple HDA codecs may set the device
313 	  field in control (mixer) element identifiers. The use
314 	  of this field is not recommended and defined for mixer controls.
315 
316 	  The old behaviour (Y) is obsolete and will be removed. Consider
317 	  to not enable this option.
318 
319 endif
320 
321 endmenu
322