2005-04-17 02:20:36 +04:00
# ifndef A2091_H
# define A2091_H
/* $Id: a2091.h,v 1.4 1997/01/19 23:07:09 davem Exp $
*
* Header file for the Commodore A2091 Zorro II SCSI controller for Linux
*
* Written and ( C ) 1993 , Hamish Macdonald , see a2091 . c for more info
*
*/
# include <linux/types.h>
# ifndef CMD_PER_LUN
2010-04-04 13:00:32 +04:00
# define CMD_PER_LUN 2
2005-04-17 02:20:36 +04:00
# endif
# ifndef CAN_QUEUE
2010-04-04 13:00:32 +04:00
# define CAN_QUEUE 16
2005-04-17 02:20:36 +04:00
# endif
/*
* if the transfer address ANDed with this results in a non - zero
* result , then we can ' t use DMA .
*/
2010-04-04 13:00:32 +04:00
# define A2091_XFER_MASK (0xff000001)
2005-04-17 02:20:36 +04:00
2009-05-17 23:05:54 +04:00
struct a2091_scsiregs {
2010-04-04 13:00:32 +04:00
unsigned char pad1 [ 64 ] ;
volatile unsigned short ISTR ;
volatile unsigned short CNTR ;
unsigned char pad2 [ 60 ] ;
volatile unsigned int WTC ;
volatile unsigned long ACR ;
unsigned char pad3 [ 6 ] ;
volatile unsigned short DAWR ;
unsigned char pad4 ;
volatile unsigned char SASR ;
unsigned char pad5 ;
volatile unsigned char SCMD ;
unsigned char pad6 [ 76 ] ;
volatile unsigned short ST_DMA ;
volatile unsigned short SP_DMA ;
volatile unsigned short CINT ;
unsigned char pad7 [ 2 ] ;
volatile unsigned short FLUSH ;
2009-05-17 23:05:54 +04:00
} ;
2005-04-17 02:20:36 +04:00
# define DAWR_A2091 (3)
/* CNTR bits. */
# define CNTR_TCEN (1<<7)
# define CNTR_PREST (1<<6)
# define CNTR_PDMD (1<<5)
# define CNTR_INTEN (1<<4)
# define CNTR_DDIR (1<<3)
/* ISTR bits. */
# define ISTR_INTX (1<<8)
# define ISTR_INT_F (1<<7)
# define ISTR_INTS (1<<6)
# define ISTR_E_INT (1<<5)
# define ISTR_INT_P (1<<4)
# define ISTR_UE_INT (1<<3)
# define ISTR_OE_INT (1<<2)
# define ISTR_FF_FLG (1<<1)
# define ISTR_FE_FLG (1<<0)
# endif /* A2091_H */