Devices audiocs(7D)
NAME
audiocs - Crystal Semiconductor 4231 Audio driver
DESCRIPTION
The audiocs driver supports the Crystal Semiconductor 4231
Codec to implement the audio device interface.
APLICATION PROGRAM INTERFACE
This interface is described in the audio(7I) and mixer(7I)
man pages.
Driver Versions
Applications that open /dev/audio may use the AUDIOGETDEV
ioctl(2) to determine which audio device is being used. The
audiocs driver will return the string SUNW,CS4231 in the
name field of the audiodevice structure. The version field
contains a letter (defined in the table below) and the con-
fig field contains the string onboard1.
Platform Ver. Out H. Phone Speaker In Mic CD
S-4/5 a Y Y Y Y Y Y
Ultra-2 b Y Y Y Y Y N
Ultra-450 f Y Y Y Y Y N
Ultra-30/60/80 g Y Y Y Y Y N
Ultra-5/10 h Y Y Y Y Y Y
Key to the above table: Ver = Version. Out = Line Out.
Speaker = Internal Speaker. In = Line In. Mic. = Microphone.
CD = CD-ROM.
The audiocs device provides support for the internal
speaker, headphone, line out, line in, microphone, and on
some platforms, internal CD-ROM audio in. The
play.availports and record.availports fields retrieved by
the AUDIOGETINFO ioctl (see audio(7I)) report which ports
are available. The play.modports and record.modports
fields indicate which ports may be manipulated.
Audio Mixer Mode
The configuration file /kernel/drv/audiocs.conf is used to
configure the audiocs driver so that the audio mixer is
enabled or disabled. See the mixer(7I) manual page for
details. The audio mixer's mode may be changed at any time
using the mixerctl(1) or sdtaudiocontrol(1) applications.
Audio Data Formats
SunOS 5.11 Last change: 4 May 2004 1
Devices audiocs(7D)
The audiocs device supports 8-bit u-law and A-law, 8-bit and
16-bit linear encodings in mono and stereo. With the mixer
enabled, a continuous range of sample rates from 5510 to
48000 Hz is supported. With the mixer disabled, the follow-
ing sample rates are supported: 5510, 6620, 8000, 9600,
11025, 16000, 18900, 22050, 27420, 32000, 33075, 37800,
4410, and 48000 Hz. When the audio mixer is disabled and the
device is open for simultaneous play and record, the input
and output data formats must match.
Sample Granularity
At any given time the reported input and output sample
counts will vary from the actual sample count by no more
than the size of the buffers the audiocs driver is transfer-
ring. In general, programs should not rely on the absolute
accuracy of the play.samples and record.samples fields of
the audioinfo structure.
Interrupt Rate
The driver determines how often play and record interrupts
should occur. For playing audio, this determines how often
and how much audio is requested from the audio mixer. The
impact of interrupts on recording is minimal. However, if a
very small read buffer size is set, the record interrupt
rate should be increased to prevent the buffer from over-
flowing. The play and record interrupt rates are tunable in
the /kernel/drv/audiocs.conf file.
Audio Status Change Notification
As described in the audio(7I) and mixer(7I) man pages, it is
possible to request asynchronous notification of changes in
the state of an audio device.
ERORS
audiocs errors are described in the audio(7I) man pages.
FILES
/dev/audio
Symbolic link to the system's primary audio device.
(not necessarily an audiocs audio device).
/dev/audioctl
Control device for the above audio device.
/dev/sound/0
Represents the first audio device on the system. (not
necessarily an audiocs audio device).
SunOS 5.11 Last change: 4 May 2004 2
Devices audiocs(7D)
/dev/sound/0ctl
Audio control for above device.
/usr/share/audio/samples
Audio sample files.
/kernel/drv/sparcv9/audiocs
64-bit audiocs driver.
/kernel/drv/audiocs.conf
Audiocs driver configuration file.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Architecture SPARC
Availability SUNWaudd, SUNWauda
Stability level Evolving
SEE ALSO
mixerctl(1), sdtaudiocontrol(1), ioctl(2), attributes(5),
audio(7I), mixer(7I), streamio(7I)
Crystal Semiconductor, Inc. CS4231 Data Sheet
http:/www.sun.com/io
DIAGNOSTICS
In addition to being logged, the following messages may
appear on the system console:
SunOS 5.11 Last change: 4 May 2004 3
Devices audiocs(7D)
attach () play interrupt rate set too low.
The play interrupt rate specified in audiocs.conf is set
too low. It is being reset to the rate specified in the
message. Update audiocs.conf to a higher play interrupt
rate.
attach() play interrupt rate set too high.
The play interrupt rate specified in audiocs.conf is set
too high. It is being reset to the rate specified in the
message. Update audiocs.conf to a lower play interrupt
rate.
attach() record interrupt rate set too low.
The record interrupt rate specified in audiocs.conf is
set too low. It is being reset to the rate specified in
the message. Update audiocs.conf to a higher record
interrupt rate.
attach() record interrupt rate set too high
The record interrupt rate specified in audiocs.conf is
set too high. It is being reset to the rate specified in
the message. Update audiocs.conf to a lower record
interrupt rate.
SunOS 5.11 Last change: 4 May 2004 4
|