1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 21da177e4SLinus Torvalds #ifndef A2091_H 31da177e4SLinus Torvalds #define A2091_H 41da177e4SLinus Torvalds 51da177e4SLinus Torvalds /* $Id: a2091.h,v 1.4 1997/01/19 23:07:09 davem Exp $ 61da177e4SLinus Torvalds * 71da177e4SLinus Torvalds * Header file for the Commodore A2091 Zorro II SCSI controller for Linux 81da177e4SLinus Torvalds * 91da177e4SLinus Torvalds * Written and (C) 1993, Hamish Macdonald, see a2091.c for more info 101da177e4SLinus Torvalds * 111da177e4SLinus Torvalds */ 121da177e4SLinus Torvalds 131da177e4SLinus Torvalds #include <linux/types.h> 141da177e4SLinus Torvalds 151da177e4SLinus Torvalds #ifndef CMD_PER_LUN 161da177e4SLinus Torvalds #define CMD_PER_LUN 2 171da177e4SLinus Torvalds #endif 181da177e4SLinus Torvalds 191da177e4SLinus Torvalds #ifndef CAN_QUEUE 201da177e4SLinus Torvalds #define CAN_QUEUE 16 211da177e4SLinus Torvalds #endif 221da177e4SLinus Torvalds 231da177e4SLinus Torvalds /* 241da177e4SLinus Torvalds * if the transfer address ANDed with this results in a non-zero 251da177e4SLinus Torvalds * result, then we can't use DMA. 261da177e4SLinus Torvalds */ 271da177e4SLinus Torvalds #define A2091_XFER_MASK (0xff000001) 281da177e4SLinus Torvalds 2956522e39SGeert Uytterhoeven struct a2091_scsiregs { 301da177e4SLinus Torvalds unsigned char pad1[64]; 311da177e4SLinus Torvalds volatile unsigned short ISTR; 321da177e4SLinus Torvalds volatile unsigned short CNTR; 331da177e4SLinus Torvalds unsigned char pad2[60]; 341da177e4SLinus Torvalds volatile unsigned int WTC; 351da177e4SLinus Torvalds volatile unsigned long ACR; 361da177e4SLinus Torvalds unsigned char pad3[6]; 371da177e4SLinus Torvalds volatile unsigned short DAWR; 381da177e4SLinus Torvalds unsigned char pad4; 391da177e4SLinus Torvalds volatile unsigned char SASR; 401da177e4SLinus Torvalds unsigned char pad5; 411da177e4SLinus Torvalds volatile unsigned char SCMD; 421da177e4SLinus Torvalds unsigned char pad6[76]; 431da177e4SLinus Torvalds volatile unsigned short ST_DMA; 441da177e4SLinus Torvalds volatile unsigned short SP_DMA; 451da177e4SLinus Torvalds volatile unsigned short CINT; 461da177e4SLinus Torvalds unsigned char pad7[2]; 471da177e4SLinus Torvalds volatile unsigned short FLUSH; 4856522e39SGeert Uytterhoeven }; 491da177e4SLinus Torvalds 501da177e4SLinus Torvalds #define DAWR_A2091 (3) 511da177e4SLinus Torvalds 521da177e4SLinus Torvalds /* CNTR bits. */ 531da177e4SLinus Torvalds #define CNTR_TCEN (1<<7) 541da177e4SLinus Torvalds #define CNTR_PREST (1<<6) 551da177e4SLinus Torvalds #define CNTR_PDMD (1<<5) 561da177e4SLinus Torvalds #define CNTR_INTEN (1<<4) 571da177e4SLinus Torvalds #define CNTR_DDIR (1<<3) 581da177e4SLinus Torvalds 591da177e4SLinus Torvalds /* ISTR bits. */ 601da177e4SLinus Torvalds #define ISTR_INTX (1<<8) 611da177e4SLinus Torvalds #define ISTR_INT_F (1<<7) 621da177e4SLinus Torvalds #define ISTR_INTS (1<<6) 631da177e4SLinus Torvalds #define ISTR_E_INT (1<<5) 641da177e4SLinus Torvalds #define ISTR_INT_P (1<<4) 651da177e4SLinus Torvalds #define ISTR_UE_INT (1<<3) 661da177e4SLinus Torvalds #define ISTR_OE_INT (1<<2) 671da177e4SLinus Torvalds #define ISTR_FF_FLG (1<<1) 681da177e4SLinus Torvalds #define ISTR_FE_FLG (1<<0) 691da177e4SLinus Torvalds 701da177e4SLinus Torvalds #endif /* A2091_H */ 71