3 AM53/79C974 PC-SCSI Driver
8 *** THIS SHOULD BE CONSIDERED AS BETA SOFTWARE ***
9 *** USE AT YOUR OWN RISK! ***
14 The architecture and much of the code of this device driver was
15 originally developed by Drew Eckhardt for the NCR5380. The
16 following copyrights apply:
18 For the architecture and all pieces of code which can also be found
19 in the NCR5380 device driver:
20 Copyright 1993, Drew Eckhardt
22 (Unix and Linux consulting and custom programming)
26 The AM53C974_nobios_detect code was originally developed by
27 Robin Cutshaw (robin@xfree86.org) and is used here in a
28 slightly modified form.
30 For the remaining code:
31 Copyright 1994, D. Frieauff
32 EMail: fri@rsx42sun0.dofn.de
33 Phone: x49-7545-8-2256 , x49-7541-42305
38 AM53/79C974 (PC-SCSI) Linux driver ALPHA release 0.5, 19 November 1995
44 - Extended message handling re-written to eliminate 'invalid message 17' bug
45 - Parameters of AM53C974_intr adapted
46 - Debug messages structured
49 - README file updated -- please read this file up to the end!
50 - Automatic scanning of io_port and irq implemented; no need for BIOS32
52 - Improved configuration (now via LILO parameter string)
53 - Cleanup of probing and initialization code
54 - Improved sync. negotiation (can be setup individually for every device)
55 - Improved/ debugged code for reception of ext. messages
57 - Improved PCI probing and initialization code
58 - Compatibility changes for Linux 1.3.x
60 - Compatibility changes for Linux 1.3.42
65 - Add proc info function
66 - Support SCSI-2 tagged queuing
72 This driver supports asynchronous and synchronous SCSI-I and SCSI-II
73 devices. It is capable of transfer rate and synchronous negotiation
74 (see below). The driver supports scatter-gather. Transfers are DMA
75 based, but do not (yet) make use of the AM53/79C974 MDL mode.
76 Max. transfer rate is 10MHz (whatever this is in real life). The
77 transfer rate is negotiated with each device (see dmesg output). The
78 AM53/79C974 has a 96-byte DMA FIFO to the PCI bus and a 16-byte SCSI
79 FIFO. It provides active negation and glitch suppression functions.
80 Burst DMA transfer rate is 132 MBytes/sec.
86 The following communication characteristics can be set individually
87 for every SCSI device on the bus:
89 - enable/disable sync. negotiation
91 - asynchronous or synchronous communication
92 - in case of sync. communication, the sync. offset
94 The sync. offset specifies the number of bytes that can be sent or
95 received from the SCSI bus without ACK resp. REQ signal.
96 CAUTION: USING SYNCHRONOUS MODE ON LONG SCSI CABLES MAY CAUSE
97 COMMUNICATION PROBLEMS LEADING TO LOSS OF DATA.
99 The default setting of the SCSI communication parameters is as follows:
101 - 5.0 MHz transfer rate
105 The parameters can be modified by passing a string with the following
106 syntax to the kernel:
108 AM53C974=host-scsi-id,target-scsi-id,max-rate,max-offset
110 The parameters will be used by the driver as negotiation basis. The
111 range of the rate parameter is 3 to 10 MHz. The range of the
112 sync. offset parameter is 0 to 15 bytes. A value of 0 denotes
113 asynchronous comm. mode. If the target cannot cope with the specified
114 transfer rate, sync. mode or sync. offset, the negotiation result
115 will differ from the specified values. The negotiation result is
116 printed out at the end of the negotiation process (to read it, use the
117 dmesg program or the appropriate syslog). The parameter strings
118 (blank separated) can be passed to the kernel at the LILO prompt, or
119 as part of the LILO configuration file.
121 For example, the string "AM53C974=7,2,8,15" would be interpreted as
124 For communication between the controller with SCSI-ID 7 and the
125 device with SCSI-ID 2 a transfer rate of 8MHz in synchronous mode with
126 max. 15 bytes offset should be negotiated.
128 As an example, here my LILO configuration file:
132 delay = 50 # optional, for systems that boot very quickly
133 vga = normal # force sane state
134 ramdisk = 0 # paranoia setting
135 root = current # use "current" root
136 image = /usr/src/linux/arch/i386/boot/zImage
138 append = "AM53C974=7,0,10,0 AM53C974=7,1,10,0 AM53C974=7,2,10,15 AM53C974=7,4,10,0 AM53C974=7,5,10,0"
143 loader = /boot/any_d.b
147 The same parameters at the LILO prompt:
149 LILO boot: linux AM53C974=7,0,10,0 AM53C974=7,1,10,0 AM53C974=7,2,10,15 AM53C974=7,4,10,0 AM53C974=7,5,10,0
151 You can override parameters specified in the LILO configuration file
152 by parameters specified on the LILO command line.
157 Version 0.4 of the driver will use the BIOS, if available. Otherwise
158 it will try its internal PCI scan and access routines. The driver
159 assumes that the controller's SCSI-ID (usually 7) has been correctly
160 loaded by the BIOS into the controller's register during system
161 boot. If the driver detects that the controller's SCSI ID is not '7'
162 it will print out a warning. If this happens to you please correct
163 setting of the controller's SCSI-ID. If it is wrong, then edit the
164 AM53C974_SCSI_ID definition in file AM53C974.h accordingly.
169 This driver was tested on a Compaq XL566 with the following SCSI configuration:
170 2 x HP C2247 fixed disk (internal, rate=10MHz, async.)
171 1 x Micropolis 1624 fixed disk (external, rate=8MHz, sync., offset=15 bytes)
172 1 x Wangtek W5525ES cartridge streamer (internal, rate=5MHz, async.)
173 1 x Toshiba XM-3301B CD-ROM (external, rate=5MHz, async.)
178 - Compaq/Matsushita CD-ROM:
179 Use of this device with AM53C974 driver version 0.2 caused the kernel to
180 hang during Linux boot. If you encounter the problem, don't enable sync.
181 negotiation with the CD-ROM, i.e. simply don't specify comm. parameters
182 for this device on the LILO command line or configuration file.
183 The driver will thus use its default for the CD-ROM, which is 5MHz
184 transfer rate async and no sync. negotiation.
185 - Some disks cause problems.
188 What to do if there is a SCSI problem possibly related to the driver
189 --------------------------------------------------------------------
191 Read Klaus Liedl's WWW page (http://www-c724.uibk.ac.at/XL/). In case
192 this does not help: Send me a complete description of the problem,
193 including your SCSI configuration plus as much debugging information
194 as possible. Don't wait until I ask you for this information. To
195 enable the generation of debugging output, remove the comments from
196 the following definitions in the AM53C974.h file:
200 AM53C974_DEBUG_KEYWAIT
204 With these definitions enabled, the driver will enter single-step mode
205 during Linux boot. Use the spacebar for stepping. Take note of at
206 least the last 10 printout sections (marked by dashes) before the
207 crash/hangup or whatever happens and send me all of this information
208 via email. If the system can boot, use the syslogd daemon to record
209 the debugging output. Maybe you can use the ramdisk for this purpose
210 too (if necessary, kindly ask K. Liedl (Klaus.Liedl@uibk.ac.at) for
211 support, he knows how to do it -- I never tried). Stay in email
212 contact with me. Be aware that the following weeks/months could be the
213 worst of your life. Note: If single-stepping takes up too much time,
214 you can try to let the driver catch the problem by pressing the 'r'
215 key. The driver will automatically enter single-step mode if it has
216 detected something weird.
219 Author's Contact Address
220 -----------------------
221 Email: fri@rsx42sun0.dofn.de
222 Phone: x49-7545-2256 (office), x49-7541-42305 (home)
223 Home address: D. Frieauff, Stockerholzstr. 27, 88048 Friedrichshafen, Germany
226 !!!! Important Notice !!!!
227 -----------------------------
228 - Klaus Liedl maintains an excellent WWW page about Linux on Compaq XL.
229 It includes an FAQ, lots of tips & tricks as well as downloadable
230 boot disk images. The URL is: http://www-c724.uibk.ac.at/XL/
231 - Volunteer wanted for further maintenance of this driver software. I
232 don't have the time anymore to do serious support as some of you will know.
237 - AMD AM53C974 PC-SCSI Technical Manual, publication #18624B
238 - Amendment to the AMD AM53C974 PC-SCSI Technical Manual
239 - AMD AM79C974 PC-NET Datasheet, publication #18681
240 - Amendment to the AMD AM79C974 PC-NET Datasheet
245 - Drew Eckhardt, Robin Cutshaw, K. Liedl, Robert J. Pappas, A. Grenier,
246 Mark Stockton, David C. Niemi, Ben Craft, and many others who have helped