| '\" t |
| .\" Copyright (c) 2000 lars brinkhoff <lars@nocrew.org> |
| .\" |
| .\" %%%LICENSE_START(GPLv2+_DOC_FULL) |
| .\" This is free documentation; you can redistribute it and/or |
| .\" modify it under the terms of the GNU General Public License as |
| .\" published by the Free Software Foundation; either version 2 of |
| .\" the License, or (at your option) any later version. |
| .\" |
| .\" The GNU General Public License's references to "object code" |
| .\" and "executables" are to be interpreted as the output of any |
| .\" document formatting or typesetting system, including |
| .\" intermediate and printed output. |
| .\" |
| .\" This manual is distributed in the hope that it will be useful, |
| .\" but WITHOUT ANY WARRANTY; without even the implied warranty of |
| .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| .\" GNU General Public License for more details. |
| .\" |
| .\" You should have received a copy of the GNU General Public |
| .\" License along with this manual; if not, see |
| .\" <http://www.gnu.org/licenses/>. |
| .\" %%%LICENSE_END |
| .\" |
| .\" Modified, Thu Jan 27 19:16:19 CET 2000, lars@nocrew.org |
| .\" |
| .TH DSP56K 4 2012-08-05 "Linux" "Linux Programmer's Manual" |
| .SH NAME |
| dsp56k \- DSP56001 interface device |
| .SH SYNOPSIS |
| .nf |
| #include <asm/dsp56k.h> |
| .sp |
| .BI "ssize_t read(int " fd ", void *" data ", size_t " length ); |
| .BI "ssize_t write(int " fd ", void *" data ", size_t " length ); |
| |
| .BI "int ioctl(int " fd ", DSP56K_UPLOAD, struct dsp56k_upload *" program ); |
| .BI "int ioctl(int " fd ", DSP56K_SET_TX_WSIZE, int " wsize ); |
| .BI "int ioctl(int " fd ", DSP56K_SET_RX_WSIZE, int " wsize ); |
| .BI "int ioctl(int " fd ", DSP56K_HOST_FLAGS, struct dsp56k_host_flags *" flags ); |
| .BI "int ioctl(int " fd ", DSP56K_HOST_CMD, int " cmd ); |
| .fi |
| .SH CONFIGURATION |
| The dsp56k device is a character device with major number 55 and minor |
| number 0. |
| .SH DESCRIPTION |
| The Motorola DSP56001 is a fully programmable 24-bit digital signal |
| processor found in Atari Falcon030-compatible computers. |
| The \fIdsp56k\fP special file is used to control the DSP56001, and |
| to send and receive data using the bidirectional handshaked host |
| port. |
| .PP |
| To send a data stream to the signal processor, use |
| .BR write (2) |
| to the |
| device, and |
| .BR read (2) |
| to receive processed data. |
| The data can be sent or |
| received in 8, 16, 24, or 32-bit quantities on the host side, but will |
| always be seen as 24-bit quantities in the DSP56001. |
| .PP |
| The following |
| .BR ioctl (2) |
| calls are used to control the |
| \fIdsp56k\fP device: |
| .IP \fBDSP56K_UPLOAD\fP |
| resets the DSP56001 and uploads a program. |
| The third |
| .BR ioctl (2) |
| argument must be a pointer to a \fIstruct dsp56k_binary\fP with members |
| \fIbin\fP pointing to a DSP56001 binary program, and \fIlen\fP set to |
| the length of the program, counted in 24-bit words. |
| .IP \fBDSP56K_SET_TX_WSIZE\fP |
| 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. |
| .IP \fBDSP56K_SET_RX_WSIZE\fP |
| 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 padded with |
| a null byte (\(aq\\0\(aq) to fit the native 24-bit data format of the DSP56001. |
| .IP \fBDSP56K_HOST_FLAGS\fP |
| 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 |
| .BR ioctl (2) |
| argument must be a pointer |
| to a \fIstruct dsp56k_host_flags\fP. |
| If bit 0 or 1 is set in the |
| \fIdir\fP member, the corresponding bit in \fIout\fP will be written |
| to the host flags. |
| The state of all host flags will be returned in |
| the lower four bits of the \fIstatus\fP member. |
| .IP \fBDSP56K_HOST_CMD\fP |
| sends a host command. |
| Allowed values are in the range 0 to 31, and is a |
| user-defined command handled by the program running in the DSP56001. |
| .SH FILES |
| /dev/dsp56k |
| .\" .SH AUTHORS |
| .\" Fredrik Noring <noring@nocrew.org>, lars brinkhoff <lars@nocrew.org>, |
| .\" Tomas Berndtsson <tomas@nocrew.org>. |
| .SH SEE ALSO |
| .IR linux/include/asm-m68k/dsp56k.h , |
| .IR linux/drivers/char/dsp56k.c , |
| .UR http://dsp56k.nocrew.org/ |
| .UE , |
| DSP56000/DSP56001 Digital Signal Processor User's Manual |