xref: /OK3568_Linux_fs/kernel/Documentation/sound/hd-audio/controls.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun======================================
2*4882a593SmuzhiyunHD-Audio Codec-Specific Mixer Controls
3*4882a593Smuzhiyun======================================
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunThis file explains the codec-specific mixer controls.
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunRealtek codecs
9*4882a593Smuzhiyun--------------
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunChannel Mode
12*4882a593Smuzhiyun  This is an enum control to change the surround-channel setup,
13*4882a593Smuzhiyun  appears only when the surround channels are available.
14*4882a593Smuzhiyun  It gives the number of channels to be used, "2ch", "4ch", "6ch",
15*4882a593Smuzhiyun  and "8ch".  According to the configuration, this also controls the
16*4882a593Smuzhiyun  jack-retasking of multi-I/O jacks.
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunAuto-Mute Mode
19*4882a593Smuzhiyun  This is an enum control to change the auto-mute behavior of the
20*4882a593Smuzhiyun  headphone and line-out jacks.  If built-in speakers and headphone
21*4882a593Smuzhiyun  and/or line-out jacks are available on a machine, this controls
22*4882a593Smuzhiyun  appears.
23*4882a593Smuzhiyun  When there are only either headphones or line-out jacks, it gives
24*4882a593Smuzhiyun  "Disabled" and "Enabled" state.  When enabled, the speaker is muted
25*4882a593Smuzhiyun  automatically when a jack is plugged.
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun  When both headphone and line-out jacks are present, it gives
28*4882a593Smuzhiyun  "Disabled", "Speaker Only" and "Line-Out+Speaker".  When
29*4882a593Smuzhiyun  speaker-only is chosen, plugging into a headphone or a line-out jack
30*4882a593Smuzhiyun  mutes the speakers, but not line-outs.  When line-out+speaker is
31*4882a593Smuzhiyun  selected, plugging to a headphone jack mutes both speakers and
32*4882a593Smuzhiyun  line-outs.
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunIDT/Sigmatel codecs
36*4882a593Smuzhiyun-------------------
37*4882a593Smuzhiyun
38*4882a593SmuzhiyunAnalog Loopback
39*4882a593Smuzhiyun  This control enables/disables the analog-loopback circuit.  This
40*4882a593Smuzhiyun  appears only when "loopback" is set to true in a codec hint
41*4882a593Smuzhiyun  (see HD-Audio.txt).  Note that on some codecs the analog-loopback
42*4882a593Smuzhiyun  and the normal PCM playback are exclusive, i.e. when this is on, you
43*4882a593Smuzhiyun  won't hear any PCM stream.
44*4882a593Smuzhiyun
45*4882a593SmuzhiyunSwap Center/LFE
46*4882a593Smuzhiyun  Swaps the center and LFE channel order.  Normally, the left
47*4882a593Smuzhiyun  corresponds to the center and the right to the LFE.  When this is
48*4882a593Smuzhiyun  ON, the left to the LFE and the right to the center.
49*4882a593Smuzhiyun
50*4882a593SmuzhiyunHeadphone as Line Out
51*4882a593Smuzhiyun  When this control is ON, treat the headphone jacks as line-out
52*4882a593Smuzhiyun  jacks.  That is, the headphone won't auto-mute the other line-outs,
53*4882a593Smuzhiyun  and no HP-amp is set to the pins.
54*4882a593Smuzhiyun
55*4882a593SmuzhiyunMic Jack Mode, Line Jack Mode, etc
56*4882a593Smuzhiyun  These enum controls the direction and the bias of the input jack
57*4882a593Smuzhiyun  pins.  Depending on the jack type, it can set as "Mic In" and "Line
58*4882a593Smuzhiyun  In", for determining the input bias, or it can be set to "Line Out"
59*4882a593Smuzhiyun  when the pin is a multi-I/O jack for surround channels.
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun
62*4882a593SmuzhiyunVIA codecs
63*4882a593Smuzhiyun----------
64*4882a593Smuzhiyun
65*4882a593SmuzhiyunSmart 5.1
66*4882a593Smuzhiyun  An enum control to re-task the multi-I/O jacks for surround outputs.
67*4882a593Smuzhiyun  When it's ON, the corresponding input jacks (usually a line-in and a
68*4882a593Smuzhiyun  mic-in) are switched as the surround and the CLFE output jacks.
69*4882a593Smuzhiyun
70*4882a593SmuzhiyunIndependent HP
71*4882a593Smuzhiyun  When this enum control is enabled, the headphone output is routed
72*4882a593Smuzhiyun  from an individual stream (the third PCM such as hw:0,2) instead of
73*4882a593Smuzhiyun  the primary stream.  In the case the headphone DAC is shared with a
74*4882a593Smuzhiyun  side or a CLFE-channel DAC, the DAC is switched to the headphone
75*4882a593Smuzhiyun  automatically.
76*4882a593Smuzhiyun
77*4882a593SmuzhiyunLoopback Mixing
78*4882a593Smuzhiyun  An enum control to determine whether the analog-loopback route is
79*4882a593Smuzhiyun  enabled or not.  When it's enabled, the analog-loopback is mixed to
80*4882a593Smuzhiyun  the front-channel.  Also, the same route is used for the headphone
81*4882a593Smuzhiyun  and speaker outputs.  As a side-effect, when this mode is set, the
82*4882a593Smuzhiyun  individual volume controls will be no longer available for
83*4882a593Smuzhiyun  headphones and speakers because there is only one DAC connected to a
84*4882a593Smuzhiyun  mixer widget.
85*4882a593Smuzhiyun
86*4882a593SmuzhiyunDynamic Power-Control
87*4882a593Smuzhiyun  This control determines whether the dynamic power-control per jack
88*4882a593Smuzhiyun  detection is enabled or not.  When enabled, the widgets power state
89*4882a593Smuzhiyun  (D0/D3) are changed dynamically depending on the jack plugging
90*4882a593Smuzhiyun  state for saving power consumptions.  However, if your system
91*4882a593Smuzhiyun  doesn't provide a proper jack-detection, this won't work; in such a
92*4882a593Smuzhiyun  case, turn this control OFF.
93*4882a593Smuzhiyun
94*4882a593SmuzhiyunJack Detect
95*4882a593Smuzhiyun  This control is provided only for VT1708 codec which gives no proper
96*4882a593Smuzhiyun  unsolicited event per jack plug.  When this is on, the driver polls
97*4882a593Smuzhiyun  the jack detection so that the headphone auto-mute can work, while
98*4882a593Smuzhiyun  turning this off would reduce the power consumption.
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun
101*4882a593SmuzhiyunConexant codecs
102*4882a593Smuzhiyun---------------
103*4882a593Smuzhiyun
104*4882a593SmuzhiyunAuto-Mute Mode
105*4882a593Smuzhiyun  See Reatek codecs.
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun
108*4882a593SmuzhiyunAnalog codecs
109*4882a593Smuzhiyun--------------
110*4882a593Smuzhiyun
111*4882a593SmuzhiyunChannel Mode
112*4882a593Smuzhiyun  This is an enum control to change the surround-channel setup,
113*4882a593Smuzhiyun  appears only when the surround channels are available.
114*4882a593Smuzhiyun  It gives the number of channels to be used, "2ch", "4ch" and "6ch".
115*4882a593Smuzhiyun  According to the configuration, this also controls the
116*4882a593Smuzhiyun  jack-retasking of multi-I/O jacks.
117*4882a593Smuzhiyun
118*4882a593SmuzhiyunIndependent HP
119*4882a593Smuzhiyun  When this enum control is enabled, the headphone output is routed
120*4882a593Smuzhiyun  from an individual stream (the third PCM such as hw:0,2) instead of
121*4882a593Smuzhiyun  the primary stream.
122