update atp870u driver to 0.78 from D-Link source
[linux-2.4.git] / drivers / scsi / mca_53c9x.h
1 /* mca_53c94.h: Defines and structures for the SCSI adapter found on NCR 35xx
2  *  (and maybe some other) Microchannel machines.
3  *
4  * Code taken mostly from Cyberstorm SCSI drivers
5  *   Copyright (C) 1996 Jesper Skov (jskov@cygnus.co.uk)
6  *
7  * Hacked to work with the NCR MCA stuff by Tymm Twillman (tymm@computer.org)
8  *   1998
9  */
10
11 #include "NCR53C9x.h"
12
13 #ifndef MCA_53C9X_H
14 #define MCA_53C9X_H
15
16 /*
17  * From ibmmca.c (IBM scsi controller card driver) -- used for turning PS2 disk
18  *  activity LED on and off
19  */
20
21 #define PS2_SYS_CTR     0x92
22
23 extern int mca_esp_detect(struct SHT *);
24 extern int mca_esp_release(struct Scsi_Host *);
25 extern const char *esp_info(struct Scsi_Host *);
26 extern int esp_queue(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
27 extern int esp_command(Scsi_Cmnd *);
28 extern int esp_abort(Scsi_Cmnd *);
29 extern int esp_reset(Scsi_Cmnd *, unsigned int);
30 extern int esp_proc_info(char *buffer, char **start, off_t offset, int length,
31                          int hostno, int inout);
32
33
34 #define MCA_53C9X         { proc_name:          "esp", \
35                             name:               "NCR 53c9x SCSI", \
36                             detect:             mca_esp_detect, \
37                             release:            mca_esp_release, \
38                             queuecommand:       esp_queue, \
39                             abort:              esp_abort, \
40                             reset:              esp_reset, \
41                             can_queue:          7, \
42                             sg_tablesize:       SG_ALL, \
43                             cmd_per_lun:        1, \
44                             unchecked_isa_dma:  1, \
45                             use_clustering:     DISABLE_CLUSTERING }
46
47 /* Ports the ncr's 53c94 can be put at; indexed by pos register value */
48
49 #define MCA_53C9X_IO_PORTS {                             \
50                          0x0000, 0x0240, 0x0340, 0x0400, \
51                          0x0420, 0x3240, 0x8240, 0xA240, \
52                         }
53                         
54 /*
55  * Supposedly there were some cards put together with the 'c9x and 86c01.  If
56  *   they have different ID's from the ones on the 3500 series machines, 
57  *   you can add them here and hopefully things will work out.
58  */
59                         
60 #define MCA_53C9X_IDS {          \
61                          0x7F4C, \
62                          0x0000, \
63                         }
64
65 #endif /* MCA_53C9X_H */
66