summaryrefslogtreecommitdiff
path: root/static/netbsd/man4/cmpci.4 4.html
blob: 43b31d2ce2bd3a6091e26e7c90ecc666b1b1558b (plain)
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> &#x2014; <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)-&gt;|spdin1              |  R    -----------------------
#2(opt)--&gt;|spdin2  spdif.input |--*-&gt;--|spdin   spdif.output |--&gt; SPDIF
       --&gt;|spdout              |  | --&gt;|playback             |    output
       |  ----------------------  | |  -----------------------
       --------------------&lt;------+-*
     ---------&lt;-------------------+-+----------------------------------
     |  ------------------------  | |   -----------------------       |
     --&gt;|legacy  spdif.output. |--+-*--&gt;|spdout               |       |
     --&gt;|wave    playback      |  -----&gt;|spdin  spdif.monitor |----   |
     |  ------------------------     NC-|off                  |   |   |
     ---------&lt;-- spdif                 -----------------------   |   |
         -------+------- dac ------------    -----------------    v   |
wave  --&gt;|playback.mode|----&gt;|inputs.dac|-*-&gt;|inputs.dac.mute|-&gt;----- |
playback ---------------     ------------ R  -----------------  | + | |
                  -----------------     ---------------------   |mix| |
FM synthesizer --&gt;|inputs.fmsynth |--*-&gt;|inputs.fmsynth.mute|--&gt;----- |
                  -----------------  R  ---------------------     *-&gt;--
CD        ----------------------   ---------------------------    v
LINE-IN -&gt;|inputs.{cd,line,aux}|-*&gt;|inputs.{cd,line,aux}.mute|-&gt;-----
AUX       ---------------------- R ---------------------------  |   |
          ------------------                                    |   |
PC-SPK --&gt;| inputs.speaker |-----------------------------------&gt;| + |
          ------------------                                    |   |
          -------------------  ------------  -----------------  |mix|
MIC --*--&gt;|inputs.mic.preamp|-&gt;|inputs.mic|-&gt;|inputs.mic.mute|-&gt;|   |
      |   -------------------  ------------  -----------------  -----
      |   ------------   -----------------                       |
      ---&gt;|record.mic|--&gt;|               |                       v
          ------------   | record.source |--&gt;to         -----------
                    *R--&gt;| (select, mix) |   recording  |outputs.*|--&gt;
                         -----------------              ----------- 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>