1 #ifndef GVP11_H 2 3 /* $Id: gvp11.h,v 1.4 1997/01/19 23:07:12 davem Exp $ 4 * 5 * Header file for the GVP Series II SCSI controller for Linux 6 * 7 * Written and (C) 1993, Ralf Baechle, see gvp11.c for more info 8 * based on a2091.h (C) 1993 by Hamish Macdonald 9 * 10 */ 11 12 #include <linux/types.h> 13 14 int gvp11_detect(struct scsi_host_template *); 15 int gvp11_release(struct Scsi_Host *); 16 17 #ifndef CMD_PER_LUN 18 #define CMD_PER_LUN 2 19 #endif 20 21 #ifndef CAN_QUEUE 22 #define CAN_QUEUE 16 23 #endif 24 25 #ifndef HOSTS_C 26 27 /* 28 * if the transfer address ANDed with this results in a non-zero 29 * result, then we can't use DMA. 30 */ 31 #define GVP11_XFER_MASK (0xff000001) 32 33 typedef struct { 34 unsigned char pad1[64]; 35 volatile unsigned short CNTR; 36 unsigned char pad2[31]; 37 volatile unsigned char SASR; 38 unsigned char pad3; 39 volatile unsigned char SCMD; 40 unsigned char pad4[4]; 41 volatile unsigned short BANK; 42 unsigned char pad5[6]; 43 volatile unsigned long ACR; 44 volatile unsigned short secret1; /* store 0 here */ 45 volatile unsigned short ST_DMA; 46 volatile unsigned short SP_DMA; 47 volatile unsigned short secret2; /* store 1 here */ 48 volatile unsigned short secret3; /* store 15 here */ 49 } gvp11_scsiregs; 50 51 /* bits in CNTR */ 52 #define GVP11_DMAC_BUSY (1<<0) 53 #define GVP11_DMAC_INT_PENDING (1<<1) 54 #define GVP11_DMAC_INT_ENABLE (1<<3) 55 #define GVP11_DMAC_DIR_WRITE (1<<4) 56 57 #endif /* else def HOSTS_C */ 58 59 #endif /* GVP11_H */ 60