GNU Linux-libre 5.19-rc6-gnu
[releases.git] / sound / pci / hda / Kconfig
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
97 config SND_HDA_SCODEC_CS35L41_I2C
98         tristate "Build CS35L41 HD-audio side codec support for I2C Bus"
99         depends on I2C
100         depends on ACPI
101         depends on SND_SOC
102         select SND_HDA_GENERIC
103         select SND_SOC_CS35L41_LIB
104         select SND_HDA_SCODEC_CS35L41
105         select REGMAP_IRQ
106         help
107           Say Y or M here to include CS35L41 I2C HD-audio side codec support
108           in snd-hda-intel driver, such as ALC287.
109
110 comment "Set to Y if you want auto-loading the side codec driver"
111         depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_I2C=m
112
113 config SND_HDA_SCODEC_CS35L41_SPI
114         tristate "Build CS35L41 HD-audio codec support for SPI Bus"
115         depends on SPI_MASTER
116         depends on ACPI
117         depends on SND_SOC
118         select SND_HDA_GENERIC
119         select SND_SOC_CS35L41_LIB
120         select SND_HDA_SCODEC_CS35L41
121         select REGMAP_IRQ
122         help
123           Say Y or M here to include CS35L41 SPI HD-audio side codec support
124           in snd-hda-intel driver, such as ALC287.
125
126 comment "Set to Y if you want auto-loading the side codec driver"
127         depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_SPI=m
128
129 config SND_HDA_CODEC_REALTEK
130         tristate "Build Realtek HD-audio codec support"
131         select SND_HDA_GENERIC
132         select SND_HDA_GENERIC_LEDS
133         help
134           Say Y or M here to include Realtek HD-audio codec support in
135           snd-hda-intel driver, such as ALC880.
136
137 comment "Set to Y if you want auto-loading the codec driver"
138         depends on SND_HDA=y && SND_HDA_CODEC_REALTEK=m
139
140 config SND_HDA_CODEC_ANALOG
141         tristate "Build Analog Devices HD-audio codec support"
142         select SND_HDA_GENERIC
143         help
144           Say Y or M here to include Analog Devices HD-audio codec support in
145           snd-hda-intel driver, such as AD1986A.
146
147 comment "Set to Y if you want auto-loading the codec driver"
148         depends on SND_HDA=y && SND_HDA_CODEC_ANALOG=m
149
150 config SND_HDA_CODEC_SIGMATEL
151         tristate "Build IDT/Sigmatel HD-audio codec support"
152         select SND_HDA_GENERIC
153         select SND_HDA_GENERIC_LEDS
154         help
155           Say Y or M here to include IDT (Sigmatel) HD-audio codec support in
156           snd-hda-intel driver, such as STAC9200.
157
158 comment "Set to Y if you want auto-loading the codec driver"
159         depends on SND_HDA=y && SND_HDA_CODEC_SIGMATEL=m
160
161 config SND_HDA_CODEC_VIA
162         tristate "Build VIA HD-audio codec support"
163         select SND_HDA_GENERIC
164         help
165           Say Y or M here to include VIA HD-audio codec support in
166           snd-hda-intel driver, such as VT1708.
167
168 comment "Set to Y if you want auto-loading the codec driver"
169         depends on SND_HDA=y && SND_HDA_CODEC_VIA=m
170
171 config SND_HDA_CODEC_HDMI
172         tristate "Build HDMI/DisplayPort HD-audio codec support"
173         select SND_DYNAMIC_MINORS
174         help
175           Say Y or M here to include HDMI and DisplayPort HD-audio codec
176           support in snd-hda-intel driver.  This includes all AMD/ATI,
177           Intel and Nvidia HDMI/DisplayPort codecs.
178
179           Note that this option mandatorily enables CONFIG_SND_DYNAMIC_MINORS
180           to assure the multiple streams for DP-MST support.
181
182 comment "Set to Y if you want auto-loading the codec driver"
183         depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m
184
185 config SND_HDA_CODEC_CIRRUS
186         tristate "Build Cirrus Logic codec support"
187         select SND_HDA_GENERIC
188         help
189           Say Y or M here to include Cirrus Logic codec support in
190           snd-hda-intel driver, such as CS4206.
191
192 comment "Set to Y if you want auto-loading the codec driver"
193         depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m
194
195 config SND_HDA_CODEC_CS8409
196         tristate "Build Cirrus Logic HDA bridge support"
197         select SND_HDA_GENERIC
198         help
199           Say Y or M here to include Cirrus Logic HDA bridge support in
200           snd-hda-intel driver, such as CS8409.
201
202 comment "Set to Y if you want auto-loading the codec driver"
203         depends on SND_HDA=y && SND_HDA_CODEC_CS8409=m
204
205 config SND_HDA_CODEC_CONEXANT
206         tristate "Build Conexant HD-audio codec support"
207         select SND_HDA_GENERIC
208         select SND_HDA_GENERIC_LEDS
209         help
210           Say Y or M here to include Conexant HD-audio codec support in
211           snd-hda-intel driver, such as CX20549.
212
213 comment "Set to Y if you want auto-loading the codec driver"
214         depends on SND_HDA=y && SND_HDA_CODEC_CONEXANT=m
215
216 config SND_HDA_CODEC_CA0110
217         tristate "Build Creative CA0110-IBG codec support"
218         select SND_HDA_GENERIC
219         help
220           Say Y or M here to include Creative CA0110-IBG codec support in
221           snd-hda-intel driver, found on some Creative X-Fi cards.
222
223 comment "Set to Y if you want auto-loading the codec driver"
224         depends on SND_HDA=y && SND_HDA_CODEC_CA0110=m
225
226 config SND_HDA_CODEC_CA0132
227         tristate "Build Creative CA0132 codec support"
228         help
229           Say Y or M here to include Creative CA0132 codec support in
230           snd-hda-intel driver.
231
232 comment "Set to Y if you want auto-loading the codec driver"
233         depends on SND_HDA=y && SND_HDA_CODEC_CA0132=m
234
235 config SND_HDA_CODEC_CA0132_DSP
236         bool "Support new DSP code for CA0132 codec"
237         depends on SND_HDA_CODEC_CA0132
238         default y
239         select SND_HDA_DSP_LOADER
240         select FW_LOADER
241         help
242           Say Y here to enable the DSP for Creative CA0132 for extended
243           features like equalizer or echo cancellation.
244
245           Note that this option requires the external firmware file
246           (/*(DEBLOBBED)*/).
247
248 config SND_HDA_CODEC_CMEDIA
249         tristate "Build C-Media HD-audio codec support"
250         select SND_HDA_GENERIC
251         help
252           Say Y or M here to include C-Media HD-audio codec support in
253           snd-hda-intel driver, such as CMI9880.
254
255 comment "Set to Y if you want auto-loading the codec driver"
256         depends on SND_HDA=y && SND_HDA_CODEC_CMEDIA=m
257
258 config SND_HDA_CODEC_SI3054
259         tristate "Build Silicon Labs 3054 HD-modem codec support"
260         help
261           Say Y or M here to include Silicon Labs 3054 HD-modem codec
262           (and compatibles) support in snd-hda-intel driver.
263
264 comment "Set to Y if you want auto-loading the codec driver"
265         depends on SND_HDA=y && SND_HDA_CODEC_SI3054=m
266
267 config SND_HDA_GENERIC
268         tristate "Enable generic HD-audio codec parser"
269         select SND_CTL_LED if SND_HDA_GENERIC_LEDS
270         select LEDS_CLASS if SND_HDA_GENERIC_LEDS
271         help
272           Say Y or M here to enable the generic HD-audio codec parser
273           in snd-hda-intel driver.
274
275 comment "Set to Y if you want auto-loading the codec driver"
276         depends on SND_HDA=y && SND_HDA_GENERIC=m
277
278 config SND_HDA_POWER_SAVE_DEFAULT
279         int "Default time-out for HD-audio power-save mode"
280         depends on PM
281         default 0
282         help
283           The default time-out value in seconds for HD-audio automatic
284           power-save mode.  0 means to disable the power-save mode.
285
286 config SND_HDA_INTEL_HDMI_SILENT_STREAM
287         bool "Enable Silent Stream always for HDMI"
288         depends on SND_HDA_INTEL
289         help
290           Say Y to enable HD-Audio Keep Alive (KAE) aka Silent Stream
291           for HDMI on hardware that supports the feature.
292
293           When enabled, the HDMI/DisplayPort codec will continue to provide
294           a continuous clock and a valid but silent data stream to
295           any connected external receiver. This allows to avoid gaps
296           at start of playback. Many receivers require multiple seconds
297           to start playing audio after the clock has been stopped.
298           This feature can impact power consumption as resources
299           are kept reserved both at transmitter and receiver.
300
301 endif
302
303 endmenu