1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
<table class="head">
<tr>
<td class="head-ltitle">CMPCI(4)</td>
<td class="head-vol">Device Drivers Manual</td>
<td class="head-rtitle">CMPCI(4)</td>
</tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">cmpci</code> — <span class="Nd">C-Media
CMI8x38 audio device driver</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="Cd">cmpci* at pci? dev ? function ?</code>
<br/>
<code class="Cd">audio* at audiobus?</code>
<br/>
<code class="Cd">mpu* at cmpci?</code>
<br/>
<code class="Cd">opl* at cmpci? flags 1</code></p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">cmpci</code> device driver supports C-Media
CMI8x38 based sound cards.</p>
<p class="Pp">The device has SPDIF input/output interfaces, 16bit CODEC with
analog mixer, OPL3 FM Synthesizer, and MPU401 compatible MIDI I/O port
interface.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="MIXER_DEVICE"><a class="permalink" href="#MIXER_DEVICE">MIXER
DEVICE</a></h1>
<p class="Pp">The mixer device of <code class="Nm">cmpci</code> driver can be
accessed via <a class="Xr">mixerctl(1)</a> command. The complex structure is
analyzed as follows.</p>
<div class="Bd Pp Li">
<pre>SPDIF in ----------------------
#1(coax)->|spdin1 | R -----------------------
#2(opt)-->|spdin2 spdif.input |--*->--|spdin spdif.output |--> SPDIF
-->|spdout | | -->|playback | output
| ---------------------- | | -----------------------
--------------------<------+-*
---------<-------------------+-+----------------------------------
| ------------------------ | | ----------------------- |
-->|legacy spdif.output. |--+-*-->|spdout | |
-->|wave playback | ----->|spdin spdif.monitor |---- |
| ------------------------ NC-|off | | |
---------<-- spdif ----------------------- | |
-------+------- dac ------------ ----------------- v |
wave -->|playback.mode|---->|inputs.dac|-*->|inputs.dac.mute|->----- |
playback --------------- ------------ R ----------------- | + | |
----------------- --------------------- |mix| |
FM synthesizer -->|inputs.fmsynth |--*->|inputs.fmsynth.mute|-->----- |
----------------- R --------------------- *->--
CD ---------------------- --------------------------- v
LINE-IN ->|inputs.{cd,line,aux}|-*>|inputs.{cd,line,aux}.mute|->-----
AUX ---------------------- R --------------------------- | |
------------------ | |
PC-SPK -->| inputs.speaker |----------------------------------->| + |
------------------ | |
------------------- ------------ ----------------- |mix|
MIC --*-->|inputs.mic.preamp|->|inputs.mic|->|inputs.mic.mute|->| |
| ------------------- ------------ ----------------- -----
| ------------ ----------------- |
--->|record.mic|-->| | v
------------ | record.source |-->to -----------
*R-->| (select, mix) | recording |outputs.*|-->
----------------- ----------- SPK
(front)</pre>
</div>
<p class="Pp">Note the 2nd SPDIF input exists only on CMI8738/PCI-6ch
versions.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="MIXER_EXAMPLES"><a class="permalink" href="#MIXER_EXAMPLES">MIXER
EXAMPLES</a></h1>
<p class="Pp">Here are examples about wave playback and SPDIF input/output
ports.</p>
<dl class="Bl-tag">
<dt>Playback to speaker, SPDIF input to SPDIF output</dt>
<dd>
<div class="Bd Bd-indent"><code class="Li">mixerctl -w playback.mode=dac
spdif.output=spdin spdif.monitor=off</code></div>
</dd>
<dt>Playback to SPDIF output, SPDIF input to speaker</dt>
<dd>
<div class="Bd Bd-indent"><code class="Li">mixerctl -w playback.mode=spdif
spdif.output=playback spdif.output.playback=wave
spdif.monitor=spdin</code></div>
</dd>
<dt>SPDIF input to both SPDIF output and speaker</dt>
<dd>
<div class="Bd Bd-indent"><code class="Li">mixerctl -w spdif.output=spdin
spdif.monitor=spdin</code></div>
</dd>
<dt>Playback to both SPDIF output and speaker</dt>
<dd>
<div class="Bd Bd-indent"><code class="Li">mixerctl -w playback.mode=spdif
spdif.output=playback spdif.output.playback=wave
spdif.monitor=spdout</code></div>
</dd>
<dt>Mix playback and SPDIF input to speaker</dt>
<dd>
<div class="Bd Bd-indent"><code class="Li">mixerctl -w playback.mode=dac
spdif.monitor=spdin</code></div>
</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
ALSO</a></h1>
<p class="Pp"><a class="Xr">mixerctl(1)</a>, <a class="Xr">audio(4)</a>,
<a class="Xr">midi(4)</a>, <a class="Xr">mpu(4)</a>,
<a class="Xr">opl(4)</a>, <a class="Xr">pci(4)</a></p>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<p class="Pp">The <code class="Nm">cmpci</code> device driver appeared in
<span class="Ux">NetBSD 1.5</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
<p class="Pp">4ch/6ch playback is not yet available. Joystick port is not
supported.</p>
<p class="Pp"><code class="Dv">spdif.output.playback=legacy</code> does not seem
to work properly.</p>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">June 22, 2005</td>
<td class="foot-os">NetBSD 10.1</td>
</tr>
</table>
|