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.


APPLICATION 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  AUDIO_GETDEV
     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 audio_device 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
         SS-4/5         a       Y        Y           Y         Y       Y        Y
       Ultra-1/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.avail_ports  and record.avail_ports fields retrieved by
     the AUDIO_GETINFO ioctl (see audio(7I)) report  which  ports
     are   available.  The  play.mod_ports  and  record.mod_ports
     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
     The audiocs device supports the audio formats listed in  the
     following  table.  When  the audio mixer is in compatibility
     mode and the  device  is  open  for  simultaneous  play  and
     record,  the  input and output data formats must match. Some
     sample rates are supported in compatibility  mode  (C)  that
     are not supported in mixer mode (M). This is due to the com-
     putational overhead for sample  rate  conversion  being  too
     high.

     Supported Audio Data Formats
     Sample Rate     Encoding      Precision     Channels       Mode
       5510 Hz     u-Law, A-Law        8          1 or 2       C only
       6620 Hz     u-Law, A-Law        8          1 or 2       C only
       8000 Hz     u-Law, A-Law        8          1 or 2       M and C
       9600 Hz     u-Law, A-Law        8          1 or 2       M and C
      11025 Hz     u-Law, A-Law        8          1 or 2       M and C
      16000 Hz     u-Law, A-Law        8          1 or 2       M and C
      18900 Hz     u-Law, A-Law        8          1 or 2       M and C
      22050 Hz     u-Law, A-Law        8          1 or 2       M and C
      27420 Hz     u-Law, A-Law        8          1 or 2       C only
      32000 Hz     u-Law, A-Law        8          1 or 2       M and C
      33075 Hz     u-Law, A-Law        8          1 or 2       M and C
      37800 Hz     u-Law, A-Law        8          1 or 2       M and C
      44100 Hz     u-Law, A-Law        8          1 or 2       M and C
      48000 Hz     u-Law, A-Law        8          1 or 2       M and C
       5510 Hz        linear         8, 16        1 or 2       C only
       6620 Hz        linear         8, 16        1 or 2       C only
       8000 Hz        linear         8, 16        1 or 2       M and C
       9600 Hz        linear         8, 16        1 or 2       M and C
      11025 Hz        linear         8, 16        1 or 2       M and C
      16000 Hz        linear         8, 16        1 or 2       M and C
      18900 Hz        linear         8, 16        1 or 2       M and C
      22050 Hz        linear         8, 16        1 or 2       M and C
      27420 Hz        linear         8, 16        1 or 2       C only
      32000 Hz        linear         8, 16        1 or 2       M and C
      33075 Hz        linear         8, 16        1 or 2       M and C
      37800 Hz        linear         8, 16        1 or 2       M and C
      44100 Hz        linear         8, 16        1 or 2       M and C
      48000 Hz        linear         8, 16        1 or 2       M and C

  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 audio_info 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.


ERRORS

     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).

     /dev/sound/0ctl
           Audio control for above device.

     /usr/share/audio/samples
           Audio sample files.

     /kernel/drv/audiocs
           32-bit audiocs driver

     /kernel/drv/sparcv9/audiocs
           64-bit audiocs driver.

     /kernel/drv/audiocs.conf
            Audiocs driver configuration file.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |   ATTRIBUTE TYPE   |            ATTRIBUTE VALUE           |
    |____________________|______________________________________|
    | Architecture       | SPARC                                |
    |____________________|______________________________________|
    | Availability       | SUNWaudd, SUNWauddx, 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:

     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.


Man(1) output converted with man2html