dsp56k - DSP56001 interface device


SYNOPSIS

       #include <asm/dsp56k.h>

       ssize_t read (int fd, void * data, size_t length);
       ssize_t write (int fd, void * data, size_t length);
       int ioctl (int fd, DSP56K_UPLOAD, struct dsp56k_upload *program);
       int ioctl (int fd, DSP56K_SET_TX_WSIZE, int wsize);
       int ioctl (int fd, DSP56K_SET_RX_WSIZE, int wsize);
       int ioctl (int fd, DSP56K_HOST_FLAGS, struct dsp56k_host_flags *flags);
       int ioctl (int fd, DSP56K_HOST_CMD, int cmd);


CONFIGURATION

       The  dsp56k device is a character device with major number
       55 and minor number 0.


DESCRIPTION

       The Motorola DSP56001 is a fully programmable 24-bit digi­
       tal  signal  processor found in Atari Falcon030-compatible
       computers.  The dsp56k special file is used to control the
       DSP56001, and to send and receive data using the bi-direc­
       tional handshaked host port.

       To send a data stream to the signal processor, use write()
       to  the device, and read() to receive processed data.  The
       data can be sent or received in 8, 16, 24, or 32-bit quan­
       tities on the host side, but will always be seen as 24-bit
       quantities in the DSP56001.

       The following ioctl(2)  calls  are  used  to  control  the
       dsp56k device:

       DSP56K_UPLOAD
              resets  the  DSP56001  and  uploads a program.  The
              third ioctl() argument  must  be  a  pointer  to  a
              struct dsp56k_binary with members bin pointing to a
              DSP56001 binary program, and len set to the  length
              of the program, counted in 24-bit words.

       DSP56K_SET_TX_WSIZE
              sets the transmit word size.  Allowed values are in
              the range 1 to 4, and is the number of  bytes  that
              will be sent at a time to the DSP56001.  These data
              quantities will either be padded with  zero  bytes,
              or  truncated  to fit the native 24-bit data format
              of the DSP56001.

       DSP56K_SET_RX_WSIZE
              sets the receive word size.  Allowed values are  in
              the  range  1 to 4, and is the number of bytes that
              will be received  at  a  time  from  the  DSP56001.
              These  data  quantities  will  either truncated, or

              data format of the DSP56001.

       DSP56K_HOST_FLAGS
              read  and write the host flags.  The host flags are
              four general-purpose bits that can be read by  both
              the  hosting computer and the DSP56001.  Bits 0 and
              1 can be written by the host, and bits 2 and 3  can
              be written by the DSP56001.

              To  access  the host flags, the third ioctl() argu­
              ment   must   be   a   pointer    to    a    struct
              dsp56k_host_flags.  If bit 0 or 1 is set in the dir
              member, the corresponding bit in out will be  writ­
              ten to the host flags.  The state of all host flags
              will be returned in the lower four bits of the sta­
              tus member.

       DSP56K_HOST_CMD
              sends  a  host  command.  Allowed values are in the
              range 0 to 31, and is a user-defined  command  han­
              dled by the program running in the DSP56001.


FILES

       /dev/dsp56k


AUTHORS

       Fredrik   Noring   <noring@nocrew.org>,   lars   brinkhoff
       <lars@nocrew.org>, Tomas Berndtsson <tomas@nocrew.org>.


SEE ALSO

       linux/include/asm-m68k/dsp56k.h,
       linux/drivers/char/dsp56k.c,    http://dsp56k.nocrew.org/,
       DSP56000/DSP56001 Digital Signal Processor User's Manual


Man(1) output converted with man2html