Sat Jan 3 17:44:20 2009 UTC ()
remove siisata and esl. (KIYOHARA Takashi)


(christos)
diff -r1.68 -r1.69 src/share/man/man4/audio.4
diff -r1.19 -r1.20 src/share/man/man4/opl.4
diff -r1.89 -r1.90 src/share/man/man4/pci.4
diff -r1.34 -r1.35 src/share/man/man4/pcmcia.4

cvs diff -r1.68 -r1.69 src/share/man/man4/audio.4 (switch to unified diff)

--- src/share/man/man4/audio.4 2008/04/30 13:10:53 1.68
+++ src/share/man/man4/audio.4 2009/01/03 17:44:20 1.69
@@ -1,718 +1,716 @@ @@ -1,718 +1,716 @@
1.\" $NetBSD: audio.4,v 1.68 2008/04/30 13:10:53 martin Exp $ 1.\" $NetBSD: audio.4,v 1.69 2009/01/03 17:44:20 christos Exp $
2.\" 2.\"
3.\" Copyright (c) 1996 The NetBSD Foundation, Inc. 3.\" Copyright (c) 1996 The NetBSD Foundation, Inc.
4.\" All rights reserved. 4.\" All rights reserved.
5.\" 5.\"
6.\" This code is derived from software contributed to The NetBSD Foundation 6.\" This code is derived from software contributed to The NetBSD Foundation
7.\" by John T. Kohl. 7.\" by John T. Kohl.
8.\" 8.\"
9.\" Redistribution and use in source and binary forms, with or without 9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions 10.\" modification, are permitted provided that the following conditions
11.\" are met: 11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright 12.\" 1. Redistributions of source code must retain the above copyright
13.\" notice, this list of conditions and the following disclaimer. 13.\" notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright 14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\" notice, this list of conditions and the following disclaimer in the 15.\" notice, this list of conditions and the following disclaimer in the
16.\" documentation and/or other materials provided with the distribution. 16.\" documentation and/or other materials provided with the distribution.
17.\" 17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGE. 28.\" POSSIBILITY OF SUCH DAMAGE.
29.\" 29.\"
30.Dd June 11, 2007 30.Dd January 3, 2009
31.Dt AUDIO 4 31.Dt AUDIO 4
32.Os 32.Os
33.Sh NAME 33.Sh NAME
34.Nm audio 34.Nm audio
35.Nd device-independent audio driver layer 35.Nd device-independent audio driver layer
36.Sh SYNOPSIS 36.Sh SYNOPSIS
37.In sys/audioio.h 37.In sys/audioio.h
38.Sh DESCRIPTION 38.Sh DESCRIPTION
39The 39The
40.Nm 40.Nm
41driver provides support for various audio peripherals. 41driver provides support for various audio peripherals.
42It provides a uniform programming interface layer above different 42It provides a uniform programming interface layer above different
43underlying audio hardware drivers. 43underlying audio hardware drivers.
44The audio layer provides full-duplex operation if the 44The audio layer provides full-duplex operation if the
45underlying hardware configuration supports it. 45underlying hardware configuration supports it.
46.Pp 46.Pp
47There are four device files available for audio operation: 47There are four device files available for audio operation:
48.Pa /dev/audio , 48.Pa /dev/audio ,
49.Pa /dev/sound , 49.Pa /dev/sound ,
50.Pa /dev/audioctl , 50.Pa /dev/audioctl ,
51and 51and
52.Pa /dev/mixer . 52.Pa /dev/mixer .
53.Pp 53.Pp
54.Pa /dev/audio 54.Pa /dev/audio
55and 55and
56.Pa /dev/sound 56.Pa /dev/sound
57are used for recording or playback of digital samples. 57are used for recording or playback of digital samples.
58.Pp 58.Pp
59.Pa /dev/mixer 59.Pa /dev/mixer
60is used to manipulate volume, recording source, or other audio mixer 60is used to manipulate volume, recording source, or other audio mixer
61functions. 61functions.
62.Pp 62.Pp
63.Pa /dev/audioctl 63.Pa /dev/audioctl
64accepts the same 64accepts the same
65.Xr ioctl 2 65.Xr ioctl 2
66operations as 66operations as
67.Pa /dev/sound , 67.Pa /dev/sound ,
68but no other operations. 68but no other operations.
69.Pp 69.Pp
70In contrast to 70In contrast to
71.Pa /dev/sound 71.Pa /dev/sound
72which has the exclusive open property 72which has the exclusive open property
73.Pa /dev/audioctl 73.Pa /dev/audioctl
74can be opened at any time and can be used to manipulate the audio device 74can be opened at any time and can be used to manipulate the audio device
75while it is in use. 75while it is in use.
76.Sh SAMPLING DEVICES 76.Sh SAMPLING DEVICES
77When 77When
78.Pa /dev/audio 78.Pa /dev/audio
79is opened, it automatically directs the underlying driver to manipulate 79is opened, it automatically directs the underlying driver to manipulate
80monaural 8-bit mu-law samples. 80monaural 8-bit mu-law samples.
81In addition, if it is opened read-only 81In addition, if it is opened read-only
82(write-only) the device is set to half-duplex record (play) mode with 82(write-only) the device is set to half-duplex record (play) mode with
83recording (playing) unpaused and playing (recording) paused. 83recording (playing) unpaused and playing (recording) paused.
84When 84When
85.Pa /dev/sound 85.Pa /dev/sound
86is opened, it maintains the previous audio sample mode and 86is opened, it maintains the previous audio sample mode and
87record/playback mode. 87record/playback mode.
88In all other respects 88In all other respects
89.Pa /dev/audio 89.Pa /dev/audio
90and 90and
91.Pa /dev/sound 91.Pa /dev/sound
92are identical. 92are identical.
93.Pp 93.Pp
94Only one process may hold open a sampling device at a given time 94Only one process may hold open a sampling device at a given time
95(although file descriptors may be shared between processes once the 95(although file descriptors may be shared between processes once the
96first open completes). 96first open completes).
97.Pp 97.Pp
98On a half-duplex device, writes while recording is in progress will be 98On a half-duplex device, writes while recording is in progress will be
99immediately discarded. 99immediately discarded.
100Similarly, reads while playback is in progress 100Similarly, reads while playback is in progress
101will be filled with silence but delayed to return at the current 101will be filled with silence but delayed to return at the current
102sampling rate. 102sampling rate.
103If both playback and recording are requested on a half-duplex 103If both playback and recording are requested on a half-duplex
104device, playback mode takes precedence and recordings will get silence. 104device, playback mode takes precedence and recordings will get silence.
105.Pp 105.Pp
106On a full-duplex device, reads and writes may operate 106On a full-duplex device, reads and writes may operate
107concurrently without interference. 107concurrently without interference.
108If a full-duplex capable audio device is opened for both reading and writing 108If a full-duplex capable audio device is opened for both reading and writing
109it will start in half-duplex play mode; full-duplex mode has to be set 109it will start in half-duplex play mode; full-duplex mode has to be set
110explicitly. 110explicitly.
111.Pp 111.Pp
112On either type of device, if the playback mode is paused then silence is 112On either type of device, if the playback mode is paused then silence is
113played instead of the provided samples, and if recording is paused then 113played instead of the provided samples, and if recording is paused then
114the process blocks in 114the process blocks in
115.Xr read 2 115.Xr read 2
116until recording is unpaused. 116until recording is unpaused.
117.Pp 117.Pp
118If a writing process does not call 118If a writing process does not call
119.Xr write 2 119.Xr write 2
120frequently enough to provide samples at the pace the hardware 120frequently enough to provide samples at the pace the hardware
121consumes them silence is inserted. 121consumes them silence is inserted.
122If the 122If the
123.Dv AUMODE_PLAY_ALL 123.Dv AUMODE_PLAY_ALL
124mode is not set the writing process must 124mode is not set the writing process must
125provide enough data via 125provide enough data via
126subsequent write calls to 126subsequent write calls to
127.Dq catch up 127.Dq catch up
128in time to the current audio 128in time to the current audio
129block before any more process-provided samples will be played. 129block before any more process-provided samples will be played.
130If a reading process does not call 130If a reading process does not call
131.Xr read 2 131.Xr read 2
132frequently enough, it will simply miss samples. 132frequently enough, it will simply miss samples.
133.Pp 133.Pp
134The audio device is normally accessed with 134The audio device is normally accessed with
135.Xr read 2 135.Xr read 2
136or 136or
137.Xr write 2 137.Xr write 2
138calls, but it can also be mapped into user memory with 138calls, but it can also be mapped into user memory with
139.Xr mmap 2 139.Xr mmap 2
140(when supported by the device). 140(when supported by the device).
141Once the device has been mapped it can no longer be accessed 141Once the device has been mapped it can no longer be accessed
142by read or write; all access is by reading and writing to 142by read or write; all access is by reading and writing to
143the mapped memory. 143the mapped memory.
144The device appears as a block of memory 144The device appears as a block of memory
145of size 145of size
146.Va buffersize 146.Va buffersize
147(as available via 147(as available via
148.Dv AUDIO_GETINFO 148.Dv AUDIO_GETINFO
149or 149or
150.Dv AUDIO_GETBUFINFO ) . 150.Dv AUDIO_GETBUFINFO ) .
151The device driver will continuously move data from this buffer 151The device driver will continuously move data from this buffer
152from/to the audio hardware, wrapping around at the end of the buffer. 152from/to the audio hardware, wrapping around at the end of the buffer.
153To find out where the hardware is currently accessing data in the buffer the 153To find out where the hardware is currently accessing data in the buffer the
154.Dv AUDIO_GETIOFFS 154.Dv AUDIO_GETIOFFS
155and 155and
156.Dv AUDIO_GETOOFFS 156.Dv AUDIO_GETOOFFS
157calls can be used. 157calls can be used.
158The playing and recording buffers are distinct and must be 158The playing and recording buffers are distinct and must be
159mapped separately if both are to be used. 159mapped separately if both are to be used.
160Only encodings that are not emulated (i.e. where 160Only encodings that are not emulated (i.e. where
161.Dv AUDIO_ENCODINGFLAG_EMULATED 161.Dv AUDIO_ENCODINGFLAG_EMULATED
162is not set) work properly for a mapped device. 162is not set) work properly for a mapped device.
163.Pp 163.Pp
164The audio device, like most devices, can be used in 164The audio device, like most devices, can be used in
165.Va select , 165.Va select ,
166can be set in non-blocking mode and can be set (with a 166can be set in non-blocking mode and can be set (with a
167.Dv FIOASYNC 167.Dv FIOASYNC
168ioctl) to send a 168ioctl) to send a
169.Dv SIGIO 169.Dv SIGIO
170when I/O is possible. 170when I/O is possible.
171The mixer device can be set to generate a 171The mixer device can be set to generate a
172.Dv SIGIO 172.Dv SIGIO
173whenever a mixer value is changed. 173whenever a mixer value is changed.
174.Pp 174.Pp
175The following 175The following
176.Xr ioctl 2 176.Xr ioctl 2
177commands are supported on the sample devices: 177commands are supported on the sample devices:
178.Pp 178.Pp
179.Bl -tag -width indent 179.Bl -tag -width indent
180.It Dv AUDIO_FLUSH 180.It Dv AUDIO_FLUSH
181This command stops all playback and recording, clears all queued 181This command stops all playback and recording, clears all queued
182buffers, resets error counters, and restarts recording and playback as 182buffers, resets error counters, and restarts recording and playback as
183appropriate for the current sampling mode. 183appropriate for the current sampling mode.
184.It Dv AUDIO_RERROR (int) 184.It Dv AUDIO_RERROR (int)
185This command fetches the count of dropped input samples into its integer 185This command fetches the count of dropped input samples into its integer
186argument. 186argument.
187There is no information regarding when in the sample stream 187There is no information regarding when in the sample stream
188they were dropped. 188they were dropped.
189.It Dv AUDIO_WSEEK (int) 189.It Dv AUDIO_WSEEK (int)
190This command fetches the count of samples that are queued ahead of the 190This command fetches the count of samples that are queued ahead of the
191first sample in the most recent sample block written into its integer argument. 191first sample in the most recent sample block written into its integer argument.
192.It Dv AUDIO_DRAIN 192.It Dv AUDIO_DRAIN
193This command suspends the calling process until all queued playback 193This command suspends the calling process until all queued playback
194samples have been played by the hardware. 194samples have been played by the hardware.
195.It Dv AUDIO_GETDEV (audio_device_t) 195.It Dv AUDIO_GETDEV (audio_device_t)
196This command fetches the current hardware device information into the 196This command fetches the current hardware device information into the
197audio_device_t argument. 197audio_device_t argument.
198.Bd -literal 198.Bd -literal
199typedef struct audio_device { 199typedef struct audio_device {
200 char name[MAX_AUDIO_DEV_LEN]; 200 char name[MAX_AUDIO_DEV_LEN];
201 char version[MAX_AUDIO_DEV_LEN]; 201 char version[MAX_AUDIO_DEV_LEN];
202 char config[MAX_AUDIO_DEV_LEN]; 202 char config[MAX_AUDIO_DEV_LEN];
203} audio_device_t; 203} audio_device_t;
204.Ed 204.Ed
205.It Dv AUDIO_GETFD (int) 205.It Dv AUDIO_GETFD (int)
206The command returns the current setting of the full duplex mode. 206The command returns the current setting of the full duplex mode.
207.It Dv AUDIO_GETENC (audio_encoding_t) 207.It Dv AUDIO_GETENC (audio_encoding_t)
208This command is used iteratively to fetch sample encoding names and 208This command is used iteratively to fetch sample encoding names and
209format_ids into the input/output audio_encoding_t argument. 209format_ids into the input/output audio_encoding_t argument.
210.Bd -literal 210.Bd -literal
211typedef struct audio_encoding { 211typedef struct audio_encoding {
212 int index; /* input: nth encoding */ 212 int index; /* input: nth encoding */
213 char name[MAX_AUDIO_DEV_LEN]; /* name of encoding */ 213 char name[MAX_AUDIO_DEV_LEN]; /* name of encoding */
214 int encoding; /* value for encoding parameter */ 214 int encoding; /* value for encoding parameter */
215 int precision; /* value for precision parameter */ 215 int precision; /* value for precision parameter */
216 int flags; 216 int flags;
217#define AUDIO_ENCODINGFLAG_EMULATED 1 /* software emulation mode */ 217#define AUDIO_ENCODINGFLAG_EMULATED 1 /* software emulation mode */
218} audio_encoding_t; 218} audio_encoding_t;
219.Ed 219.Ed
220.Pp 220.Pp
221To query 221To query
222all the supported encodings, start with an index field of 0 and 222all the supported encodings, start with an index field of 0 and
223continue with successive encodings (1, 2, ...) until the command returns 223continue with successive encodings (1, 2, ...) until the command returns
224an error. 224an error.
225.It Dv AUDIO_SETFD (int) 225.It Dv AUDIO_SETFD (int)
226This command sets the device into full-duplex operation if its integer 226This command sets the device into full-duplex operation if its integer
227argument has a non-zero value, or into half-duplex operation if it 227argument has a non-zero value, or into half-duplex operation if it
228contains a zero value. 228contains a zero value.
229If the device does not support full-duplex 229If the device does not support full-duplex
230operation, attempting to set full-duplex mode returns an error. 230operation, attempting to set full-duplex mode returns an error.
231.It Dv AUDIO_GETPROPS (int) 231.It Dv AUDIO_GETPROPS (int)
232This command gets a bit set of hardware properties. 232This command gets a bit set of hardware properties.
233If the hardware 233If the hardware
234has a certain property the corresponding bit is set, otherwise it is not. 234has a certain property the corresponding bit is set, otherwise it is not.
235The properties can have the following values: 235The properties can have the following values:
236.Pp 236.Pp
237.Bl -tag -width AUDIO_PROP_INDEPENDENT -compact 237.Bl -tag -width AUDIO_PROP_INDEPENDENT -compact
238.It Dv AUDIO_PROP_FULLDUPLEX 238.It Dv AUDIO_PROP_FULLDUPLEX
239the device admits full duplex operation. 239the device admits full duplex operation.
240.It Dv AUDIO_PROP_MMAP 240.It Dv AUDIO_PROP_MMAP
241the device can be used with 241the device can be used with
242.Xr mmap 2 . 242.Xr mmap 2 .
243.It Dv AUDIO_PROP_INDEPENDENT 243.It Dv AUDIO_PROP_INDEPENDENT
244the device can set the playing and recording encoding parameters 244the device can set the playing and recording encoding parameters
245independently. 245independently.
246.El 246.El
247.It Dv AUDIO_GETIOFFS (audio_offset_t) 247.It Dv AUDIO_GETIOFFS (audio_offset_t)
248.It Dv AUDIO_GETOOFFS (audio_offset_t) 248.It Dv AUDIO_GETOOFFS (audio_offset_t)
249This command fetches the current offset in the input(output) buffer where 249This command fetches the current offset in the input(output) buffer where
250the audio hardware's DMA engine will be putting(getting) data. 250the audio hardware's DMA engine will be putting(getting) data.
251It mostly useful when the device 251It mostly useful when the device
252buffer is available in user space via the 252buffer is available in user space via the
253.Xr mmap 2 253.Xr mmap 2
254call. 254call.
255The information is returned in the audio_offset structure. 255The information is returned in the audio_offset structure.
256.Bd -literal 256.Bd -literal
257typedef struct audio_offset { 257typedef struct audio_offset {
258 u_int samples; /* Total number of bytes transferred */ 258 u_int samples; /* Total number of bytes transferred */
259 u_int deltablks; /* Blocks transferred since last checked */ 259 u_int deltablks; /* Blocks transferred since last checked */
260 u_int offset; /* Physical transfer offset in buffer */ 260 u_int offset; /* Physical transfer offset in buffer */
261} audio_offset_t; 261} audio_offset_t;
262.Ed 262.Ed
263.It Dv AUDIO_GETINFO (audio_info_t) 263.It Dv AUDIO_GETINFO (audio_info_t)
264.It Dv AUDIO_GETBUFINFO (audio_info_t) 264.It Dv AUDIO_GETBUFINFO (audio_info_t)
265.It Dv AUDIO_SETINFO (audio_info_t) 265.It Dv AUDIO_SETINFO (audio_info_t)
266Get or set audio information as encoded in the audio_info structure. 266Get or set audio information as encoded in the audio_info structure.
267.Bd -literal 267.Bd -literal
268typedef struct audio_info { 268typedef struct audio_info {
269 struct audio_prinfo play; /* info for play (output) side */ 269 struct audio_prinfo play; /* info for play (output) side */
270 struct audio_prinfo record; /* info for record (input) side */ 270 struct audio_prinfo record; /* info for record (input) side */
271 u_int monitor_gain; /* input to output mix */ 271 u_int monitor_gain; /* input to output mix */
272 /* BSD extensions */ 272 /* BSD extensions */
273 u_int blocksize; /* H/W read/write block size */ 273 u_int blocksize; /* H/W read/write block size */
274 u_int hiwat; /* output high water mark */ 274 u_int hiwat; /* output high water mark */
275 u_int lowat; /* output low water mark */ 275 u_int lowat; /* output low water mark */
276 u_int _ispare1; 276 u_int _ispare1;
277 u_int mode; /* current device mode */ 277 u_int mode; /* current device mode */
278#define AUMODE_PLAY 0x01 278#define AUMODE_PLAY 0x01
279#define AUMODE_RECORD 0x02 279#define AUMODE_RECORD 0x02
280#define AUMODE_PLAY_ALL 0x04 /* do not do real-time correction */ 280#define AUMODE_PLAY_ALL 0x04 /* do not do real-time correction */
281} audio_info_t; 281} audio_info_t;
282.Ed 282.Ed
283.Pp 283.Pp
284When setting the current state with 284When setting the current state with
285.Dv AUDIO_SETINFO , 285.Dv AUDIO_SETINFO ,
286the audio_info structure should first be initialized with 286the audio_info structure should first be initialized with
287.Dv AUDIO_INITINFO Po \*[Am]info Pc 287.Dv AUDIO_INITINFO Po \*[Am]info Pc
288and then the particular values to be changed should be set. 288and then the particular values to be changed should be set.
289This allows the audio driver to only set those things that you wish 289This allows the audio driver to only set those things that you wish
290to change and eliminates the need to query the device with 290to change and eliminates the need to query the device with
291.Dv AUDIO_GETINFO 291.Dv AUDIO_GETINFO
292or 292or
293.Dv AUDIO_GETBUFINFO 293.Dv AUDIO_GETBUFINFO
294first. 294first.
295.Pp 295.Pp
296The 296The
297.Va mode 297.Va mode
298field should be set to 298field should be set to
299.Dv AUMODE_PLAY , 299.Dv AUMODE_PLAY ,
300.Dv AUMODE_RECORD , 300.Dv AUMODE_RECORD ,
301.Dv AUMODE_PLAY_ALL , 301.Dv AUMODE_PLAY_ALL ,
302or a bitwise OR combination of the three. 302or a bitwise OR combination of the three.
303Only full-duplex audio devices support 303Only full-duplex audio devices support
304simultaneous record and playback. 304simultaneous record and playback.
305.Pp 305.Pp
306.Va hiwat 306.Va hiwat
307and 307and
308.Va lowat 308.Va lowat
309are used to control write behavior. 309are used to control write behavior.
310Writes to the audio devices will queue up blocks until the high-water 310Writes to the audio devices will queue up blocks until the high-water
311mark is reached, at which point any more write calls will block 311mark is reached, at which point any more write calls will block
312until the queue is drained to the low-water mark. 312until the queue is drained to the low-water mark.
313.Va hiwat 313.Va hiwat
314and 314and
315.Va lowat 315.Va lowat
316set those high- and low-water marks (in audio blocks). 316set those high- and low-water marks (in audio blocks).
317The default for 317The default for
318.Va hiwat 318.Va hiwat
319is the maximum value and for 319is the maximum value and for
320.Va lowat 320.Va lowat
32175 % of 32175 % of
322.Va hiwat . 322.Va hiwat .
323.Pp 323.Pp
324.Va blocksize 324.Va blocksize
325sets the current audio blocksize. 325sets the current audio blocksize.
326The generic audio driver layer and the hardware driver have the 326The generic audio driver layer and the hardware driver have the
327opportunity to adjust this block size to get it within 327opportunity to adjust this block size to get it within
328implementation-required limits. 328implementation-required limits.
329Upon return from an 329Upon return from an
330.Dv AUDIO_SETINFO 330.Dv AUDIO_SETINFO
331call, the actual blocksize set is returned in this field. 331call, the actual blocksize set is returned in this field.
332Normally the 332Normally the
333.Va blocksize 333.Va blocksize
334is calculated to correspond to 50ms of sound and it is recalculated 334is calculated to correspond to 50ms of sound and it is recalculated
335when the encoding parameter changes, but if the 335when the encoding parameter changes, but if the
336.Va blocksize 336.Va blocksize
337is set explicitly this value becomes sticky, i.e., it remains 337is set explicitly this value becomes sticky, i.e., it remains
338even when the encoding is changed. 338even when the encoding is changed.
339The stickiness can be cleared by reopening the device or setting the 339The stickiness can be cleared by reopening the device or setting the
340.Va blocksize 340.Va blocksize
341to 0. 341to 0.
342.Bd -literal 342.Bd -literal
343struct audio_prinfo { 343struct audio_prinfo {
344 u_int sample_rate; /* sample rate in samples/s */ 344 u_int sample_rate; /* sample rate in samples/s */
345 u_int channels; /* number of channels, usually 1 or 2 */ 345 u_int channels; /* number of channels, usually 1 or 2 */
346 u_int precision; /* number of bits/sample */ 346 u_int precision; /* number of bits/sample */
347 u_int encoding; /* data encoding (AUDIO_ENCODING_* below) */ 347 u_int encoding; /* data encoding (AUDIO_ENCODING_* below) */
348 u_int gain; /* volume level */ 348 u_int gain; /* volume level */
349 u_int port; /* selected I/O port */ 349 u_int port; /* selected I/O port */
350 u_long seek; /* BSD extension */ 350 u_long seek; /* BSD extension */
351 u_int avail_ports; /* available I/O ports */ 351 u_int avail_ports; /* available I/O ports */
352 u_int buffer_size; /* total size audio buffer */ 352 u_int buffer_size; /* total size audio buffer */
353 u_int _ispare[1]; 353 u_int _ispare[1];
354 /* Current state of device: */ 354 /* Current state of device: */
355 u_int samples; /* number of samples */ 355 u_int samples; /* number of samples */
356 u_int eof; /* End Of File (zero-size writes) counter */ 356 u_int eof; /* End Of File (zero-size writes) counter */
357 u_char pause; /* non-zero if paused, zero to resume */ 357 u_char pause; /* non-zero if paused, zero to resume */
358 u_char error; /* non-zero if underflow/overflow occurred */ 358 u_char error; /* non-zero if underflow/overflow occurred */
359 u_char waiting; /* non-zero if another process hangs in open */ 359 u_char waiting; /* non-zero if another process hangs in open */
360 u_char balance; /* stereo channel balance */ 360 u_char balance; /* stereo channel balance */
361 u_char cspare[2]; 361 u_char cspare[2];
362 u_char open; /* non-zero if currently open */ 362 u_char open; /* non-zero if currently open */
363 u_char active; /* non-zero if I/O is currently active */ 363 u_char active; /* non-zero if I/O is currently active */
364}; 364};
365.Ed 365.Ed
366.Pp 366.Pp
367Note: many hardware audio drivers require identical playback and 367Note: many hardware audio drivers require identical playback and
368recording sample rates, sample encodings, and channel counts. 368recording sample rates, sample encodings, and channel counts.
369The playing information is always set last and will prevail on such hardware. 369The playing information is always set last and will prevail on such hardware.
370If the hardware can handle different settings the 370If the hardware can handle different settings the
371.Dv AUDIO_PROP_INDEPENDENT 371.Dv AUDIO_PROP_INDEPENDENT
372property is set. 372property is set.
373.Pp 373.Pp
374The encoding parameter can have the following values: 374The encoding parameter can have the following values:
375.Pp 375.Pp
376.Bl -tag -width AUDIO_ENCODING_SLINEAR_BE -compact 376.Bl -tag -width AUDIO_ENCODING_SLINEAR_BE -compact
377.It Dv AUDIO_ENCODING_ULAW 377.It Dv AUDIO_ENCODING_ULAW
378mu-law encoding, 8 bits/sample 378mu-law encoding, 8 bits/sample
379.It Dv AUDIO_ENCODING_ALAW 379.It Dv AUDIO_ENCODING_ALAW
380A-law encoding, 8 bits/sample 380A-law encoding, 8 bits/sample
381.It Dv AUDIO_ENCODING_SLINEAR 381.It Dv AUDIO_ENCODING_SLINEAR
382two's complement signed linear encoding with the platform byte order 382two's complement signed linear encoding with the platform byte order
383.It Dv AUDIO_ENCODING_ULINEAR 383.It Dv AUDIO_ENCODING_ULINEAR
384unsigned linear encoding with the platform byte order 384unsigned linear encoding with the platform byte order
385.It Dv AUDIO_ENCODING_ADPCM 385.It Dv AUDIO_ENCODING_ADPCM
386ADPCM encoding, 8 bits/sample 386ADPCM encoding, 8 bits/sample
387.It Dv AUDIO_ENCODING_SLINEAR_LE 387.It Dv AUDIO_ENCODING_SLINEAR_LE
388two's complement signed linear encoding with little endian byte order 388two's complement signed linear encoding with little endian byte order
389.It Dv AUDIO_ENCODING_SLINEAR_BE 389.It Dv AUDIO_ENCODING_SLINEAR_BE
390two's complement signed linear encoding with big endian byte order 390two's complement signed linear encoding with big endian byte order
391.It Dv AUDIO_ENCODING_ULINEAR_LE 391.It Dv AUDIO_ENCODING_ULINEAR_LE
392unsigned linear encoding with little endian byte order 392unsigned linear encoding with little endian byte order
393.It Dv AUDIO_ENCODING_ULINEAR_BE 393.It Dv AUDIO_ENCODING_ULINEAR_BE
394unsigned linear encoding with big endian byte order 394unsigned linear encoding with big endian byte order
395.El 395.El
396.Pp 396.Pp
397The 397The
398.Va gain , 398.Va gain ,
399.Va port 399.Va port
400and 400and
401.Va balance 401.Va balance
402settings provide simple shortcuts to the richer mixer 402settings provide simple shortcuts to the richer mixer
403interface described below and are not obtained by 403interface described below and are not obtained by
404.Dv AUDIO_GETBUFINFO . 404.Dv AUDIO_GETBUFINFO .
405The gain should be in the range 405The gain should be in the range
406.Bq Dv AUDIO_MIN_GAIN , Dv AUDIO_MAX_GAIN 406.Bq Dv AUDIO_MIN_GAIN , Dv AUDIO_MAX_GAIN
407and the balance in the range 407and the balance in the range
408.Bq Dv AUDIO_LEFT_BALANCE , Dv AUDIO_RIGHT_BALANCE 408.Bq Dv AUDIO_LEFT_BALANCE , Dv AUDIO_RIGHT_BALANCE
409with the normal setting at 409with the normal setting at
410.Dv AUDIO_MID_BALANCE . 410.Dv AUDIO_MID_BALANCE .
411.Pp 411.Pp
412The input port should be a combination of: 412The input port should be a combination of:
413.Pp 413.Pp
414.Bl -tag -width AUDIO_MICROPHONE -compact 414.Bl -tag -width AUDIO_MICROPHONE -compact
415.It Dv AUDIO_MICROPHONE 415.It Dv AUDIO_MICROPHONE
416to select microphone input. 416to select microphone input.
417.It Dv AUDIO_LINE_IN 417.It Dv AUDIO_LINE_IN
418to select line input. 418to select line input.
419.It Dv AUDIO_CD 419.It Dv AUDIO_CD
420to select CD input. 420to select CD input.
421.El 421.El
422.Pp 422.Pp
423The output port should be a combination of: 423The output port should be a combination of:
424.Pp 424.Pp
425.Bl -tag -width AUDIO_HEADPHONE -compact 425.Bl -tag -width AUDIO_HEADPHONE -compact
426.It Dv AUDIO_SPEAKER 426.It Dv AUDIO_SPEAKER
427to select speaker output. 427to select speaker output.
428.It Dv AUDIO_HEADPHONE 428.It Dv AUDIO_HEADPHONE
429to select headphone output. 429to select headphone output.
430.It Dv AUDIO_LINE_OUT 430.It Dv AUDIO_LINE_OUT
431to select line output. 431to select line output.
432.El 432.El
433.Pp 433.Pp
434The available ports can be found in 434The available ports can be found in
435.Va avail_ports 435.Va avail_ports
436.Dv ( AUDIO_GETBUFINFO 436.Dv ( AUDIO_GETBUFINFO
437only). 437only).
438.Pp 438.Pp
439.Va buffer_size 439.Va buffer_size
440is the total size of the audio buffer. 440is the total size of the audio buffer.
441The buffer size divided by the 441The buffer size divided by the
442.Va blocksize 442.Va blocksize
443gives the maximum value for 443gives the maximum value for
444.Va hiwat . 444.Va hiwat .
445Currently the 445Currently the
446.Va buffer_size 446.Va buffer_size
447can only be read and not set. 447can only be read and not set.
448.Pp 448.Pp
449The 449The
450.Va seek 450.Va seek
451and 451and
452.Va samples 452.Va samples
453fields are only used by 453fields are only used by
454.Dv AUDIO_GETINFO 454.Dv AUDIO_GETINFO
455and 455and
456.Dv AUDIO_GETBUFINFO . 456.Dv AUDIO_GETBUFINFO .
457.Va seek 457.Va seek
458represents the count of 458represents the count of
459samples pending; 459samples pending;
460.Va samples 460.Va samples
461represents the total number of bytes recorded or played, less those 461represents the total number of bytes recorded or played, less those
462that were dropped due to inadequate consumption/production rates. 462that were dropped due to inadequate consumption/production rates.
463.Pp 463.Pp
464.Va pause 464.Va pause
465returns the current pause/unpause state for recording or playback. 465returns the current pause/unpause state for recording or playback.
466For 466For
467.Dv AUDIO_SETINFO , 467.Dv AUDIO_SETINFO ,
468if the pause value is specified it will either pause 468if the pause value is specified it will either pause
469or unpause the particular direction. 469or unpause the particular direction.
470.El 470.El
471.Sh MIXER DEVICE 471.Sh MIXER DEVICE
472The mixer device, 472The mixer device,
473.Pa /dev/mixer , 473.Pa /dev/mixer ,
474may be manipulated with 474may be manipulated with
475.Xr ioctl 2 475.Xr ioctl 2
476but does not support 476but does not support
477.Xr read 2 477.Xr read 2
478or 478or
479.Xr write 2 . 479.Xr write 2 .
480It supports the following 480It supports the following
481.Xr ioctl 2 481.Xr ioctl 2
482commands: 482commands:
483.Bl -tag -width indent 483.Bl -tag -width indent
484.It Dv AUDIO_GETDEV (audio_device_t) 484.It Dv AUDIO_GETDEV (audio_device_t)
485This command is the same as described above for the sampling devices. 485This command is the same as described above for the sampling devices.
486.It Dv AUDIO_MIXER_READ (mixer_ctrl_t) 486.It Dv AUDIO_MIXER_READ (mixer_ctrl_t)
487.It Dv AUDIO_MIXER_WRITE (mixer_ctrl_t) 487.It Dv AUDIO_MIXER_WRITE (mixer_ctrl_t)
488These commands read the current mixer state or set new mixer state for 488These commands read the current mixer state or set new mixer state for
489the specified device 489the specified device
490.Va dev . 490.Va dev .
491.Va type 491.Va type
492identifies which type of value is supplied in the 492identifies which type of value is supplied in the
493.Va mixer_ctrl_t 493.Va mixer_ctrl_t
494argument. 494argument.
495.Bd -literal 495.Bd -literal
496#define AUDIO_MIXER_CLASS 0 496#define AUDIO_MIXER_CLASS 0
497#define AUDIO_MIXER_ENUM 1 497#define AUDIO_MIXER_ENUM 1
498#define AUDIO_MIXER_SET 2 498#define AUDIO_MIXER_SET 2
499#define AUDIO_MIXER_VALUE 3 499#define AUDIO_MIXER_VALUE 3
500typedef struct mixer_ctrl { 500typedef struct mixer_ctrl {
501 int dev; /* input: nth device */ 501 int dev; /* input: nth device */
502 int type; 502 int type;
503 union { 503 union {
504 int ord; /* enum */ 504 int ord; /* enum */
505 int mask; /* set */ 505 int mask; /* set */
506 mixer_level_t value; /* value */ 506 mixer_level_t value; /* value */
507 } un; 507 } un;
508} mixer_ctrl_t; 508} mixer_ctrl_t;
509 509
510#define AUDIO_MIN_GAIN 0 510#define AUDIO_MIN_GAIN 0
511#define AUDIO_MAX_GAIN 255 511#define AUDIO_MAX_GAIN 255
512typedef struct mixer_level { 512typedef struct mixer_level {
513 int num_channels; 513 int num_channels;
514 u_char level[8]; /* [num_channels] */ 514 u_char level[8]; /* [num_channels] */
515} mixer_level_t; 515} mixer_level_t;
516#define AUDIO_MIXER_LEVEL_MONO 0 516#define AUDIO_MIXER_LEVEL_MONO 0
517#define AUDIO_MIXER_LEVEL_LEFT 0 517#define AUDIO_MIXER_LEVEL_LEFT 0
518#define AUDIO_MIXER_LEVEL_RIGHT 1 518#define AUDIO_MIXER_LEVEL_RIGHT 1
519.Ed 519.Ed
520.Pp 520.Pp
521For a mixer value, the 521For a mixer value, the
522.Va value 522.Va value
523field specifies both the number of channels and the values for each 523field specifies both the number of channels and the values for each
524channel. 524channel.
525If the channel count does not match the current channel count, the 525If the channel count does not match the current channel count, the
526attempt to change the setting may fail (depending on the hardware 526attempt to change the setting may fail (depending on the hardware
527device driver implementation). 527device driver implementation).
528For an enumeration value, the 528For an enumeration value, the
529.Va ord 529.Va ord
530field should be set to one of the possible values as returned by a prior 530field should be set to one of the possible values as returned by a prior
531.Dv AUDIO_MIXER_DEVINFO 531.Dv AUDIO_MIXER_DEVINFO
532command. 532command.
533The type 533The type
534.Dv AUDIO_MIXER_CLASS 534.Dv AUDIO_MIXER_CLASS
535is only used for classifying particular mixer device 535is only used for classifying particular mixer device
536types and is not used for 536types and is not used for
537.Dv AUDIO_MIXER_READ 537.Dv AUDIO_MIXER_READ
538or 538or
539.Dv AUDIO_MIXER_WRITE . 539.Dv AUDIO_MIXER_WRITE .
540.It Dv AUDIO_MIXER_DEVINFO (mixer_devinfo_t) 540.It Dv AUDIO_MIXER_DEVINFO (mixer_devinfo_t)
541This command is used iteratively to fetch audio mixer device information 541This command is used iteratively to fetch audio mixer device information
542into the input/output mixer_devinfo_t argument. 542into the input/output mixer_devinfo_t argument.
543To query all the supported devices, start with an index field of 543To query all the supported devices, start with an index field of
5440 and continue with successive devices (1, 2, ...) until the 5440 and continue with successive devices (1, 2, ...) until the
545command returns an error. 545command returns an error.
546.Bd -literal 546.Bd -literal
547typedef struct mixer_devinfo { 547typedef struct mixer_devinfo {
548 int index; /* input: nth mixer device */ 548 int index; /* input: nth mixer device */
549 audio_mixer_name_t label; 549 audio_mixer_name_t label;
550 int type; 550 int type;
551 int mixer_class; 551 int mixer_class;
552 int next, prev; 552 int next, prev;
553#define AUDIO_MIXER_LAST -1 553#define AUDIO_MIXER_LAST -1
554 union { 554 union {
555 struct audio_mixer_enum { 555 struct audio_mixer_enum {
556 int num_mem; 556 int num_mem;
557 struct { 557 struct {
558 audio_mixer_name_t label; 558 audio_mixer_name_t label;
559 int ord; 559 int ord;
560 } member[32]; 560 } member[32];
561 } e; 561 } e;
562 struct audio_mixer_set { 562 struct audio_mixer_set {
563 int num_mem; 563 int num_mem;
564 struct { 564 struct {
565 audio_mixer_name_t label; 565 audio_mixer_name_t label;
566 int mask; 566 int mask;
567 } member[32]; 567 } member[32];
568 } s; 568 } s;
569 struct audio_mixer_value { 569 struct audio_mixer_value {
570 audio_mixer_name_t units; 570 audio_mixer_name_t units;
571 int num_channels; 571 int num_channels;
572 int delta; 572 int delta;
573 } v; 573 } v;
574 } un; 574 } un;
575} mixer_devinfo_t; 575} mixer_devinfo_t;
576.Ed 576.Ed
577.Pp 577.Pp
578The 578The
579.Va label 579.Va label
580field identifies the name of this particular mixer control. 580field identifies the name of this particular mixer control.
581The 581The
582.Va index 582.Va index
583field may be used as the 583field may be used as the
584.Va dev 584.Va dev
585field in 585field in
586.Dv AUDIO_MIXER_READ 586.Dv AUDIO_MIXER_READ
587and 587and
588.Dv AUDIO_MIXER_WRITE 588.Dv AUDIO_MIXER_WRITE
589commands. 589commands.
590The 590The
591.Va type 591.Va type
592field identifies the type of this mixer control. 592field identifies the type of this mixer control.
593Enumeration types are typically used for on/off style controls (e.g. a 593Enumeration types are typically used for on/off style controls (e.g. a
594mute control) or for input/output device selection (e.g. select 594mute control) or for input/output device selection (e.g. select
595recording input source from CD, line in, or microphone). 595recording input source from CD, line in, or microphone).
596Set types are similar to enumeration types but any combination 596Set types are similar to enumeration types but any combination
597of the mask bits can be used. 597of the mask bits can be used.
598.Pp 598.Pp
599The 599The
600.Va mixer_class 600.Va mixer_class
601field identifies what class of control this is. 601field identifies what class of control this is.
602The 602The
603.Pq arbitrary 603.Pq arbitrary
604value set by the hardware driver may be determined by examining the 604value set by the hardware driver may be determined by examining the
605.Va mixer_class 605.Va mixer_class
606field of the class itself, 606field of the class itself,
607a mixer of type 607a mixer of type
608.Dv AUDIO_MIXER_CLASS . 608.Dv AUDIO_MIXER_CLASS .
609For example, a mixer controlling the input gain on the line in circuit 609For example, a mixer controlling the input gain on the line in circuit
610would have a 610would have a
611.Va mixer_class 611.Va mixer_class
612that matches an input class device with the name 612that matches an input class device with the name
613.Dq inputs 613.Dq inputs
614.Dv ( AudioCinputs ) , 614.Dv ( AudioCinputs ) ,
615and would have a 615and would have a
616.Va label 616.Va label
617of 617of
618.Dq line 618.Dq line
619.Dv ( AudioNline ) . 619.Dv ( AudioNline ) .
620Mixer controls which control audio circuitry for a particular audio 620Mixer controls which control audio circuitry for a particular audio
621source (e.g. line-in, CD in, DAC output) are collected under the input class, 621source (e.g. line-in, CD in, DAC output) are collected under the input class,
622while those which control all audio sources (e.g. master volume, 622while those which control all audio sources (e.g. master volume,
623equalization controls) are under the output class. 623equalization controls) are under the output class.
624Hardware devices capable of recording typically also have a record class, 624Hardware devices capable of recording typically also have a record class,
625for controls that only affect recording, 625for controls that only affect recording,
626and also a monitor class. 626and also a monitor class.
627.Pp 627.Pp
628The 628The
629.Va next 629.Va next
630and 630and
631.Va prev 631.Va prev
632may be used by the hardware device driver to provide hints for the next 632may be used by the hardware device driver to provide hints for the next
633and previous devices in a related set (for example, the line in level 633and previous devices in a related set (for example, the line in level
634control would have the line in mute as its 634control would have the line in mute as its
635.Dq next 635.Dq next
636value). 636value).
637If there is no relevant next or previous value, 637If there is no relevant next or previous value,
638.Dv AUDIO_MIXER_LAST 638.Dv AUDIO_MIXER_LAST
639is specified. 639is specified.
640.Pp 640.Pp
641For 641For
642.Dv AUDIO_MIXER_ENUM 642.Dv AUDIO_MIXER_ENUM
643mixer control types, 643mixer control types,
644the enumeration values and their corresponding names are filled in. 644the enumeration values and their corresponding names are filled in.
645For example, a mute control would return appropriate values paired with 645For example, a mute control would return appropriate values paired with
646.Dv AudioNon 646.Dv AudioNon
647and 647and
648.Dv AudioNoff . 648.Dv AudioNoff .
649For 649For
650.Dv AUDIO_MIXER_VALUE 650.Dv AUDIO_MIXER_VALUE
651and 651and
652.Dv AUDIO_MIXER_SET 652.Dv AUDIO_MIXER_SET
653mixer control types, the channel count is 653mixer control types, the channel count is
654returned; the units name specifies what the level controls (typical 654returned; the units name specifies what the level controls (typical
655values are 655values are
656.Dv AudioNvolume , 656.Dv AudioNvolume ,
657.Dv AudioNtreble , 657.Dv AudioNtreble ,
658.Dv AudioNbass ) . 658.Dv AudioNbass ) .
659.\" For AUDIO_MIXER_SET mixer control types, what is what? 659.\" For AUDIO_MIXER_SET mixer control types, what is what?
660.El 660.El
661.Pp 661.Pp
662By convention, all the mixer devices can be distinguished from other 662By convention, all the mixer devices can be distinguished from other
663mixer controls because they use a name from one of the 663mixer controls because they use a name from one of the
664.Dv AudioC* 664.Dv AudioC*
665string values. 665string values.
666.Sh FILES 666.Sh FILES
667.Bl -tag -width /dev/audioctl -compact 667.Bl -tag -width /dev/audioctl -compact
668.It Pa /dev/audio 668.It Pa /dev/audio
669.It Pa /dev/audioctl 669.It Pa /dev/audioctl
670.It Pa /dev/sound 670.It Pa /dev/sound
671.It Pa /dev/mixer 671.It Pa /dev/mixer
672.El 672.El
673.Sh SEE ALSO 673.Sh SEE ALSO
674.Xr audioctl 1 , 674.Xr audioctl 1 ,
675.Xr mixerctl 1 , 675.Xr mixerctl 1 ,
676.Xr ioctl 2 , 676.Xr ioctl 2 ,
677.Xr ossaudio 3 , 677.Xr ossaudio 3 ,
678.Xr midi 4 , 678.Xr midi 4 ,
679.Xr radio 4 679.Xr radio 4
680.Ss ISA bus 680.Ss ISA bus
681.Xr aria 4 , 681.Xr aria 4 ,
682.Xr ess 4 , 682.Xr ess 4 ,
683.Xr gus 4 , 683.Xr gus 4 ,
684.Xr guspnp 4 , 684.Xr guspnp 4 ,
685.Xr pas 4 , 685.Xr pas 4 ,
686.Xr sb 4 , 686.Xr sb 4 ,
687.Xr wss 4 , 687.Xr wss 4 ,
688.Xr ym 4 688.Xr ym 4
689.Ss PCI bus 689.Ss PCI bus
690.Xr auacer 4 , 690.Xr auacer 4 ,
691.Xr auich 4 , 691.Xr auich 4 ,
692.Xr auixp 4 , 692.Xr auixp 4 ,
693.Xr autri 4 , 693.Xr autri 4 ,
694.Xr auvia 4 , 694.Xr auvia 4 ,
695.Xr azalia 4 , 695.Xr azalia 4 ,
696.Xr clcs 4 , 696.Xr clcs 4 ,
697.Xr clct 4 , 697.Xr clct 4 ,
698.Xr cmpci 4 , 698.Xr cmpci 4 ,
699.Xr eap 4 , 699.Xr eap 4 ,
700.Xr emuxki 4 , 700.Xr emuxki 4 ,
701.Xr esa 4 , 701.Xr esa 4 ,
702.Xr esm 4 , 702.Xr esm 4 ,
703.Xr eso 4 , 703.Xr eso 4 ,
704.Xr fms 4 , 704.Xr fms 4 ,
705.Xr neo 4 , 705.Xr neo 4 ,
706.Xr sv 4 , 706.Xr sv 4 ,
707.Xr yds 4 707.Xr yds 4
708.Ss PCMCIA 
709.Xr esl 4 
710.Ss TURBOchannel 708.Ss TURBOchannel
711.Xr bba 4 709.Xr bba 4
712.Ss USB 710.Ss USB
713.Xr uaudio 4 711.Xr uaudio 4
714.Sh BUGS 712.Sh BUGS
715If the device is used in 713If the device is used in
716.Xr mmap 2 714.Xr mmap 2
717it is currently always mapped for writing (playing) due to 715it is currently always mapped for writing (playing) due to
718VM system weirdness. 716VM system weirdness.

cvs diff -r1.19 -r1.20 src/share/man/man4/opl.4 (switch to unified diff)

--- src/share/man/man4/opl.4 2008/04/30 13:10:54 1.19
+++ src/share/man/man4/opl.4 2009/01/03 17:44:20 1.20
@@ -1,88 +1,86 @@ @@ -1,88 +1,86 @@
1.\" $NetBSD: opl.4,v 1.19 2008/04/30 13:10:54 martin Exp $ 1.\" $NetBSD: opl.4,v 1.20 2009/01/03 17:44:20 christos Exp $
2.\" 2.\"
3.\" Copyright (c) 1999 The NetBSD Foundation, Inc. 3.\" Copyright (c) 1999 The NetBSD Foundation, Inc.
4.\" All rights reserved. 4.\" All rights reserved.
5.\" 5.\"
6.\" This code is derived from software contributed to The NetBSD Foundation 6.\" This code is derived from software contributed to The NetBSD Foundation
7.\" by Lennart Augustsson. 7.\" by Lennart Augustsson.
8.\" 8.\"
9.\" Redistribution and use in source and binary forms, with or without 9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions 10.\" modification, are permitted provided that the following conditions
11.\" are met: 11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright 12.\" 1. Redistributions of source code must retain the above copyright
13.\" notice, this list of conditions and the following disclaimer. 13.\" notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright 14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\" notice, this list of conditions and the following disclaimer in the 15.\" notice, this list of conditions and the following disclaimer in the
16.\" documentation and/or other materials provided with the distribution. 16.\" documentation and/or other materials provided with the distribution.
17.\" 17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGE. 28.\" POSSIBILITY OF SUCH DAMAGE.
29.\" 29.\"
30.Dd October 7, 2006 30.Dd January 3, 2009
31.Dt OPL 4 31.Dt OPL 4
32.Os 32.Os
33.Sh NAME 33.Sh NAME
34.Nm opl 34.Nm opl
35.Nd Yamaha OPL2 and OPL3 FM MIDI synthesizer driver 35.Nd Yamaha OPL2 and OPL3 FM MIDI synthesizer driver
36.Sh SYNOPSIS 36.Sh SYNOPSIS
37.Cd "opl* at cmpci? flags 1" 37.Cd "opl* at cmpci? flags 1"
38.Cd "opl* at esl?" 
39.Cd "opl* at eso?" 38.Cd "opl* at eso?"
40.Cd "opl* at ess?" 39.Cd "opl* at ess?"
41.Cd "opl* at fms?" 40.Cd "opl* at fms?"
42.Cd "opl0 at isa? port 0x388" 41.Cd "opl0 at isa? port 0x388"
43.Cd "opl* at sb?" 42.Cd "opl* at sb?"
44.Cd "opl* at sv?" 43.Cd "opl* at sv?"
45.Cd "opl* at wss?" 44.Cd "opl* at wss?"
46.Cd "opl* at yds?" 45.Cd "opl* at yds?"
47.Cd "opl* at ym?" 46.Cd "opl* at ym?"
48.Cd "midi* at opl?" 47.Cd "midi* at opl?"
49.Sh DESCRIPTION 48.Sh DESCRIPTION
50The 49The
51.Nm 50.Nm
52driver provides support for the Yamaha OPL2 (YM3812) and OPL3 51driver provides support for the Yamaha OPL2 (YM3812) and OPL3
53(YMF262) chips. The chips are FM synthesizers and are capable 52(YMF262) chips. The chips are FM synthesizers and are capable
54of producing a wide range of sounds. 53of producing a wide range of sounds.
55.Pp 54.Pp
56Access to the device is through the MIDI driver. 55Access to the device is through the MIDI driver.
57.Pp 56.Pp
58The 57The
59.Nm 58.Nm
60driver usually attaches to a sound card, but it can also sit 59driver usually attaches to a sound card, but it can also sit
61directly on the ISA bus. 60directly on the ISA bus.
62.Pp 61.Pp
63If 62If
64.Dq flags 1 63.Dq flags 1
65is specified, the 64is specified, the
66.Nm 65.Nm
67driver handles left and right channels of OPL3 swapped. 66driver handles left and right channels of OPL3 swapped.
68Use this flag if your device has such problem. 67Use this flag if your device has such problem.
69.Sh SEE ALSO 68.Sh SEE ALSO
70.Xr cmpci 4 , 69.Xr cmpci 4 ,
71.Xr esl 4 , 
72.Xr eso 4 , 70.Xr eso 4 ,
73.Xr ess 4 , 71.Xr ess 4 ,
74.Xr fms 4 , 72.Xr fms 4 ,
75.Xr isa 4 , 73.Xr isa 4 ,
76.Xr midi 4 , 74.Xr midi 4 ,
77.Xr sb 4 , 75.Xr sb 4 ,
78.Xr sv 4 , 76.Xr sv 4 ,
79.Xr wss 4 , 77.Xr wss 4 ,
80.Xr yds 4 , 78.Xr yds 4 ,
81.Xr ym 4 79.Xr ym 4
82.Sh HISTORY 80.Sh HISTORY
83The 81The
84.Nm 82.Nm
85device driver appeared in 83device driver appeared in
86.Nx 1.4 . 84.Nx 1.4 .
87.Sh BUGS 85.Sh BUGS
88The OPL3 chip is operated in OPL2 mode despite being more capable. 86The OPL3 chip is operated in OPL2 mode despite being more capable.

cvs diff -r1.89 -r1.90 src/share/man/man4/pci.4 (switch to unified diff)

--- src/share/man/man4/pci.4 2008/12/16 02:14:24 1.89
+++ src/share/man/man4/pci.4 2009/01/03 17:44:20 1.90
@@ -1,517 +1,515 @@ @@ -1,517 +1,515 @@
1.\" $NetBSD: pci.4,v 1.89 2008/12/16 02:14:24 jakllsch Exp $ 1.\" $NetBSD: pci.4,v 1.90 2009/01/03 17:44:20 christos Exp $
2.\" 2.\"
3.\" Copyright (c) 1997 Jason R. Thorpe. All rights reserved. 3.\" Copyright (c) 1997 Jason R. Thorpe. All rights reserved.
4.\" Copyright (c) 1997 Jonathan Stone 4.\" Copyright (c) 1997 Jonathan Stone
5.\" All rights reserved. 5.\" All rights reserved.
6.\" 6.\"
7.\" Redistribution and use in source and binary forms, with or without 7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions 8.\" modification, are permitted provided that the following conditions
9.\" are met: 9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright 10.\" 1. Redistributions of source code must retain the above copyright
11.\" notice, this list of conditions and the following disclaimer. 11.\" notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\" notice, this list of conditions and the following disclaimer in the 13.\" notice, this list of conditions and the following disclaimer in the
14.\" documentation and/or other materials provided with the distribution. 14.\" documentation and/or other materials provided with the distribution.
15.\" 3. All advertising materials mentioning features or use of this software 15.\" 3. All advertising materials mentioning features or use of this software
16.\" must display the following acknowledgements: 16.\" must display the following acknowledgements:
17.\" This product includes software developed by Jonathan Stone 17.\" This product includes software developed by Jonathan Stone
18.\" 4. The name of the author may not be used to endorse or promote products 18.\" 4. The name of the author may not be used to endorse or promote products
19.\" derived from this software without specific prior written permission 19.\" derived from this software without specific prior written permission
20.\" 20.\"
21.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 21.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 22.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 23.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 24.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 25.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31.\" 31.\"
32.Dd December 16, 2008 32.Dd January 3, 2009
33.Dt PCI 4 33.Dt PCI 4
34.Os 34.Os
35.Sh NAME 35.Sh NAME
36.Nm pci 36.Nm pci
37.Nd introduction to machine-independent PCI bus support and drivers 37.Nd introduction to machine-independent PCI bus support and drivers
38.Sh SYNOPSIS 38.Sh SYNOPSIS
39.Cd "pci* at mainbus? bus ?" 39.Cd "pci* at mainbus? bus ?"
40.Cd "pci* at pchb? bus ?" 40.Cd "pci* at pchb? bus ?"
41.Cd "pci* at ppb? bus ?" 41.Cd "pci* at ppb? bus ?"
42.Pp 42.Pp
43.Cd options PCIVERBOSE 43.Cd options PCIVERBOSE
44.Cd options PCI_CONFIG_DUMP 44.Cd options PCI_CONFIG_DUMP
45.Cd options PCI_ADDR_FIXUP 45.Cd options PCI_ADDR_FIXUP
46.Cd options PCI_BUS_FIXUP 46.Cd options PCI_BUS_FIXUP
47.Cd options PCI_INTR_FIXUP 47.Cd options PCI_INTR_FIXUP
48.Sh DESCRIPTION 48.Sh DESCRIPTION
49Other 49Other
50.Nm 50.Nm
51attachments are machine-dependent and depend on the bus topology and 51attachments are machine-dependent and depend on the bus topology and
52.Tn PCI 52.Tn PCI
53bus interface of your system. 53bus interface of your system.
54See 54See
55.Xr intro 4 55.Xr intro 4
56for your system for details. 56for your system for details.
57.Pp 57.Pp
58.Nx 58.Nx
59includes a machine-independent 59includes a machine-independent
60.Tn PCI 60.Tn PCI
61bus subsystem and 61bus subsystem and
62several machine-independent 62several machine-independent
63.Tn PCI 63.Tn PCI
64device drivers. 64device drivers.
65.Pp 65.Pp
66Your system may support additional 66Your system may support additional
67.Tn PCI 67.Tn PCI
68devices. 68devices.
69Drivers for 69Drivers for
70.Tn PCI 70.Tn PCI
71devices not listed here are machine-dependent. 71devices not listed here are machine-dependent.
72Consult your system's 72Consult your system's
73.Xr intro 4 73.Xr intro 4
74for additional information. 74for additional information.
75.Sh OPTIONS 75.Sh OPTIONS
76.Bl -tag -width PCI_ADDR_FIXUP -offset 3n 76.Bl -tag -width PCI_ADDR_FIXUP -offset 3n
77.It Dv PCI_ADDR_FIXUP 77.It Dv PCI_ADDR_FIXUP
78Fixup PCI I/O and memory addresses. 78Fixup PCI I/O and memory addresses.
79.Pp 79.Pp
80Some i386 and amd64 BIOS implementations don't allocate I/O space and 80Some i386 and amd64 BIOS implementations don't allocate I/O space and
81memory space for some PCI devices -- primarily BIOS in PnP mode, or laptops 81memory space for some PCI devices -- primarily BIOS in PnP mode, or laptops
82that expect devices to be configured via ACPI. 82that expect devices to be configured via ACPI.
83Since necessary space isn't allocated, those devices 83Since necessary space isn't allocated, those devices
84will not work without special handling. 84will not work without special handling.
85.Pp 85.Pp
86This option allocates I/O space and memory space 86This option allocates I/O space and memory space
87instead of relying upon the BIOS to do so. 87instead of relying upon the BIOS to do so.
88.Pp 88.Pp
89If necessary space is already correctly assigned to the devices, 89If necessary space is already correctly assigned to the devices,
90this option leaves the space as is. 90this option leaves the space as is.
91.Pp 91.Pp
92.It Dv PCI_BUS_FIXUP 92.It Dv PCI_BUS_FIXUP
93Fixup PCI bus numbering; needed for many 93Fixup PCI bus numbering; needed for many
94.Xr cardbus 4 94.Xr cardbus 4
95bridges. 95bridges.
96.Pp 96.Pp
97Each PCI bus and CardBus should have a unique bus number. 97Each PCI bus and CardBus should have a unique bus number.
98But some BIOS implementations don't assign a bus number 98But some BIOS implementations don't assign a bus number
99for subordinate PCI buses. 99for subordinate PCI buses.
100And many BIOS implementations 100And many BIOS implementations
101don't assign a bus number for CardBuses. 101don't assign a bus number for CardBuses.
102.Pp 102.Pp
103A typical symptom of this is the following boot message: 103A typical symptom of this is the following boot message:
104.D1 Sy cardbus0 at cardslot0: bus 0 device 0... 104.D1 Sy cardbus0 at cardslot0: bus 0 device 0...
105Please note that this cardbus0 has a bus number 105Please note that this cardbus0 has a bus number
106.Sq 0 , 106.Sq 0 ,
107but normally the bus number 0 is used by the machine's 107but normally the bus number 0 is used by the machine's
108primary PCI bus. 108primary PCI bus.
109Thus, this bus number for cardbus is incorrect 109Thus, this bus number for cardbus is incorrect
110.Pq not assigned . 110.Pq not assigned .
111In this situation, a device located in cardbus0 doesn't 111In this situation, a device located in cardbus0 doesn't
112show correct device ID, 112show correct device ID,
113because its bus number 0 incorrectly refers to the primary 113because its bus number 0 incorrectly refers to the primary
114PCI bus, and a device ID in the primary PCI bus is shown 114PCI bus, and a device ID in the primary PCI bus is shown
115in the boot message instead of the device's ID in the cardbus0. 115in the boot message instead of the device's ID in the cardbus0.
116.Pp 116.Pp
117This option assigns bus numbers for all subordinate 117This option assigns bus numbers for all subordinate
118PCI buses and CardBuses. 118PCI buses and CardBuses.
119.Pp 119.Pp
120Since this option renumbers all PCI buses and CardBuses, 120Since this option renumbers all PCI buses and CardBuses,
121all bus numbers of subordinate buses become different 121all bus numbers of subordinate buses become different
122when this option is enabled. 122when this option is enabled.
123.It Dv PCI_INTR_FIXUP 123.It Dv PCI_INTR_FIXUP
124Fixup PCI interrupt routing via PCIBIOS or ACPI. 124Fixup PCI interrupt routing via PCIBIOS or ACPI.
125.Pp 125.Pp
126Some i386 and amd64 BIOS implementations don't assign an interrupt for 126Some i386 and amd64 BIOS implementations don't assign an interrupt for
127some devices. 127some devices.
128.Pp 128.Pp
129This option assigns an interrupt for such devices instead 129This option assigns an interrupt for such devices instead
130of relying upon the BIOS to do so. 130of relying upon the BIOS to do so.
131.Pp 131.Pp
132If a valid interrupt has already been assigned to a device, this 132If a valid interrupt has already been assigned to a device, this
133option leaves the interrupt as is. 133option leaves the interrupt as is.
134.El 134.El
135.Sh HARDWARE 135.Sh HARDWARE
136.Nx 136.Nx
137includes machine-independent 137includes machine-independent
138.Tn PCI 138.Tn PCI
139drivers, sorted by device type and driver name: 139drivers, sorted by device type and driver name:
140.Ss SCSI interfaces 140.Ss SCSI interfaces
141.Bl -tag -width pcdisplay -offset indent 141.Bl -tag -width pcdisplay -offset indent
142.It ahc 142.It ahc
143Adaptec 29xx, 39xx, and other AIC-7xxx-based 143Adaptec 29xx, 39xx, and other AIC-7xxx-based
144.Tn SCSI 144.Tn SCSI
145interfaces. 145interfaces.
146.It adv 146.It adv
147Advansys 147Advansys
148.Tn SCSI 148.Tn SCSI
149interfaces. 149interfaces.
150.It adw 150.It adw
151Advansys Ultra Wide 151Advansys Ultra Wide
152.Tn SCSI 152.Tn SCSI
153interfaces. 153interfaces.
154.It bha 154.It bha
155Buslogic BT-9xx 155Buslogic BT-9xx
156.Tn SCSI 156.Tn SCSI
157interfaces. 157interfaces.
158.It dpt 158.It dpt
159DPT SmartCache/SmartRAID III and IV 159DPT SmartCache/SmartRAID III and IV
160.Tn SCSI 160.Tn SCSI
161interfaces. 161interfaces.
162.It iha 162.It iha
163Initio INIC-940/950 163Initio INIC-940/950
164.Tn SCSI 164.Tn SCSI
165interfaces. 165interfaces.
166.It isp 166.It isp
167QLogic ISP-1020, ISP-1040, and ISP-2100 167QLogic ISP-1020, ISP-1040, and ISP-2100
168.Tn SCSI 168.Tn SCSI
169and 169and
170.Tn FibreChannel 170.Tn FibreChannel
171interfaces. 171interfaces.
172.It mfi 172.It mfi
173LSI Logic \*[Am] Dell MegaRAID SAS RAID controllers. 173LSI Logic \*[Am] Dell MegaRAID SAS RAID controllers.
174.It mly 174.It mly
175Mylex AcceleRAID and eXtremeRAID controllers with v6 firmware. 175Mylex AcceleRAID and eXtremeRAID controllers with v6 firmware.
176.It pcscp 176.It pcscp
177Advanced Micro Devices Am53c974 PCscsi-PCI 177Advanced Micro Devices Am53c974 PCscsi-PCI
178.Tn SCSI 178.Tn SCSI
179interfaces. 179interfaces.
180.It siop 180.It siop
181Symbios Logic/NCR 53c8xx-family 181Symbios Logic/NCR 53c8xx-family
182.Tn SCSI 182.Tn SCSI
183interfaces. 183interfaces.
184.It trm 184.It trm
185Tekram TRM-S1040 ASIC based 185Tekram TRM-S1040 ASIC based
186.Tn SCSI 186.Tn SCSI
187interfaces. 187interfaces.
188.El 188.El
189.Ss Disk and tape controllers 189.Ss Disk and tape controllers
190.Bl -tag -width pcdisplay -offset indent 190.Bl -tag -width pcdisplay -offset indent
191.It aac 191.It aac
192The Adaptec AAC family of RAID controllers. 192The Adaptec AAC family of RAID controllers.
193.It ahcisata 193.It ahcisata
194AHCI 1.0 and 1.1 compliant SATA controllers. 194AHCI 1.0 and 1.1 compliant SATA controllers.
195.It amr 195.It amr
196The AMI and LSI Logic MegaRAID family of RAID controllers. 196The AMI and LSI Logic MegaRAID family of RAID controllers.
197.It cac 197.It cac
198Compaq array controllers. 198Compaq array controllers.
199.It icp 199.It icp
200ICP Vortex GDT and Intel Storage RAID controllers. 200ICP Vortex GDT and Intel Storage RAID controllers.
201.It mlx 201.It mlx
202Mylex DAC960 and DEC SWXCR RAID controllers. 202Mylex DAC960 and DEC SWXCR RAID controllers.
203.It pciide 203.It pciide
204IDE disk controllers. 204IDE disk controllers.
205.It siisata 
206Silicon Image SATA-II controllers. 
207.It twe 205.It twe
2083Ware Escalade RAID controllers. 2063Ware Escalade RAID controllers.
209.El 207.El
210.Ss Network interfaces 208.Ss Network interfaces
211.Bl -tag -width pcdisplay -offset indent 209.Bl -tag -width pcdisplay -offset indent
212.It an 210.It an
213.Tn Aironet 211.Tn Aironet
2144500/4800 and 2124500/4800 and
215.Tn Cisco 213.Tn Cisco
216340 series 802.11 interfaces. 214340 series 802.11 interfaces.
217.It bnx 215.It bnx
218Broadcom NetXtreme II 10/100/1000 Ethernet interfaces. 216Broadcom NetXtreme II 10/100/1000 Ethernet interfaces.
219.It de 217.It de
220.Tn DEC 218.Tn DEC
221DC21x4x (Tulip) based 219DC21x4x (Tulip) based
222.Tn Ethernet 220.Tn Ethernet
223interfaces, including the DE435, 221interfaces, including the DE435,
224DE450, and DE500, and Znyx, SMC, Cogent/Adaptec, and Asante single- and 222DE450, and DE500, and Znyx, SMC, Cogent/Adaptec, and Asante single- and
225multi-port 223multi-port
226.Tn Ethernet 224.Tn Ethernet
227interfaces. 225interfaces.
228.It en 226.It en
229Midway-based Efficient Networks Inc. and Adaptec ATM interfaces. 227Midway-based Efficient Networks Inc. and Adaptec ATM interfaces.
230.It ep 228.It ep
2313Com 3c590, 3c595, 3c900, and 3c905 2293Com 3c590, 3c595, 3c900, and 3c905
232.Tn Ethernet 230.Tn Ethernet
233interfaces. 231interfaces.
234.It epic 232.It epic
235SMC83C170 (EPIC/100) 233SMC83C170 (EPIC/100)
236.Tn Ethernet 234.Tn Ethernet
237interfaces. 235interfaces.
238.It esh 236.It esh
239RoadRunner-based HIPPI interfaces. 237RoadRunner-based HIPPI interfaces.
240.It ex 238.It ex
2413Com 3c900, 3c905, and 3c980 2393Com 3c900, 3c905, and 3c980
242.Tn Ethernet 240.Tn Ethernet
243interfaces. 241interfaces.
244.It fpa 242.It fpa
245.Tn DEC 243.Tn DEC
246DEFPA 244DEFPA
247.Tn FDDI 245.Tn FDDI
248interfaces. 246interfaces.
249.It fxp 247.It fxp
250Intel EtherExpress PRO 10+/100B 248Intel EtherExpress PRO 10+/100B
251.Tn Ethernet 249.Tn Ethernet
252interfaces. 250interfaces.
253.It gsip 251.It gsip
254National Semiconductor DP83820 based Gigabit 252National Semiconductor DP83820 based Gigabit
255.Tn Ethernet 253.Tn Ethernet
256interfaces. 254interfaces.
257.It hme 255.It hme
258Sun Microelectronics STP2002-STQ 256Sun Microelectronics STP2002-STQ
259.Tn Ethernet 257.Tn Ethernet
260interfaces. 258interfaces.
261.It le 259.It le
262PCNet-PCI 260PCNet-PCI
263.Tn Ethernet 261.Tn Ethernet
264interfaces. 262interfaces.
265Note, the 263Note, the
266.Xr pcn 4 264.Xr pcn 4
267driver supersedes this driver. 265driver supersedes this driver.
268.It lmc 266.It lmc
269LAN Media Corp WAN interfaces. 267LAN Media Corp WAN interfaces.
270.It msk 268.It msk
271Marvell Yukon 2 based Gigabit 269Marvell Yukon 2 based Gigabit
272.Tn Ethernet 270.Tn Ethernet
273interfaces. 271interfaces.
274.It ne 272.It ne
275NE2000-compatible 273NE2000-compatible
276.Tn Ethernet 274.Tn Ethernet
277interfaces. 275interfaces.
278.It nfe 276.It nfe
279NVIDIA nForce 277NVIDIA nForce
280.Tn Ethernet 278.Tn Ethernet
281interfaces. 279interfaces.
282.It ntwoc 280.It ntwoc
283SDL Communications N2pci and WAN/ic 400 synchronous serial interfaces. 281SDL Communications N2pci and WAN/ic 400 synchronous serial interfaces.
284.It pcn 282.It pcn
285AMD PCnet-PCI family of 283AMD PCnet-PCI family of
286.Tn Ethernet 284.Tn Ethernet
287interfaces. 285interfaces.
288.It ral 286.It ral
289Ralink Technology RT2500/RT2600-based 802.11a/b/g wireless network interfaces. 287Ralink Technology RT2500/RT2600-based 802.11a/b/g wireless network interfaces.
290.It rtk 288.It rtk
291Realtek 8129/8139 based 289Realtek 8129/8139 based
292.Tn Ethernet 290.Tn Ethernet
293interfaces. 291interfaces.
294.It sf 292.It sf
295Adaptec AIC-6915 10/100 293Adaptec AIC-6915 10/100
296.Tn Ethernet 294.Tn Ethernet
297interfaces. 295interfaces.
298.It sip 296.It sip
299Silicon Integrated Systems SiS 900, SiS 7016, and National Semiconductor 297Silicon Integrated Systems SiS 900, SiS 7016, and National Semiconductor
300DP83815 based 298DP83815 based
301.Tn Ethernet 299.Tn Ethernet
302interfaces. 300interfaces.
303.It sk 301.It sk
304SysKonnect SK-98xx based Gigabit 302SysKonnect SK-98xx based Gigabit
305.Tn Ethernet 303.Tn Ethernet
306interfaces. 304interfaces.
307.It ste 305.It ste
308Sundance ST-201 10/100 based 306Sundance ST-201 10/100 based
309.Tn Ethernet 307.Tn Ethernet
310interfaces. 308interfaces.
311.It stge 309.It stge
312Sundance/Tamarack TC9021 based Gigabit 310Sundance/Tamarack TC9021 based Gigabit
313.Tn Ethernet 311.Tn Ethernet
314interfaces. 312interfaces.
315.It ti 313.It ti
316Alteon Networks Tigon I and Tigon II Gigabit Ethernet driver. 314Alteon Networks Tigon I and Tigon II Gigabit Ethernet driver.
317.It tl 315.It tl
318Texas Instruments ThunderLAN-based 316Texas Instruments ThunderLAN-based
319.Tn Ethernet 317.Tn Ethernet
320interfaces. 318interfaces.
321.It tlp 319.It tlp
322DECchip 21x4x and clone 320DECchip 21x4x and clone
323.Tn Ethernet 321.Tn Ethernet
324interfaces. 322interfaces.
325.It vge 323.It vge
326VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver. 324VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver.
327.It vr 325.It vr
328VIA VT3043 (Rhine) and VT86C100A (Rhine-II) 326VIA VT3043 (Rhine) and VT86C100A (Rhine-II)
329.Tn Ethernet 327.Tn Ethernet
330interfaces. 328interfaces.
331.It wi 329.It wi
332WaveLAN/IEEE and PRISM-II 802.11 wireless interfaces. 330WaveLAN/IEEE and PRISM-II 802.11 wireless interfaces.
333.It wm 331.It wm
334Intel i8254x Gigabit 332Intel i8254x Gigabit
335.Tn Ethernet 333.Tn Ethernet
336driver. 334driver.
337.El 335.El
338.Ss Serial interfaces 336.Ss Serial interfaces
339.Bl -tag -width pcdisplay -offset indent 337.Bl -tag -width pcdisplay -offset indent
340.It cy 338.It cy
341Cyclades Cyclom-4Y, -8Y, and -16Y multi-port serial interfaces. 339Cyclades Cyclom-4Y, -8Y, and -16Y multi-port serial interfaces.
342.It cz 340.It cz
343Cyclades-Z series multi-port serial interfaces. 341Cyclades-Z series multi-port serial interfaces.
344.El 342.El
345.Ss Audio devices 343.Ss Audio devices
346.Bl -tag -width pcdisplay -offset indent 344.Bl -tag -width pcdisplay -offset indent
347.It auacer 345.It auacer
348Acer Labs M5455 I/O Controller Hub integrated AC'97 audio device. 346Acer Labs M5455 I/O Controller Hub integrated AC'97 audio device.
349.It auich 347.It auich
350Intel I/O Controller Hub integrated AC'97 audio device. 348Intel I/O Controller Hub integrated AC'97 audio device.
351.It auvia 349.It auvia
352VIA VT82C686A integrated AC'97 audio device. 350VIA VT82C686A integrated AC'97 audio device.
353.It autri 351.It autri
354Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 AC'97 audio device. 352Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 AC'97 audio device.
355.It clcs 353.It clcs
356Cirrus Logic CS4280 audio device. 354Cirrus Logic CS4280 audio device.
357.It clct 355.It clct
358Cirrus Logic CS4281 audio device. 356Cirrus Logic CS4281 audio device.
359.It cmpci 357.It cmpci
360C-Media CMI8x38 audio device. 358C-Media CMI8x38 audio device.
361.It eap 359.It eap
362Ensoniq AudioPCI audio device. 360Ensoniq AudioPCI audio device.
363.It emuxki 361.It emuxki
364Creative Labs SBLive! and PCI 512 audio device. 362Creative Labs SBLive! and PCI 512 audio device.
365.It esa 363.It esa
366ESS Technology Allegro-1 / Maestro-3 audio device. 364ESS Technology Allegro-1 / Maestro-3 audio device.
367.It esm 365.It esm
368ESS Maestro-1/2/2e PCI AC'97 Audio Accelerator audio device. 366ESS Maestro-1/2/2e PCI AC'97 Audio Accelerator audio device.
369.It eso 367.It eso
370ESS Solo-1 PCI AudioDrive audio device. 368ESS Solo-1 PCI AudioDrive audio device.
371.It fms 369.It fms
372Forte Media FM801 audio device. 370Forte Media FM801 audio device.
373.It neo 371.It neo
374NeoMagic MagicMedia 256 audio device. 372NeoMagic MagicMedia 256 audio device.
375.It sv 373.It sv
376S3 SonicVibes audio device. 374S3 SonicVibes audio device.
377.It yds 375.It yds
378Yamaha YMF724/740/744/754-based audio device. 376Yamaha YMF724/740/744/754-based audio device.
379.El 377.El
380.Ss Bridges 378.Ss Bridges
381.Bl -tag -width pcdisplay -offset indent 379.Bl -tag -width pcdisplay -offset indent
382.It cbb 380.It cbb
383.Tn PCI 381.Tn PCI
384Yenta compatible 382Yenta compatible
385.Tn CardBus 383.Tn CardBus
386bridges. 384bridges.
387.It ppb 385.It ppb
388Generic 386Generic
389.Tn PCI Ns \- Ns Tn PCI 387.Tn PCI Ns \- Ns Tn PCI
390bridges, including 388bridges, including
391.Tn PCI 389.Tn PCI
392expansion backplanes. 390expansion backplanes.
393.El 391.El
394.Ss Miscellaneous devices 392.Ss Miscellaneous devices
395.Bl -tag -width pcdisplay -offset indent 393.Bl -tag -width pcdisplay -offset indent
396.It bktr 394.It bktr
397Brooktree 848 compatible TV cards. 395Brooktree 848 compatible TV cards.
398.It ehci 396.It ehci
399USB EHCI host controllers. 397USB EHCI host controllers.
400.It iop 398.It iop
401I2O I/O processors. 399I2O I/O processors.
402.It mr 400.It mr
403Guillemot Maxi Radio FM 2000 FM radio device. 401Guillemot Maxi Radio FM 2000 FM radio device.
404.It oboe 402.It oboe
405Toshiba OBOE IrDA SIR/FIR controller. 403Toshiba OBOE IrDA SIR/FIR controller.
406.It ohci 404.It ohci
407USB OHCI host controllers. 405USB OHCI host controllers.
408.It pcic 406.It pcic
409.Tn PCI 407.Tn PCI
410.Tn PCMCIA 408.Tn PCMCIA
411controllers, including the Cirrus Logic GD6729. 409controllers, including the Cirrus Logic GD6729.
412.It puc 410.It puc
413PCI 411PCI
414.Dq universal 412.Dq universal
415communications cards, containing 413communications cards, containing
416.Xr com 4 414.Xr com 4
417and 415and
418.Xr lpt 4 416.Xr lpt 4
419communications ports. 417communications ports.
420.It uhci 418.It uhci
421USB UHCI host controllers. 419USB UHCI host controllers.
422.It viapm 420.It viapm
423VIA VT82C686A hardware monitors. 421VIA VT82C686A hardware monitors.
424.It vga 422.It vga
425VGA graphics boards. 423VGA graphics boards.
426.El 424.El
427.Sh SEE ALSO 425.Sh SEE ALSO
428.Xr aac 4 , 426.Xr aac 4 ,
429.Xr adv 4 , 427.Xr adv 4 ,
430.Xr adw 4 , 428.Xr adw 4 ,
431.Xr agp 4 , 429.Xr agp 4 ,
432.Xr ahc 4 , 430.Xr ahc 4 ,
433.Xr ahcisata 4 , 431.Xr ahcisata 4 ,
434.Xr amr 4 , 432.Xr amr 4 ,
435.Xr an 4 , 433.Xr an 4 ,
436.Xr auich 4 , 434.Xr auich 4 ,
437.Xr autri 4 , 435.Xr autri 4 ,
438.Xr auvia 4 , 436.Xr auvia 4 ,
439.Xr bha 4 , 437.Xr bha 4 ,
440.Xr bktr 4 , 438.Xr bktr 4 ,
441.Xr bnx 4 , 439.Xr bnx 4 ,
442.Xr cac 4 , 440.Xr cac 4 ,
443.Xr cbb 4 , 441.Xr cbb 4 ,
444.Xr clcs 4 , 442.Xr clcs 4 ,
445.Xr cmpci 4 , 443.Xr cmpci 4 ,
446.Xr cy 4 , 444.Xr cy 4 ,
447.Xr cz 4 , 445.Xr cz 4 ,
448.Xr de 4 , 446.Xr de 4 ,
449.Xr dpt 4 , 447.Xr dpt 4 ,
450.Xr eap 4 , 448.Xr eap 4 ,
451.Xr ehci 4 , 449.Xr ehci 4 ,
452.Xr emuxki 4 , 450.Xr emuxki 4 ,
453.Xr en 4 , 451.Xr en 4 ,
454.Xr ep 4 , 452.Xr ep 4 ,
455.Xr epic 4 , 453.Xr epic 4 ,
456.Xr esa 4 , 454.Xr esa 4 ,
457.Xr esh 4 , 455.Xr esh 4 ,
458.Xr esm 4 , 456.Xr esm 4 ,
459.Xr eso 4 , 457.Xr eso 4 ,
460.Xr ex 4 , 458.Xr ex 4 ,
461.Xr fms 4 , 459.Xr fms 4 ,
462.Xr fpa 4 , 460.Xr fpa 4 ,
463.Xr fxp 4 , 461.Xr fxp 4 ,
464.Xr gsip 4 , 462.Xr gsip 4 ,
465.Xr hme 4 , 463.Xr hme 4 ,
466.Xr icp 4 , 464.Xr icp 4 ,
467.Xr iha 4 , 465.Xr iha 4 ,
468.Xr intro 4 , 466.Xr intro 4 ,
469.Xr iop 4 , 467.Xr iop 4 ,
470.Xr isp 4 , 468.Xr isp 4 ,
471.Xr le 4 , 469.Xr le 4 ,
472.Xr lmc 4 , 470.Xr lmc 4 ,
473.Xr mfi 4 , 471.Xr mfi 4 ,
474.Xr mlx 4 , 472.Xr mlx 4 ,
475.Xr mly 4 , 473.Xr mly 4 ,
476.Xr mpt 4 , 474.Xr mpt 4 ,
477.Xr msk 4 , 475.Xr msk 4 ,
478.Xr ne 4 , 476.Xr ne 4 ,
479.Xr neo 4 , 477.Xr neo 4 ,
480.Xr nfe 4 , 478.Xr nfe 4 ,
481.Xr ntwoc 4 , 479.Xr ntwoc 4 ,
482.Xr oboe 4 , 480.Xr oboe 4 ,
483.Xr ohci 4 , 481.Xr ohci 4 ,
484.Xr pcic 4 , 482.Xr pcic 4 ,
485.Xr pciide 4 , 483.Xr pciide 4 ,
486.Xr pcn 4 , 484.Xr pcn 4 ,
487.Xr pcscp 4 , 485.Xr pcscp 4 ,
488.Xr ppb 4 , 486.Xr ppb 4 ,
489.Xr puc 4 , 487.Xr puc 4 ,
490.Xr ral 4 , 488.Xr ral 4 ,
491.Xr rtk 4 , 489.Xr rtk 4 ,
492.Xr sf 4 , 490.Xr sf 4 ,
493.Xr siop 4 , 491.Xr siop 4 ,
494.Xr sip 4 , 492.Xr sip 4 ,
495.Xr sk 4 , 493.Xr sk 4 ,
496.Xr ste 4 , 494.Xr ste 4 ,
497.Xr stge 4 , 495.Xr stge 4 ,
498.Xr sv 4 , 496.Xr sv 4 ,
499.Xr ti 4 , 497.Xr ti 4 ,
500.Xr tl 4 , 498.Xr tl 4 ,
501.Xr tlp 4 , 499.Xr tlp 4 ,
502.Xr trm 4 , 500.Xr trm 4 ,
503.Xr twe 4 , 501.Xr twe 4 ,
504.Xr uhci 4 , 502.Xr uhci 4 ,
505.Xr vga 4 , 503.Xr vga 4 ,
506.Xr vge 4 , 504.Xr vge 4 ,
507.Xr viapm 4 , 505.Xr viapm 4 ,
508.Xr vr 4 , 506.Xr vr 4 ,
509.Xr wi 4 , 507.Xr wi 4 ,
510.Xr wm 4 , 508.Xr wm 4 ,
511.Xr wscons 4 , 509.Xr wscons 4 ,
512.Xr yds 4 510.Xr yds 4
513.Sh HISTORY 511.Sh HISTORY
514The machine-independent 512The machine-independent
515.Tn PCI 513.Tn PCI
516subsystem appeared in 514subsystem appeared in
517.Nx 1.2 . 515.Nx 1.2 .

cvs diff -r1.34 -r1.35 src/share/man/man4/pcmcia.4 (switch to unified diff)

--- src/share/man/man4/pcmcia.4 2008/04/30 13:10:54 1.34
+++ src/share/man/man4/pcmcia.4 2009/01/03 17:44:20 1.35
@@ -1,231 +1,226 @@ @@ -1,231 +1,226 @@
1.\" $NetBSD: pcmcia.4,v 1.34 2008/04/30 13:10:54 martin Exp $ 1.\" $NetBSD: pcmcia.4,v 1.35 2009/01/03 17:44:20 christos Exp $
2.\" 2.\"
3.\" Copyright (c) 1999, 2002 The NetBSD Foundation, Inc. 3.\" Copyright (c) 1999, 2002 The NetBSD Foundation, Inc.
4.\" All rights reserved. 4.\" All rights reserved.
5.\" 5.\"
6.\" This code is derived from software contributed to The NetBSD Foundation 6.\" This code is derived from software contributed to The NetBSD Foundation
7.\" by Lennart Augustsson. 7.\" by Lennart Augustsson.
8.\" 8.\"
9.\" Redistribution and use in source and binary forms, with or without 9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions 10.\" modification, are permitted provided that the following conditions
11.\" are met: 11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright 12.\" 1. Redistributions of source code must retain the above copyright
13.\" notice, this list of conditions and the following disclaimer. 13.\" notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright 14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\" notice, this list of conditions and the following disclaimer in the 15.\" notice, this list of conditions and the following disclaimer in the
16.\" documentation and/or other materials provided with the distribution. 16.\" documentation and/or other materials provided with the distribution.
17.\" 17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGE. 28.\" POSSIBILITY OF SUCH DAMAGE.
29.\" 29.\"
30.Dd August 21, 2007 30.Dd January 3, 2009
31.Dt PCMCIA 4 31.Dt PCMCIA 4
32.Os 32.Os
33.Sh NAME 33.Sh NAME
34.Nm pcmcia 34.Nm pcmcia
35.Nd 35.Nd
36introduction to 36introduction to
37.Tn PCMCIA 37.Tn PCMCIA
38.Pq Tn "PC Card" 38.Pq Tn "PC Card"
39support 39support
40.Sh SYNOPSIS 40.Sh SYNOPSIS
41.Cd "pcmcia* at pcic? controller ? socket ?" 41.Cd "pcmcia* at pcic? controller ? socket ?"
42.Cd "pcmcia* at tcic? controller ? socket ?" 42.Cd "pcmcia* at tcic? controller ? socket ?"
43.Cd "pcmcia* at cardslot?" 43.Cd "pcmcia* at cardslot?"
44.Pp 44.Pp
45.Cd options PCMCIAVERBOSE 45.Cd options PCMCIAVERBOSE
46.Ss amiga 46.Ss amiga
47.Cd "pcmcia* at pccard0" 47.Cd "pcmcia* at pccard0"
48.Ss hpcmips 48.Ss hpcmips
49.Cd "pcmcia* at it8368e? controller ? socket ?" 49.Cd "pcmcia* at it8368e? controller ? socket ?"
50.Cd "pcmcia* at plumpcmcia? controller ? socket ?" 50.Cd "pcmcia* at plumpcmcia? controller ? socket ?"
51.Ss hpcsh 51.Ss hpcsh
52.Cd "pcmcia* at hd64461pcmcia? controller ? socket ?" 52.Cd "pcmcia* at hd64461pcmcia? controller ? socket ?"
53.Ss sh3 53.Ss sh3
54.Cd "pcmcia* at shpcic? controller ? socket ?" 54.Cd "pcmcia* at shpcic? controller ? socket ?"
55.Ss sparc 55.Ss sparc
56.Cd "pcmcia* at nell?" 56.Cd "pcmcia* at nell?"
57.Sh DESCRIPTION 57.Sh DESCRIPTION
58.Nx 58.Nx
59provides machine-independent bus support and drivers for 59provides machine-independent bus support and drivers for
60.Tn PCMCIA 60.Tn PCMCIA
61.Pq Personal Computer Memory Card International Association 61.Pq Personal Computer Memory Card International Association
62a.k.a. 62a.k.a.
63.Tn "PC Card" , 63.Tn "PC Card" ,
64.Tn CardBus 64.Tn CardBus
65devices. 65devices.
66.Sh HARDWARE 66.Sh HARDWARE
67.Nx 67.Nx
68includes the following machine-independent 68includes the following machine-independent
69.Tn PCMCIA 69.Tn PCMCIA
70drivers, sorted by function and driver name: 70drivers, sorted by function and driver name:
71.Ss Serial interfaces and modems 71.Ss Serial interfaces and modems
72.Bl -tag -width speaker -offset indent 72.Bl -tag -width speaker -offset indent
73.It com 73.It com
748250/16450/16550-compatible PCMCIA serial cards and modems. 748250/16450/16550-compatible PCMCIA serial cards and modems.
75.El 75.El
76.Ss Network interfaces 76.Ss Network interfaces
77.Bl -tag -width speaker -offset indent 77.Bl -tag -width speaker -offset indent
78.It an 78.It an
79Aironet 4500/4800 and Cisco 340 series 802.11 controller. 79Aironet 4500/4800 and Cisco 340 series 802.11 controller.
80.It awi 80.It awi
81802.11 controller based on the AMD PCnetMobile chipset. 81802.11 controller based on the AMD PCnetMobile chipset.
82.It cnw 82.It cnw
83Netwave AirSurfer Wireless LAN interface. 83Netwave AirSurfer Wireless LAN interface.
84.It ep 84.It ep
853Com 3c589 EtherLink III Ethernet card. 853Com 3c589 EtherLink III Ethernet card.
86.It mbe 86.It mbe
87Ethernet card based on the Fujitsu MB86960A/MB86965A chipset. 87Ethernet card based on the Fujitsu MB86960A/MB86965A chipset.
88.It mhzc 88.It mhzc
89Megahertz Ethernet/Modem combo cards 89Megahertz Ethernet/Modem combo cards
90.It ne 90.It ne
91NE2000 compatible cards. 91NE2000 compatible cards.
92.It ray 92.It ray
93Raytheon Raylink and WebGear Aviator2.4 802.11 controller. 93Raytheon Raylink and WebGear Aviator2.4 802.11 controller.
94.It sm 94.It sm
95Megahertz Ethernet card. 95Megahertz Ethernet card.
96.It wi 96.It wi
97Lucent WaveLAN/IEEE and PRISM-II based 802.11 controller. 97Lucent WaveLAN/IEEE and PRISM-II based 802.11 controller.
98.It xi 98.It xi
99Xircom CreditCard Ethernet 99Xircom CreditCard Ethernet
100.El 100.El
101.Ss SCSI controllers 101.Ss SCSI controllers
102.Bl -tag -width speaker -offset indent 102.Bl -tag -width speaker -offset indent
103.It aic 103.It aic
104Adaptec APA-1460 104Adaptec APA-1460
105.Tn SCSI 105.Tn SCSI
106controller card. 106controller card.
107.It esp 107.It esp
108NCR 53C9x, Emulex ESP406, and Qlogic FAS408 108NCR 53C9x, Emulex ESP406, and Qlogic FAS408
109.Tn SCSI 109.Tn SCSI
110controllers. 110controllers.
111.It spc 111.It spc
112Fujitsu MB87030/MB89352 112Fujitsu MB87030/MB89352
113.Tn SCSI 113.Tn SCSI
114controllers. 114controllers.
115.El 115.El
116.Ss IDE controllers 116.Ss IDE controllers
117.Bl -tag -width speaker -offset indent 117.Bl -tag -width speaker -offset indent
118.It wdc 118.It wdc
119Digital Hinote Ultra Mobile Media Adapter 119Digital Hinote Ultra Mobile Media Adapter
120.El 120.El
121.Ss Audio devices 
122.Bl -tag -width speaker -offset indent 
123.It esl 
124Eiger Labs ESS1688 AudioDrive. 
125.El 
126.Ss Bluetooth devices 121.Ss Bluetooth devices
127.Bl -tag -width speaker -offset indent 122.Bl -tag -width speaker -offset indent
128.It bt3c 123.It bt3c
1293Com 3CRWB6096 Bluetooth PC Card driver. 1243Com 3CRWB6096 Bluetooth PC Card driver.
130.It btbc 125.It btbc
131AnyCom Bluetooth BlueCard driver. 126AnyCom Bluetooth BlueCard driver.
132.El 127.El
133.Ss USB Controller 128.Ss USB Controller
134.Bl -tag -width speaker -offset indent 129.Bl -tag -width speaker -offset indent
135.It slhci 130.It slhci
136Cypress/ScanLogic SL811HS USB Host Controller driver. 131Cypress/ScanLogic SL811HS USB Host Controller driver.
137.El 132.El
138.Sh SEE ALSO 133.Sh SEE ALSO
139.Xr aic 4 , 134.Xr aic 4 ,
140.Xr an 4 , 135.Xr an 4 ,
141.Xr awi 4 , 136.Xr awi 4 ,
142.Xr bt3c 4 , 137.Xr bt3c 4 ,
143.Xr btbc 4 , 138.Xr btbc 4 ,
144.Xr cardbus 4 , 139.Xr cardbus 4 ,
145.Xr cnw 4 , 140.Xr cnw 4 ,
146.Xr com 4 , 141.Xr com 4 ,
147.Xr ep 4 , 142.Xr ep 4 ,
148.Xr esl 4 , 143.Xr esl 4 ,
149.Xr esp 4 , 144.Xr esp 4 ,
150.Xr intro 4 , 145.Xr intro 4 ,
151.Xr isa 4 , 146.Xr isa 4 ,
152.Xr mbe 4 , 147.Xr mbe 4 ,
153.Xr mhzc 4 , 148.Xr mhzc 4 ,
154.Xr ne 4 , 149.Xr ne 4 ,
155.Xr options 4 , 150.Xr options 4 ,
156.Xr pcic 4 , 151.Xr pcic 4 ,
157.Xr pcmcom 4 , 152.Xr pcmcom 4 ,
158.Xr ray 4 , 153.Xr ray 4 ,
159.Xr slhci 4 , 154.Xr slhci 4 ,
160.Xr sm 4 , 155.Xr sm 4 ,
161.Xr spc 4 , 156.Xr spc 4 ,
162.Xr tcic 4 , 157.Xr tcic 4 ,
163.Xr wi 4 , 158.Xr wi 4 ,
164.Xr xi 4 159.Xr xi 4
165.Pp 160.Pp
166.Pa http://www.pcmcia.org/ 161.Pa http://www.pcmcia.org/
167.Sh HISTORY 162.Sh HISTORY
168The 163The
169.Nm 164.Nm
170driver appeared in 165driver appeared in
171.Nx 1.3 . 166.Nx 1.3 .
172.Sh BUGS 167.Sh BUGS
173.Ss IO space conflicts 168.Ss IO space conflicts
174.Nx 169.Nx
175probes the 170probes the
176.Tn PCMCIA 171.Tn PCMCIA
177IO bus width and uses that information to decide 172IO bus width and uses that information to decide
178where to map 173where to map
179.Tn PCMCIA 174.Tn PCMCIA
180IO space. For 10-bit wide cards, 0x300-0x3ff is 175IO space. For 10-bit wide cards, 0x300-0x3ff is
181used. For 12-bit wide cards, 0x400-0x4ff is used. 176used. For 12-bit wide cards, 0x400-0x4ff is used.
182.Pp 177.Pp
183Neither choice is perfect. In the 12-bit case, 0x400 appears to work 178Neither choice is perfect. In the 12-bit case, 0x400 appears to work
184on substantially more devices than 0x300. In the event that 179on substantially more devices than 0x300. In the event that
185.Tn PCMCIA 180.Tn PCMCIA
186devices are mapped in 0x400-0x4ff and appear to be nonfunctional, 181devices are mapped in 0x400-0x4ff and appear to be nonfunctional,
187remapping to 0x300-0x3ff may be appropriate; consult 182remapping to 0x300-0x3ff may be appropriate; consult
188.Cd options PCIC_ISA_ALLOC_IOBASE 183.Cd options PCIC_ISA_ALLOC_IOBASE
189and 184and
190.Cd options PCIC_ISA_ALLOC_IOSIZE 185.Cd options PCIC_ISA_ALLOC_IOSIZE
191in 186in
192.Xr options 4 . 187.Xr options 4 .
193Example: 188Example:
194.Bd -literal -offset indent 189.Bd -literal -offset indent
195# Avoid PCMCIA bus space conflicts with the default IO space 190# Avoid PCMCIA bus space conflicts with the default IO space
196# allocation on 12-bit wide busses (base 0x300 size 0xff). 191# allocation on 12-bit wide busses (base 0x300 size 0xff).
197options PCIC_ISA_ALLOC_IOBASE=0x300 192options PCIC_ISA_ALLOC_IOBASE=0x300
198options PCIC_ISA_ALLOC_IOSIZE=0x0ff 193options PCIC_ISA_ALLOC_IOSIZE=0x0ff
199.Ed 194.Ed
200.Ss Interrupt conflicts 195.Ss Interrupt conflicts
201.Nx 196.Nx
202attempts to probe for available interrupts to assign to 197attempts to probe for available interrupts to assign to
203.Tn PCMCIA 198.Tn PCMCIA
204devices. In some cases, it is not possible to detect 199devices. In some cases, it is not possible to detect
205all interrupts in use; in such cases, use of 200all interrupts in use; in such cases, use of
206.Cd options PCIC_ISA_INTR_ALLOC_MASK 201.Cd options PCIC_ISA_INTR_ALLOC_MASK
207may be necessary. See 202may be necessary. See
208.Xr options 4 . 203.Xr options 4 .
209.Ss Unconfigured devices 204.Ss Unconfigured devices
210During autoconfiguration, if a message is displayed saying that your card 205During autoconfiguration, if a message is displayed saying that your card
211is "not configured" it indicates that there isn't support for your card 206is "not configured" it indicates that there isn't support for your card
212compiled into the kernel. To fix this problem, it may simply be a matter 207compiled into the kernel. To fix this problem, it may simply be a matter
213of adding the manufacturer and product IDs to the 208of adding the manufacturer and product IDs to the
214.Tn PCMCIA 209.Tn PCMCIA
215database or adding a front-end attachment to an existing driver. In 210database or adding a front-end attachment to an existing driver. In
216the latter case, it is normally always necessary to get a dump of the 211the latter case, it is normally always necessary to get a dump of the
217CIS table from the card. You can do this by adding 212CIS table from the card. You can do this by adding
218.Cd options PCMCIACISDEBUG 213.Cd options PCMCIACISDEBUG
219and 214and
220.Cd options PCMCIADEBUG 215.Cd options PCMCIADEBUG
221into your kernel config file. Additionally, you will have to patch the 216into your kernel config file. Additionally, you will have to patch the
222kernel to enable run-time debugging. This can be done in the source 217kernel to enable run-time debugging. This can be done in the source
223by changing the variables 218by changing the variables
224.Va pcmcia_debug 219.Va pcmcia_debug
225and 220and
226.Va pcmciacis_debug 221.Va pcmciacis_debug
227to 0xff. Alternatively, you can patch the same variables at run-time 222to 0xff. Alternatively, you can patch the same variables at run-time
228using 223using
229.Xr ddb 4 . 224.Xr ddb 4 .
230For most drivers you should also consider enabling any driver-specific 225For most drivers you should also consider enabling any driver-specific
231debugging options. 226debugging options.