summaryrefslogtreecommitdiffstats
path: root/man/man4/dsp56k.4
diff options
context:
space:
mode:
Diffstat (limited to 'man/man4/dsp56k.4')
-rw-r--r--man/man4/dsp56k.4107
1 files changed, 107 insertions, 0 deletions
diff --git a/man/man4/dsp56k.4 b/man/man4/dsp56k.4
new file mode 100644
index 0000000..f0aed35
--- /dev/null
+++ b/man/man4/dsp56k.4
@@ -0,0 +1,107 @@
+.\" Copyright (c) 2000 lars brinkhoff <lars@nocrew.org>
+.\"
+.\" SPDX-License-Identifier: GPL-2.0-or-later
+.\"
+.\" Modified, Thu Jan 27 19:16:19 CET 2000, lars@nocrew.org
+.\"
+.TH dsp56k 4 2024-05-02 "Linux man-pages (unreleased)"
+.SH NAME
+dsp56k \- DSP56001 interface device
+.SH SYNOPSIS
+.nf
+.B #include <asm/dsp56k.h>
+.P
+.BI "ssize_t read(int " fd ", void *" data ", size_t " length );
+.BI "ssize_t write(int " fd ", void *" data ", size_t " length );
+.P
+.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
+.I 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.
+.P
+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.
+.P
+The following
+.BR ioctl (2)
+calls are used to control the
+\fIdsp56k\fP device:
+.TP
+.B DSP56K_UPLOAD
+resets the DSP56001 and uploads a program.
+The third
+.BR ioctl (2)
+argument must be a pointer to a \fIstruct dsp56k_upload\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.
+.TP
+.B 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 bytes containing zero,
+or truncated to fit the native 24-bit data format of the
+DSP56001.
+.TP
+.B 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 padded with a null byte (\[aq]\e0\[aq]),
+to fit the native 24-bit data format of the DSP56001.
+.TP
+.B 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.
+.IP
+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.
+.TP
+.B DSP56K_HOST_CMD
+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
+.I /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