version 1, including all changes.
.
Rev |
Author |
# |
Line |
1 |
perry |
1 |
DSP56K |
|
|
2 |
!!!DSP56K |
|
|
3 |
NAME |
|
|
4 |
SYNOPSIS |
|
|
5 |
CONFIGURATION |
|
|
6 |
DESCRIPTION |
|
|
7 |
FILES |
|
|
8 |
AUTHORS |
|
|
9 |
SEE ALSO |
|
|
10 |
---- |
|
|
11 |
!!NAME |
|
|
12 |
|
|
|
13 |
|
|
|
14 |
dsp56k - DSP56001 interface device |
|
|
15 |
!!SYNOPSIS |
|
|
16 |
|
|
|
17 |
|
|
|
18 |
#include |
|
|
19 |
ssize_t read (int__ ''fd''__, void *__ ''data''__, size_t__ ''length''__); |
|
|
20 |
ssize_t write (int__ ''fd''__, void *__ ''data''__, size_t__ ''length''__); |
|
|
21 |
int ioctl (int__ ''fd''__, DSP56K_UPLOAD, struct dsp56k_upload *__''program''__); |
|
|
22 |
int ioctl (int__ ''fd''__, DSP56K_SET_TX_WSIZE, int__ ''wsize''__); |
|
|
23 |
int ioctl (int__ ''fd''__, DSP56K_SET_RX_WSIZE, int__ ''wsize''__); |
|
|
24 |
int ioctl (int__ ''fd''__, DSP56K_HOST_FLAGS, struct dsp56k_host_flags *__''flags''__); |
|
|
25 |
int ioctl (int__ ''fd''__, DSP56K_HOST_CMD, int__ ''cmd''__); |
|
|
26 |
__ |
|
|
27 |
!!CONFIGURATION |
|
|
28 |
|
|
|
29 |
|
|
|
30 |
The dsp56k device is a character device with major number 55 |
|
|
31 |
and minor number 0. |
|
|
32 |
!!DESCRIPTION |
|
|
33 |
|
|
|
34 |
|
|
|
35 |
The Motorola DSP56001 is a fully programmable 24-bit digital |
|
|
36 |
signal processor found in Atari Falcon030-compatible |
|
|
37 |
computers. The __dsp56k__ special file is used to control |
|
|
38 |
the DSP56001, and to send and receive data using the |
|
|
39 |
bi-directional handshaked host port. |
|
|
40 |
|
|
|
41 |
|
|
|
42 |
To send a data stream to the signal processor, use write() |
|
|
43 |
to the device, and read() to receive processed data. The |
|
|
44 |
data can be sent or received in 8, 16, 24, or 32-bit |
|
|
45 |
quantities on the host side, but will always be seen as |
|
|
46 |
24-bit quantities in the DSP56001. |
|
|
47 |
|
|
|
48 |
|
|
|
49 |
The following ioctl(2) calls are used to control the |
|
|
50 |
__dsp56k__ device: |
|
|
51 |
|
|
|
52 |
|
|
|
53 |
__DSP56K_UPLOAD__ |
|
|
54 |
|
|
|
55 |
|
|
|
56 |
resets the DSP56001 and uploads a program. The third ioctl() |
|
|
57 |
argument must be a pointer to a __struct dsp56k_binary__ |
|
|
58 |
with members __bin__ pointing to a DSP56001 binary |
|
|
59 |
program, and __len__ set to the length of the program, |
|
|
60 |
counted in 24-bit words. |
|
|
61 |
|
|
|
62 |
|
|
|
63 |
__DSP56K_SET_TX_WSIZE__ |
|
|
64 |
|
|
|
65 |
|
|
|
66 |
sets the transmit word size. Allowed values are in the range |
|
|
67 |
1 to 4, and is the number of bytes that will be sent at a |
|
|
68 |
time to the DSP56001. These data quantities will either be |
|
|
69 |
padded with zero bytes, or truncated to fit the native |
|
|
70 |
24-bit data format of the DSP56001. |
|
|
71 |
|
|
|
72 |
|
|
|
73 |
__DSP56K_SET_RX_WSIZE__ |
|
|
74 |
|
|
|
75 |
|
|
|
76 |
sets the receive word size. Allowed values are in the range |
|
|
77 |
1 to 4, and is the number of bytes that will be received at |
|
|
78 |
a time from the DSP56001. These data quantities will either |
|
|
79 |
truncated, or padded with a zero byte to fit the native |
|
|
80 |
24-bit data format of the DSP56001. |
|
|
81 |
|
|
|
82 |
|
|
|
83 |
__DSP56K_HOST_FLAGS__ |
|
|
84 |
|
|
|
85 |
|
|
|
86 |
read and write the host flags. The host flags are four |
|
|
87 |
general-purpose bits that can be read by both the hosting |
|
|
88 |
computer and the DSP56001. Bits 0 and 1 can be written by |
|
|
89 |
the host, and bits 2 and 3 can be written by the |
|
|
90 |
DSP56001. |
|
|
91 |
|
|
|
92 |
|
|
|
93 |
To access the host flags, the third ioctl() argument must be |
|
|
94 |
a pointer to a __struct dsp56k_host_flags__. If bit 0 or |
|
|
95 |
1 is set in the __dir__ member, the corresponding bit in |
|
|
96 |
__out__ will be written to the host flags. The state of |
|
|
97 |
all host flags will be returned in the lower four bits of |
|
|
98 |
the __status__ member. |
|
|
99 |
|
|
|
100 |
|
|
|
101 |
__DSP56K_HOST_CMD__ |
|
|
102 |
|
|
|
103 |
|
|
|
104 |
sends a host command. Allowed values are in the range 0 to |
|
|
105 |
31, and is a user-defined command handled by the program |
|
|
106 |
running in the DSP56001. |
|
|
107 |
!!FILES |
|
|
108 |
|
|
|
109 |
|
|
|
110 |
/dev/dsp56k |
|
|
111 |
!!AUTHORS |
|
|
112 |
|
|
|
113 |
|
|
|
114 |
Fredrik Noring |
|
|
115 |
!!SEE ALSO |
|
|
116 |
|
|
|
117 |
|
|
|
118 |
linux/include/asm-m68k/dsp56k.h, |
|
|
119 |
linux/drivers/char/dsp56k.c, http://dsp56k.nocrew.org/, |
|
|
120 |
DSP56000/DSP56001 Digital Signal Processor User's |
|
|
121 |
Manual |
|
|
122 |
---- |