| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef A3000_H | 
 | 2 | #define A3000_H | 
 | 3 |  | 
 | 4 | /* $Id: a3000.h,v 1.4 1997/01/19 23:07:10 davem Exp $ | 
 | 5 |  * | 
 | 6 |  * Header file for the Amiga 3000 built-in SCSI controller for Linux | 
 | 7 |  * | 
 | 8 |  * Written and (C) 1993, Hamish Macdonald, see a3000.c for more info | 
 | 9 |  * | 
 | 10 |  */ | 
 | 11 |  | 
 | 12 | #include <linux/types.h> | 
 | 13 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 14 | #ifndef CMD_PER_LUN | 
| Geert Uytterhoeven | 2135101 | 2010-04-04 11:00:35 +0200 | [diff] [blame] | 15 | #define CMD_PER_LUN		2 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 16 | #endif | 
 | 17 |  | 
 | 18 | #ifndef CAN_QUEUE | 
| Geert Uytterhoeven | 2135101 | 2010-04-04 11:00:35 +0200 | [diff] [blame] | 19 | #define CAN_QUEUE		16 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | #endif | 
 | 21 |  | 
 | 22 | /* | 
 | 23 |  * if the transfer address ANDed with this results in a non-zero | 
 | 24 |  * result, then we can't use DMA. | 
 | 25 |  */ | 
| Geert Uytterhoeven | 2135101 | 2010-04-04 11:00:35 +0200 | [diff] [blame] | 26 | #define A3000_XFER_MASK		(0x00000003) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 27 |  | 
| Geert Uytterhoeven | c57c1ca | 2009-05-17 21:05:53 +0200 | [diff] [blame] | 28 | struct a3000_scsiregs { | 
| Geert Uytterhoeven | 2135101 | 2010-04-04 11:00:35 +0200 | [diff] [blame] | 29 | 		 unsigned char	pad1[2]; | 
 | 30 | 	volatile unsigned short	DAWR; | 
 | 31 | 	volatile unsigned int	WTC; | 
 | 32 | 		 unsigned char	pad2[2]; | 
 | 33 | 	volatile unsigned short	CNTR; | 
 | 34 | 	volatile unsigned long	ACR; | 
 | 35 | 		 unsigned char	pad3[2]; | 
 | 36 | 	volatile unsigned short	ST_DMA; | 
 | 37 | 		 unsigned char	pad4[2]; | 
 | 38 | 	volatile unsigned short	FLUSH; | 
 | 39 | 		 unsigned char	pad5[2]; | 
 | 40 | 	volatile unsigned short	CINT; | 
 | 41 | 		 unsigned char	pad6[2]; | 
 | 42 | 	volatile unsigned short	ISTR; | 
 | 43 | 		 unsigned char	pad7[30]; | 
 | 44 | 	volatile unsigned short	SP_DMA; | 
 | 45 | 		 unsigned char	pad8; | 
 | 46 | 	volatile unsigned char	SASR; | 
 | 47 | 		 unsigned char	pad9; | 
 | 48 | 	volatile unsigned char	SCMD; | 
| Geert Uytterhoeven | c57c1ca | 2009-05-17 21:05:53 +0200 | [diff] [blame] | 49 | }; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 50 |  | 
 | 51 | #define DAWR_A3000		(3) | 
 | 52 |  | 
 | 53 | /* CNTR bits. */ | 
 | 54 | #define CNTR_TCEN		(1<<5) | 
 | 55 | #define CNTR_PREST		(1<<4) | 
 | 56 | #define CNTR_PDMD		(1<<3) | 
 | 57 | #define CNTR_INTEN		(1<<2) | 
 | 58 | #define CNTR_DDIR		(1<<1) | 
 | 59 | #define CNTR_IO_DX		(1<<0) | 
 | 60 |  | 
 | 61 | /* ISTR bits. */ | 
 | 62 | #define ISTR_INTX		(1<<8) | 
 | 63 | #define ISTR_INT_F		(1<<7) | 
 | 64 | #define ISTR_INTS		(1<<6) | 
 | 65 | #define ISTR_E_INT		(1<<5) | 
 | 66 | #define ISTR_INT_P		(1<<4) | 
 | 67 | #define ISTR_UE_INT		(1<<3) | 
 | 68 | #define ISTR_OE_INT		(1<<2) | 
 | 69 | #define ISTR_FF_FLG		(1<<1) | 
 | 70 | #define ISTR_FE_FLG		(1<<0) | 
 | 71 |  | 
 | 72 | #endif /* A3000_H */ |