xref: /OK3568_Linux_fs/kernel/sound/pci/hda/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyunmenu "HD-Audio"
3*4882a593Smuzhiyun
4*4882a593Smuzhiyunconfig SND_HDA
5*4882a593Smuzhiyun	tristate
6*4882a593Smuzhiyun	select SND_PCM
7*4882a593Smuzhiyun	select SND_VMASTER
8*4882a593Smuzhiyun	select SND_JACK
9*4882a593Smuzhiyun	select SND_HDA_CORE
10*4882a593Smuzhiyun
11*4882a593Smuzhiyunconfig SND_HDA_GENERIC_LEDS
12*4882a593Smuzhiyun       bool
13*4882a593Smuzhiyun
14*4882a593Smuzhiyunconfig SND_HDA_INTEL
15*4882a593Smuzhiyun	tristate "HD Audio PCI"
16*4882a593Smuzhiyun	depends on SND_PCI
17*4882a593Smuzhiyun	select SND_HDA
18*4882a593Smuzhiyun	select SND_INTEL_DSP_CONFIG
19*4882a593Smuzhiyun	help
20*4882a593Smuzhiyun	  Say Y here to include support for Intel "High Definition
21*4882a593Smuzhiyun	  Audio" (Azalia) and its compatible devices.
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun	  This option enables the HD-audio controller.  Don't forget
24*4882a593Smuzhiyun	  to choose the appropriate codec options below.
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module
27*4882a593Smuzhiyun	  will be called snd-hda-intel.
28*4882a593Smuzhiyun
29*4882a593Smuzhiyunconfig SND_HDA_TEGRA
30*4882a593Smuzhiyun	tristate "NVIDIA Tegra HD Audio"
31*4882a593Smuzhiyun	depends on ARCH_TEGRA
32*4882a593Smuzhiyun	select SND_HDA
33*4882a593Smuzhiyun	select SND_HDA_ALIGNED_MMIO
34*4882a593Smuzhiyun	help
35*4882a593Smuzhiyun	  Say Y here to support the HDA controller present in NVIDIA
36*4882a593Smuzhiyun	  Tegra SoCs
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun	  This options enables support for the HD Audio controller
39*4882a593Smuzhiyun	  present in some NVIDIA Tegra SoCs, used to communicate audio
40*4882a593Smuzhiyun	  to the HDMI output.
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module
43*4882a593Smuzhiyun	  will be called snd-hda-tegra.
44*4882a593Smuzhiyun
45*4882a593Smuzhiyunif SND_HDA
46*4882a593Smuzhiyun
47*4882a593Smuzhiyunconfig SND_HDA_HWDEP
48*4882a593Smuzhiyun	bool "Build hwdep interface for HD-audio driver"
49*4882a593Smuzhiyun	select SND_HWDEP
50*4882a593Smuzhiyun	help
51*4882a593Smuzhiyun	  Say Y here to build a hwdep interface for HD-audio driver.
52*4882a593Smuzhiyun	  This interface can be used for out-of-band communication
53*4882a593Smuzhiyun	  with codecs for debugging purposes.
54*4882a593Smuzhiyun
55*4882a593Smuzhiyunconfig SND_HDA_RECONFIG
56*4882a593Smuzhiyun	bool "Allow dynamic codec reconfiguration"
57*4882a593Smuzhiyun	help
58*4882a593Smuzhiyun	  Say Y here to enable the HD-audio codec re-configuration feature.
59*4882a593Smuzhiyun	  It allows user to clear the whole codec configuration, change the
60*4882a593Smuzhiyun	  codec setup, add extra verbs, and re-configure the codec dynamically.
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun	  Note that this item alone doesn't provide the sysfs interface, but
63*4882a593Smuzhiyun	  enables the feature just for the patch loader below.
64*4882a593Smuzhiyun	  If you need the traditional sysfs entries for the manual interaction,
65*4882a593Smuzhiyun	  turn on CONFIG_SND_HDA_HWDEP as well.
66*4882a593Smuzhiyun
67*4882a593Smuzhiyunconfig SND_HDA_INPUT_BEEP
68*4882a593Smuzhiyun	bool "Support digital beep via input layer"
69*4882a593Smuzhiyun	depends on INPUT=y || INPUT=SND_HDA
70*4882a593Smuzhiyun	help
71*4882a593Smuzhiyun	  Say Y here to build a digital beep interface for HD-audio
72*4882a593Smuzhiyun	  driver. This interface is used to generate digital beeps.
73*4882a593Smuzhiyun
74*4882a593Smuzhiyunconfig SND_HDA_INPUT_BEEP_MODE
75*4882a593Smuzhiyun	int "Digital beep registration mode (0=off, 1=on)"
76*4882a593Smuzhiyun	depends on SND_HDA_INPUT_BEEP=y
77*4882a593Smuzhiyun	default "1"
78*4882a593Smuzhiyun	range 0 1
79*4882a593Smuzhiyun	help
80*4882a593Smuzhiyun	  Set 0 to disable the digital beep interface for HD-audio by default.
81*4882a593Smuzhiyun	  Set 1 to always enable the digital beep interface for HD-audio by
82*4882a593Smuzhiyun	  default.
83*4882a593Smuzhiyun
84*4882a593Smuzhiyunconfig SND_HDA_PATCH_LOADER
85*4882a593Smuzhiyun	bool "Support initialization patch loading for HD-audio"
86*4882a593Smuzhiyun	select FW_LOADER
87*4882a593Smuzhiyun	select SND_HDA_RECONFIG
88*4882a593Smuzhiyun	help
89*4882a593Smuzhiyun	  Say Y here to allow the HD-audio driver to load a pseudo
90*4882a593Smuzhiyun	  firmware file ("patch") for overriding the BIOS setup at
91*4882a593Smuzhiyun	  start up.  The "patch" file can be specified via patch module
92*4882a593Smuzhiyun	  option, such as patch=hda-init.
93*4882a593Smuzhiyun
94*4882a593Smuzhiyunconfig SND_HDA_CODEC_REALTEK
95*4882a593Smuzhiyun	tristate "Build Realtek HD-audio codec support"
96*4882a593Smuzhiyun	select SND_HDA_GENERIC
97*4882a593Smuzhiyun	select SND_HDA_GENERIC_LEDS
98*4882a593Smuzhiyun	help
99*4882a593Smuzhiyun	  Say Y or M here to include Realtek HD-audio codec support in
100*4882a593Smuzhiyun	  snd-hda-intel driver, such as ALC880.
101*4882a593Smuzhiyun
102*4882a593Smuzhiyuncomment "Set to Y if you want auto-loading the codec driver"
103*4882a593Smuzhiyun	depends on SND_HDA=y && SND_HDA_CODEC_REALTEK=m
104*4882a593Smuzhiyun
105*4882a593Smuzhiyunconfig SND_HDA_CODEC_ANALOG
106*4882a593Smuzhiyun	tristate "Build Analog Devices HD-audio codec support"
107*4882a593Smuzhiyun	select SND_HDA_GENERIC
108*4882a593Smuzhiyun	help
109*4882a593Smuzhiyun	  Say Y or M here to include Analog Devices HD-audio codec support in
110*4882a593Smuzhiyun	  snd-hda-intel driver, such as AD1986A.
111*4882a593Smuzhiyun
112*4882a593Smuzhiyuncomment "Set to Y if you want auto-loading the codec driver"
113*4882a593Smuzhiyun	depends on SND_HDA=y && SND_HDA_CODEC_ANALOG=m
114*4882a593Smuzhiyun
115*4882a593Smuzhiyunconfig SND_HDA_CODEC_SIGMATEL
116*4882a593Smuzhiyun	tristate "Build IDT/Sigmatel HD-audio codec support"
117*4882a593Smuzhiyun	select SND_HDA_GENERIC
118*4882a593Smuzhiyun	select SND_HDA_GENERIC_LEDS
119*4882a593Smuzhiyun	help
120*4882a593Smuzhiyun	  Say Y or M here to include IDT (Sigmatel) HD-audio codec support in
121*4882a593Smuzhiyun	  snd-hda-intel driver, such as STAC9200.
122*4882a593Smuzhiyun
123*4882a593Smuzhiyuncomment "Set to Y if you want auto-loading the codec driver"
124*4882a593Smuzhiyun	depends on SND_HDA=y && SND_HDA_CODEC_SIGMATEL=m
125*4882a593Smuzhiyun
126*4882a593Smuzhiyunconfig SND_HDA_CODEC_VIA
127*4882a593Smuzhiyun	tristate "Build VIA HD-audio codec support"
128*4882a593Smuzhiyun	select SND_HDA_GENERIC
129*4882a593Smuzhiyun	help
130*4882a593Smuzhiyun	  Say Y or M here to include VIA HD-audio codec support in
131*4882a593Smuzhiyun	  snd-hda-intel driver, such as VT1708.
132*4882a593Smuzhiyun
133*4882a593Smuzhiyuncomment "Set to Y if you want auto-loading the codec driver"
134*4882a593Smuzhiyun	depends on SND_HDA=y && SND_HDA_CODEC_VIA=m
135*4882a593Smuzhiyun
136*4882a593Smuzhiyunconfig SND_HDA_CODEC_HDMI
137*4882a593Smuzhiyun	tristate "Build HDMI/DisplayPort HD-audio codec support"
138*4882a593Smuzhiyun	select SND_DYNAMIC_MINORS
139*4882a593Smuzhiyun	help
140*4882a593Smuzhiyun	  Say Y or M here to include HDMI and DisplayPort HD-audio codec
141*4882a593Smuzhiyun	  support in snd-hda-intel driver.  This includes all AMD/ATI,
142*4882a593Smuzhiyun	  Intel and Nvidia HDMI/DisplayPort codecs.
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun	  Note that this option mandatorily enables CONFIG_SND_DYNAMIC_MINORS
145*4882a593Smuzhiyun	  to assure the multiple streams for DP-MST support.
146*4882a593Smuzhiyun
147*4882a593Smuzhiyuncomment "Set to Y if you want auto-loading the codec driver"
148*4882a593Smuzhiyun	depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m
149*4882a593Smuzhiyun
150*4882a593Smuzhiyunconfig SND_HDA_CODEC_CIRRUS
151*4882a593Smuzhiyun	tristate "Build Cirrus Logic codec support"
152*4882a593Smuzhiyun	select SND_HDA_GENERIC
153*4882a593Smuzhiyun	help
154*4882a593Smuzhiyun	  Say Y or M here to include Cirrus Logic codec support in
155*4882a593Smuzhiyun	  snd-hda-intel driver, such as CS4206.
156*4882a593Smuzhiyun
157*4882a593Smuzhiyuncomment "Set to Y if you want auto-loading the codec driver"
158*4882a593Smuzhiyun	depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m
159*4882a593Smuzhiyun
160*4882a593Smuzhiyunconfig SND_HDA_CODEC_CONEXANT
161*4882a593Smuzhiyun	tristate "Build Conexant HD-audio codec support"
162*4882a593Smuzhiyun	select SND_HDA_GENERIC
163*4882a593Smuzhiyun	select SND_HDA_GENERIC_LEDS
164*4882a593Smuzhiyun	help
165*4882a593Smuzhiyun	  Say Y or M here to include Conexant HD-audio codec support in
166*4882a593Smuzhiyun	  snd-hda-intel driver, such as CX20549.
167*4882a593Smuzhiyun
168*4882a593Smuzhiyuncomment "Set to Y if you want auto-loading the codec driver"
169*4882a593Smuzhiyun	depends on SND_HDA=y && SND_HDA_CODEC_CONEXANT=m
170*4882a593Smuzhiyun
171*4882a593Smuzhiyunconfig SND_HDA_CODEC_CA0110
172*4882a593Smuzhiyun	tristate "Build Creative CA0110-IBG codec support"
173*4882a593Smuzhiyun	select SND_HDA_GENERIC
174*4882a593Smuzhiyun	help
175*4882a593Smuzhiyun	  Say Y or M here to include Creative CA0110-IBG codec support in
176*4882a593Smuzhiyun	  snd-hda-intel driver, found on some Creative X-Fi cards.
177*4882a593Smuzhiyun
178*4882a593Smuzhiyuncomment "Set to Y if you want auto-loading the codec driver"
179*4882a593Smuzhiyun	depends on SND_HDA=y && SND_HDA_CODEC_CA0110=m
180*4882a593Smuzhiyun
181*4882a593Smuzhiyunconfig SND_HDA_CODEC_CA0132
182*4882a593Smuzhiyun	tristate "Build Creative CA0132 codec support"
183*4882a593Smuzhiyun	help
184*4882a593Smuzhiyun	  Say Y or M here to include Creative CA0132 codec support in
185*4882a593Smuzhiyun	  snd-hda-intel driver.
186*4882a593Smuzhiyun
187*4882a593Smuzhiyuncomment "Set to Y if you want auto-loading the codec driver"
188*4882a593Smuzhiyun	depends on SND_HDA=y && SND_HDA_CODEC_CA0132=m
189*4882a593Smuzhiyun
190*4882a593Smuzhiyunconfig SND_HDA_CODEC_CA0132_DSP
191*4882a593Smuzhiyun	bool "Support new DSP code for CA0132 codec"
192*4882a593Smuzhiyun	depends on SND_HDA_CODEC_CA0132
193*4882a593Smuzhiyun	default y
194*4882a593Smuzhiyun	select SND_HDA_DSP_LOADER
195*4882a593Smuzhiyun	select FW_LOADER
196*4882a593Smuzhiyun	help
197*4882a593Smuzhiyun	  Say Y here to enable the DSP for Creative CA0132 for extended
198*4882a593Smuzhiyun	  features like equalizer or echo cancellation.
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun	  Note that this option requires the external firmware file
201*4882a593Smuzhiyun	  (ctefx.bin).
202*4882a593Smuzhiyun
203*4882a593Smuzhiyunconfig SND_HDA_CODEC_CMEDIA
204*4882a593Smuzhiyun	tristate "Build C-Media HD-audio codec support"
205*4882a593Smuzhiyun	select SND_HDA_GENERIC
206*4882a593Smuzhiyun	help
207*4882a593Smuzhiyun	  Say Y or M here to include C-Media HD-audio codec support in
208*4882a593Smuzhiyun	  snd-hda-intel driver, such as CMI9880.
209*4882a593Smuzhiyun
210*4882a593Smuzhiyuncomment "Set to Y if you want auto-loading the codec driver"
211*4882a593Smuzhiyun	depends on SND_HDA=y && SND_HDA_CODEC_CMEDIA=m
212*4882a593Smuzhiyun
213*4882a593Smuzhiyunconfig SND_HDA_CODEC_SI3054
214*4882a593Smuzhiyun	tristate "Build Silicon Labs 3054 HD-modem codec support"
215*4882a593Smuzhiyun	help
216*4882a593Smuzhiyun	  Say Y or M here to include Silicon Labs 3054 HD-modem codec
217*4882a593Smuzhiyun	  (and compatibles) support in snd-hda-intel driver.
218*4882a593Smuzhiyun
219*4882a593Smuzhiyuncomment "Set to Y if you want auto-loading the codec driver"
220*4882a593Smuzhiyun	depends on SND_HDA=y && SND_HDA_CODEC_SI3054=m
221*4882a593Smuzhiyun
222*4882a593Smuzhiyunconfig SND_HDA_GENERIC
223*4882a593Smuzhiyun	tristate "Enable generic HD-audio codec parser"
224*4882a593Smuzhiyun	select NEW_LEDS if SND_HDA_GENERIC_LEDS
225*4882a593Smuzhiyun	select LEDS_CLASS if SND_HDA_GENERIC_LEDS
226*4882a593Smuzhiyun	select LEDS_TRIGGERS if SND_HDA_GENERIC_LEDS
227*4882a593Smuzhiyun	select LEDS_TRIGGER_AUDIO if SND_HDA_GENERIC_LEDS
228*4882a593Smuzhiyun	help
229*4882a593Smuzhiyun	  Say Y or M here to enable the generic HD-audio codec parser
230*4882a593Smuzhiyun	  in snd-hda-intel driver.
231*4882a593Smuzhiyun
232*4882a593Smuzhiyuncomment "Set to Y if you want auto-loading the codec driver"
233*4882a593Smuzhiyun	depends on SND_HDA=y && SND_HDA_GENERIC=m
234*4882a593Smuzhiyun
235*4882a593Smuzhiyunconfig SND_HDA_POWER_SAVE_DEFAULT
236*4882a593Smuzhiyun	int "Default time-out for HD-audio power-save mode"
237*4882a593Smuzhiyun	depends on PM
238*4882a593Smuzhiyun	default 0
239*4882a593Smuzhiyun	help
240*4882a593Smuzhiyun	  The default time-out value in seconds for HD-audio automatic
241*4882a593Smuzhiyun	  power-save mode.  0 means to disable the power-save mode.
242*4882a593Smuzhiyun
243*4882a593Smuzhiyunconfig SND_HDA_INTEL_HDMI_SILENT_STREAM
244*4882a593Smuzhiyun	bool "Enable Silent Stream always for HDMI"
245*4882a593Smuzhiyun	depends on SND_HDA_INTEL
246*4882a593Smuzhiyun	help
247*4882a593Smuzhiyun	  Intel hardware has a feature called 'silent stream', that
248*4882a593Smuzhiyun	  keeps external HDMI receiver's analog circuitry powered on
249*4882a593Smuzhiyun	  avoiding 2-3 sec silence during playback start. This mechanism
250*4882a593Smuzhiyun	  relies on setting channel_id as 0xf, sending info packet and
251*4882a593Smuzhiyun	  preventing codec D3 entry (increasing  platform static power
252*4882a593Smuzhiyun	  consumption when HDMI receiver is plugged-in). 2-3 sec silence
253*4882a593Smuzhiyun	  at the playback start is expected whenever there is format change.
254*4882a593Smuzhiyun	  (default is 2 channel format).
255*4882a593Smuzhiyun	  Say Y to enable Silent Stream feature.
256*4882a593Smuzhiyun
257*4882a593Smuzhiyunendif
258*4882a593Smuzhiyun
259*4882a593Smuzhiyunendmenu
260