OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [scsi/] [a2091.h] - Blame information for rev 1774

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#ifndef A2091_H
2
#define A2091_H
3
 
4
/* $Id: a2091.h,v 1.1.1.1 2004-04-15 02:13:49 phoenix Exp $
5
 *
6
 * Header file for the Commodore A2091 Zorro II SCSI controller for Linux
7
 *
8
 * Written and (C) 1993, Hamish Macdonald, see a2091.c for more info
9
 *
10
 */
11
 
12
#include <linux/types.h>
13
 
14
int a2091_detect(Scsi_Host_Template *);
15
int a2091_release(struct Scsi_Host *);
16
const char *wd33c93_info(void);
17
int wd33c93_queuecommand(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
18
int wd33c93_abort(Scsi_Cmnd *);
19
int wd33c93_reset(Scsi_Cmnd *, unsigned int);
20
 
21
#ifndef NULL
22
#define NULL 0
23
#endif
24
 
25
#ifndef CMD_PER_LUN
26
#define CMD_PER_LUN 2
27
#endif
28
 
29
#ifndef CAN_QUEUE
30
#define CAN_QUEUE 16
31
#endif
32
 
33
#define A2091_SCSI {  proc_name:           "A2901", \
34
                      name:                "Commodore A2091/A590 SCSI", \
35
                      detect:              a2091_detect,    \
36
                      release:             a2091_release,   \
37
                      queuecommand:        wd33c93_queuecommand, \
38
                      abort:               wd33c93_abort,   \
39
                      reset:               wd33c93_reset,   \
40
                      can_queue:           CAN_QUEUE,       \
41
                      this_id:             7,               \
42
                      sg_tablesize:        SG_ALL,          \
43
                      cmd_per_lun:         CMD_PER_LUN,     \
44
                      use_clustering:      DISABLE_CLUSTERING }
45
 
46
/*
47
 * if the transfer address ANDed with this results in a non-zero
48
 * result, then we can't use DMA.
49
 */
50
#define A2091_XFER_MASK  (0xff000001)
51
 
52
typedef struct {
53
             unsigned char      pad1[64];
54
    volatile unsigned short     ISTR;
55
    volatile unsigned short     CNTR;
56
             unsigned char      pad2[60];
57
    volatile unsigned int       WTC;
58
    volatile unsigned long      ACR;
59
             unsigned char      pad3[6];
60
    volatile unsigned short     DAWR;
61
             unsigned char      pad4;
62
    volatile unsigned char      SASR;
63
             unsigned char      pad5;
64
    volatile unsigned char      SCMD;
65
             unsigned char      pad6[76];
66
    volatile unsigned short     ST_DMA;
67
    volatile unsigned short     SP_DMA;
68
    volatile unsigned short     CINT;
69
             unsigned char      pad7[2];
70
    volatile unsigned short     FLUSH;
71
} a2091_scsiregs;
72
 
73
#define DAWR_A2091              (3)
74
 
75
/* CNTR bits. */
76
#define CNTR_TCEN               (1<<7)
77
#define CNTR_PREST              (1<<6)
78
#define CNTR_PDMD               (1<<5)
79
#define CNTR_INTEN              (1<<4)
80
#define CNTR_DDIR               (1<<3)
81
 
82
/* ISTR bits. */
83
#define ISTR_INTX               (1<<8)
84
#define ISTR_INT_F              (1<<7)
85
#define ISTR_INTS               (1<<6)
86
#define ISTR_E_INT              (1<<5)
87
#define ISTR_INT_P              (1<<4)
88
#define ISTR_UE_INT             (1<<3)
89
#define ISTR_OE_INT             (1<<2)
90
#define ISTR_FF_FLG             (1<<1)
91
#define ISTR_FE_FLG             (1<<0)
92
 
93
#endif /* A2091_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.