]>
Commit | Line | Data |
---|---|---|
fea681da MK |
1 | .\" Copyright (c) 2000 lars brinkhoff <lars@nocrew.org> |
2 | .\" | |
e4a74ca8 | 3 | .\" SPDX-License-Identifier: GPL-2.0-or-later |
fea681da MK |
4 | .\" |
5 | .\" Modified, Thu Jan 27 19:16:19 CET 2000, lars@nocrew.org | |
6 | .\" | |
4c1c5274 | 7 | .TH dsp56k 4 (date) "Linux man-pages (unreleased)" |
fea681da MK |
8 | .SH NAME |
9 | dsp56k \- DSP56001 interface device | |
10 | .SH SYNOPSIS | |
11 | .nf | |
078ade66 | 12 | .B #include <asm/dsp56k.h> |
68e4db0a | 13 | .PP |
fea681da MK |
14 | .BI "ssize_t read(int " fd ", void *" data ", size_t " length ); |
15 | .BI "ssize_t write(int " fd ", void *" data ", size_t " length ); | |
dbfe9c70 | 16 | .PP |
066cb3d6 MK |
17 | .BI "int ioctl(int " fd ", DSP56K_UPLOAD, struct dsp56k_upload *" program ); |
18 | .BI "int ioctl(int " fd ", DSP56K_SET_TX_WSIZE, int " wsize ); | |
19 | .BI "int ioctl(int " fd ", DSP56K_SET_RX_WSIZE, int " wsize ); | |
20 | .BI "int ioctl(int " fd ", DSP56K_HOST_FLAGS, struct dsp56k_host_flags *" flags ); | |
21 | .BI "int ioctl(int " fd ", DSP56K_HOST_CMD, int " cmd ); | |
fea681da MK |
22 | .fi |
23 | .SH CONFIGURATION | |
34fa7604 | 24 | The |
c9f82eec | 25 | .I dsp56k |
34fa7604 | 26 | device is a character device with major number 55 and minor |
fea681da MK |
27 | number 0. |
28 | .SH DESCRIPTION | |
29 | The Motorola DSP56001 is a fully programmable 24-bit digital signal | |
c13182ef | 30 | processor found in Atari Falcon030-compatible computers. |
89f9f5b2 | 31 | The \fIdsp56k\fP special file is used to control the DSP56001, and |
e713cb8e | 32 | to send and receive data using the bidirectional handshaked host |
fea681da MK |
33 | port. |
34 | .PP | |
c13182ef | 35 | To send a data stream to the signal processor, use |
5e21af3a | 36 | .BR write (2) |
b5cc2ffb | 37 | to the |
c13182ef | 38 | device, and |
5e21af3a | 39 | .BR read (2) |
c13182ef MK |
40 | to receive processed data. |
41 | The data can be sent or | |
fea681da MK |
42 | received in 8, 16, 24, or 32-bit quantities on the host side, but will |
43 | always be seen as 24-bit quantities in the DSP56001. | |
44 | .PP | |
45 | The following | |
31e9a9ec | 46 | .BR ioctl (2) |
fea681da | 47 | calls are used to control the |
89f9f5b2 | 48 | \fIdsp56k\fP device: |
4279e42d AC |
49 | .TP |
50 | .B DSP56K_UPLOAD | |
c13182ef MK |
51 | resets the DSP56001 and uploads a program. |
52 | The third | |
5e21af3a | 53 | .BR ioctl (2) |
f54a0d6a | 54 | argument must be a pointer to a \fIstruct dsp56k_upload\fP with members |
89f9f5b2 | 55 | \fIbin\fP pointing to a DSP56001 binary program, and \fIlen\fP set to |
fea681da | 56 | the length of the program, counted in 24-bit words. |
4279e42d AC |
57 | .TP |
58 | .B DSP56K_SET_TX_WSIZE | |
c13182ef MK |
59 | sets the transmit word size. |
60 | Allowed values are in the range 1 to 4, | |
fea681da | 61 | and is the number of bytes that will be sent at a time to the |
c13182ef | 62 | DSP56001. |
6de69ccd MK |
63 | These data quantities will either be padded with bytes containing zero, |
64 | or truncated to fit the native 24-bit data format of the | |
fea681da | 65 | DSP56001. |
4279e42d AC |
66 | .TP |
67 | .B DSP56K_SET_RX_WSIZE | |
c13182ef MK |
68 | sets the receive word size. |
69 | Allowed values are in the range 1 to 4, | |
d6c1998e AC |
70 | and is the number of bytes that will be received at a time from the DSP56001. |
71 | These data quantities will either truncated, | |
72 | or padded with a null byte (\[aq]\e0\[aq]), | |
73 | to fit the native 24-bit data format of the DSP56001. | |
4279e42d AC |
74 | .TP |
75 | .B DSP56K_HOST_FLAGS | |
c13182ef MK |
76 | read and write the host flags. |
77 | The host flags are four | |
fea681da | 78 | general-purpose bits that can be read by both the hosting computer and |
c13182ef MK |
79 | the DSP56001. |
80 | Bits 0 and 1 can be written by the host, and bits 2 and | |
fea681da | 81 | 3 can be written by the DSP56001. |
5b539973 | 82 | .IP |
c13182ef | 83 | To access the host flags, the third |
5e21af3a | 84 | .BR ioctl (2) |
b5cc2ffb | 85 | argument must be a pointer |
89f9f5b2 | 86 | to a \fIstruct dsp56k_host_flags\fP. |
c13182ef | 87 | If bit 0 or 1 is set in the |
89f9f5b2 | 88 | \fIdir\fP member, the corresponding bit in \fIout\fP will be written |
c13182ef MK |
89 | to the host flags. |
90 | The state of all host flags will be returned in | |
89f9f5b2 | 91 | the lower four bits of the \fIstatus\fP member. |
4279e42d AC |
92 | .TP |
93 | .B DSP56K_HOST_CMD | |
c13182ef MK |
94 | sends a host command. |
95 | Allowed values are in the range 0 to 31, and is a | |
fea681da MK |
96 | user-defined command handled by the program running in the DSP56001. |
97 | .SH FILES | |
34fa7604 | 98 | .I /dev/dsp56k |
d2dc6294 MK |
99 | .\" .SH AUTHORS |
100 | .\" Fredrik Noring <noring@nocrew.org>, lars brinkhoff <lars@nocrew.org>, | |
101 | .\" Tomas Berndtsson <tomas@nocrew.org>. | |
47297adb | 102 | .SH SEE ALSO |
b49c2acb | 103 | .IR linux/include/asm\-m68k/dsp56k.h , |
a9a13a50 | 104 | .IR linux/drivers/char/dsp56k.c , |
608bf950 SK |
105 | .UR http://dsp56k.nocrew.org/ |
106 | .UE , | |
fea681da | 107 | DSP56000/DSP56001 Digital Signal Processor User's Manual |