913 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			913 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /*
 | |
|  * DO NOT EDIT - This file is automatically generated
 | |
|  *		 from the following source files:
 | |
|  *
 | |
|  * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.seq#58 $
 | |
|  * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $
 | |
|  */
 | |
| typedef int (ahc_reg_print_t)(u_int, u_int *, u_int);
 | |
| typedef struct ahc_reg_parse_entry {
 | |
| 	char	*name;
 | |
| 	uint8_t	 value;
 | |
| 	uint8_t	 mask;
 | |
| } ahc_reg_parse_entry_t;
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_scsiseq_print;
 | |
| #else
 | |
| #define ahc_scsiseq_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SCSISEQ", 0x00, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_sxfrctl0_print;
 | |
| #else
 | |
| #define ahc_sxfrctl0_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SXFRCTL0", 0x01, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_scsisigi_print;
 | |
| #else
 | |
| #define ahc_scsisigi_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SCSISIGI", 0x03, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_scsirate_print;
 | |
| #else
 | |
| #define ahc_scsirate_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SCSIRATE", 0x04, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_sstat0_print;
 | |
| #else
 | |
| #define ahc_sstat0_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SSTAT0", 0x0b, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_sstat1_print;
 | |
| #else
 | |
| #define ahc_sstat1_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SSTAT1", 0x0c, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_sstat2_print;
 | |
| #else
 | |
| #define ahc_sstat2_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SSTAT2", 0x0d, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_sstat3_print;
 | |
| #else
 | |
| #define ahc_sstat3_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SSTAT3", 0x0e, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_simode0_print;
 | |
| #else
 | |
| #define ahc_simode0_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SIMODE0", 0x10, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_simode1_print;
 | |
| #else
 | |
| #define ahc_simode1_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SIMODE1", 0x11, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_scsibusl_print;
 | |
| #else
 | |
| #define ahc_scsibusl_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SCSIBUSL", 0x12, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_sblkctl_print;
 | |
| #else
 | |
| #define ahc_sblkctl_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SBLKCTL", 0x1f, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_seq_flags_print;
 | |
| #else
 | |
| #define ahc_seq_flags_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SEQ_FLAGS", 0x3c, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_lastphase_print;
 | |
| #else
 | |
| #define ahc_lastphase_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "LASTPHASE", 0x3f, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_seqctl_print;
 | |
| #else
 | |
| #define ahc_seqctl_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SEQCTL", 0x60, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_sram_base_print;
 | |
| #else
 | |
| #define ahc_sram_base_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SRAM_BASE", 0x70, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_error_print;
 | |
| #else
 | |
| #define ahc_error_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "ERROR", 0x92, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_dfcntrl_print;
 | |
| #else
 | |
| #define ahc_dfcntrl_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "DFCNTRL", 0x93, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_dfstatus_print;
 | |
| #else
 | |
| #define ahc_dfstatus_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "DFSTATUS", 0x94, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_scsiphase_print;
 | |
| #else
 | |
| #define ahc_scsiphase_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SCSIPHASE", 0x9e, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_scb_base_print;
 | |
| #else
 | |
| #define ahc_scb_base_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SCB_BASE", 0xa0, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_scb_control_print;
 | |
| #else
 | |
| #define ahc_scb_control_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SCB_CONTROL", 0xb8, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_scb_scsiid_print;
 | |
| #else
 | |
| #define ahc_scb_scsiid_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SCB_SCSIID", 0xb9, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_scb_lun_print;
 | |
| #else
 | |
| #define ahc_scb_lun_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SCB_LUN", 0xba, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| #if AIC_DEBUG_REGISTERS
 | |
| ahc_reg_print_t ahc_scb_tag_print;
 | |
| #else
 | |
| #define ahc_scb_tag_print(regvalue, cur_col, wrap) \
 | |
|     ahc_print_register(NULL, 0, "SCB_TAG", 0xbb, regvalue, cur_col, wrap)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| #define	SCSISEQ         		0x00
 | |
| #define		TEMODE          	0x80
 | |
| #define		SCSIRSTO        	0x01
 | |
| 
 | |
| #define	SXFRCTL0        		0x01
 | |
| #define		DFON            	0x80
 | |
| #define		DFPEXP          	0x40
 | |
| #define		FAST20          	0x20
 | |
| #define		CLRSTCNT        	0x10
 | |
| #define		SPIOEN          	0x08
 | |
| #define		SCAMEN          	0x04
 | |
| #define		CLRCHN          	0x02
 | |
| 
 | |
| #define	SXFRCTL1        		0x02
 | |
| #define		STIMESEL        	0x18
 | |
| #define		BITBUCKET       	0x80
 | |
| #define		SWRAPEN         	0x40
 | |
| #define		ENSTIMER        	0x04
 | |
| #define		ACTNEGEN        	0x02
 | |
| #define		STPWEN          	0x01
 | |
| 
 | |
| #define	SCSISIGO        		0x03
 | |
| #define		CDO             	0x80
 | |
| #define		IOO             	0x40
 | |
| #define		MSGO            	0x20
 | |
| #define		ATNO            	0x10
 | |
| #define		SELO            	0x08
 | |
| #define		BSYO            	0x04
 | |
| #define		REQO            	0x02
 | |
| #define		ACKO            	0x01
 | |
| 
 | |
| #define	SCSISIGI        		0x03
 | |
| #define		P_DATAIN_DT     	0x60
 | |
| #define		P_DATAOUT_DT    	0x20
 | |
| #define		ATNI            	0x10
 | |
| #define		SELI            	0x08
 | |
| #define		BSYI            	0x04
 | |
| #define		REQI            	0x02
 | |
| #define		ACKI            	0x01
 | |
| 
 | |
| #define	SCSIRATE        		0x04
 | |
| #define		SXFR            	0x70
 | |
| #define		SOFS            	0x0f
 | |
| #define		SXFR_ULTRA2     	0x0f
 | |
| #define		WIDEXFER        	0x80
 | |
| #define		ENABLE_CRC      	0x40
 | |
| #define		SINGLE_EDGE     	0x10
 | |
| 
 | |
| #define	SCSIID          		0x05
 | |
| #define	SCSIOFFSET      		0x05
 | |
| #define		SOFS_ULTRA2     	0x7f
 | |
| 
 | |
| #define	SCSIDATL        		0x06
 | |
| 
 | |
| #define	SCSIDATH        		0x07
 | |
| 
 | |
| #define	OPTIONMODE      		0x08
 | |
| #define		OPTIONMODE_DEFAULTS	0x03
 | |
| #define		AUTORATEEN      	0x80
 | |
| #define		AUTOACKEN       	0x40
 | |
| #define		ATNMGMNTEN      	0x20
 | |
| #define		BUSFREEREV      	0x10
 | |
| #define		EXPPHASEDIS     	0x08
 | |
| #define		SCSIDATL_IMGEN  	0x04
 | |
| #define		AUTO_MSGOUT_DE  	0x02
 | |
| #define		DIS_MSGIN_DUALEDGE	0x01
 | |
| 
 | |
| #define	STCNT           		0x08
 | |
| 
 | |
| #define	TARGCRCCNT      		0x0a
 | |
| 
 | |
| #define	CLRSINT0        		0x0b
 | |
| #define		CLRSELDO        	0x40
 | |
| #define		CLRSELDI        	0x20
 | |
| #define		CLRSELINGO      	0x10
 | |
| #define		CLRIOERR        	0x08
 | |
| #define		CLRSWRAP        	0x08
 | |
| #define		CLRSPIORDY      	0x02
 | |
| 
 | |
| #define	SSTAT0          		0x0b
 | |
| #define		TARGET          	0x80
 | |
| #define		SELDO           	0x40
 | |
| #define		SELDI           	0x20
 | |
| #define		SELINGO         	0x10
 | |
| #define		SWRAP           	0x08
 | |
| #define		IOERR           	0x08
 | |
| #define		SDONE           	0x04
 | |
| #define		SPIORDY         	0x02
 | |
| #define		DMADONE         	0x01
 | |
| 
 | |
| #define	CLRSINT1        		0x0c
 | |
| #define		CLRSELTIMEO     	0x80
 | |
| #define		CLRATNO         	0x40
 | |
| #define		CLRSCSIRSTI     	0x20
 | |
| #define		CLRBUSFREE      	0x08
 | |
| #define		CLRSCSIPERR     	0x04
 | |
| #define		CLRPHASECHG     	0x02
 | |
| #define		CLRREQINIT      	0x01
 | |
| 
 | |
| #define	SSTAT1          		0x0c
 | |
| #define		SELTO           	0x80
 | |
| #define		ATNTARG         	0x40
 | |
| #define		SCSIRSTI        	0x20
 | |
| #define		PHASEMIS        	0x10
 | |
| #define		BUSFREE         	0x08
 | |
| #define		SCSIPERR        	0x04
 | |
| #define		PHASECHG        	0x02
 | |
| #define		REQINIT         	0x01
 | |
| 
 | |
| #define	SSTAT2          		0x0d
 | |
| #define		SFCNT           	0x1f
 | |
| #define		OVERRUN         	0x80
 | |
| #define		SHVALID         	0x40
 | |
| #define		EXP_ACTIVE      	0x10
 | |
| #define		CRCVALERR       	0x08
 | |
| #define		CRCENDERR       	0x04
 | |
| #define		CRCREQERR       	0x02
 | |
| #define		DUAL_EDGE_ERR   	0x01
 | |
| 
 | |
| #define	SSTAT3          		0x0e
 | |
| #define		SCSICNT         	0xf0
 | |
| #define		U2OFFCNT        	0x7f
 | |
| #define		OFFCNT          	0x0f
 | |
| 
 | |
| #define	SCSIID_ULTRA2   		0x0f
 | |
| 
 | |
| #define	SIMODE0         		0x10
 | |
| #define		ENSELDO         	0x40
 | |
| #define		ENSELDI         	0x20
 | |
| #define		ENSELINGO       	0x10
 | |
| #define		ENIOERR         	0x08
 | |
| #define		ENSWRAP         	0x08
 | |
| #define		ENSDONE         	0x04
 | |
| #define		ENSPIORDY       	0x02
 | |
| #define		ENDMADONE       	0x01
 | |
| 
 | |
| #define	SIMODE1         		0x11
 | |
| #define		ENSELTIMO       	0x80
 | |
| #define		ENATNTARG       	0x40
 | |
| #define		ENSCSIRST       	0x20
 | |
| #define		ENPHASEMIS      	0x10
 | |
| #define		ENBUSFREE       	0x08
 | |
| #define		ENSCSIPERR      	0x04
 | |
| #define		ENPHASECHG      	0x02
 | |
| #define		ENREQINIT       	0x01
 | |
| 
 | |
| #define	SCSIBUSL        		0x12
 | |
| 
 | |
| #define	SCSIBUSH        		0x13
 | |
| 
 | |
| #define	SXFRCTL2        		0x13
 | |
| #define		ASYNC_SETUP     	0x07
 | |
| #define		AUTORSTDIS      	0x10
 | |
| #define		CMDDMAEN        	0x08
 | |
| 
 | |
| #define	SHADDR          		0x14
 | |
| 
 | |
| #define	SELTIMER        		0x18
 | |
| #define	TARGIDIN        		0x18
 | |
| #define		STAGE6          	0x20
 | |
| #define		STAGE5          	0x10
 | |
| #define		STAGE4          	0x08
 | |
| #define		STAGE3          	0x04
 | |
| #define		STAGE2          	0x02
 | |
| #define		STAGE1          	0x01
 | |
| 
 | |
| #define	SELID           		0x19
 | |
| #define		SELID_MASK      	0xf0
 | |
| #define		ONEBIT          	0x08
 | |
| 
 | |
| #define	SCAMCTL         		0x1a
 | |
| #define		SCAMLVL         	0x03
 | |
| #define		ENSCAMSELO      	0x80
 | |
| #define		CLRSCAMSELID    	0x40
 | |
| #define		ALTSTIM         	0x20
 | |
| #define		DFLTTID         	0x10
 | |
| 
 | |
| #define	SPIOCAP         		0x1b
 | |
| #define		SOFT1           	0x80
 | |
| #define		SOFT0           	0x40
 | |
| #define		SOFTCMDEN       	0x20
 | |
| #define		EXT_BRDCTL      	0x10
 | |
| #define		SEEPROM         	0x08
 | |
| #define		EEPROM          	0x04
 | |
| #define		ROM             	0x02
 | |
| #define		SSPIOCPS        	0x01
 | |
| 
 | |
| #define	TARGID          		0x1b
 | |
| 
 | |
| #define	BRDCTL          		0x1d
 | |
| #define		BRDDAT7         	0x80
 | |
| #define		BRDDAT6         	0x40
 | |
| #define		BRDDAT5         	0x20
 | |
| #define		BRDSTB          	0x10
 | |
| #define		BRDDAT4         	0x10
 | |
| #define		BRDDAT3         	0x08
 | |
| #define		BRDCS           	0x08
 | |
| #define		BRDDAT2         	0x04
 | |
| #define		BRDRW           	0x04
 | |
| #define		BRDRW_ULTRA2    	0x02
 | |
| #define		BRDCTL1         	0x02
 | |
| #define		BRDCTL0         	0x01
 | |
| #define		BRDSTB_ULTRA2   	0x01
 | |
| 
 | |
| #define	SEECTL          		0x1e
 | |
| #define		EXTARBACK       	0x80
 | |
| #define		EXTARBREQ       	0x40
 | |
| #define		SEEMS           	0x20
 | |
| #define		SEERDY          	0x10
 | |
| #define		SEECS           	0x08
 | |
| #define		SEECK           	0x04
 | |
| #define		SEEDO           	0x02
 | |
| #define		SEEDI           	0x01
 | |
| 
 | |
| #define	SBLKCTL         		0x1f
 | |
| #define		DIAGLEDEN       	0x80
 | |
| #define		DIAGLEDON       	0x40
 | |
| #define		AUTOFLUSHDIS    	0x20
 | |
| #define		SELBUSB         	0x08
 | |
| #define		ENAB40          	0x08
 | |
| #define		ENAB20          	0x04
 | |
| #define		SELWIDE         	0x02
 | |
| #define		XCVR            	0x01
 | |
| 
 | |
| #define	BUSY_TARGETS    		0x20
 | |
| #define	TARG_SCSIRATE   		0x20
 | |
| 
 | |
| #define	ULTRA_ENB       		0x30
 | |
| #define	CMDSIZE_TABLE   		0x30
 | |
| 
 | |
| #define	DISC_DSB        		0x32
 | |
| 
 | |
| #define	CMDSIZE_TABLE_TAIL		0x34
 | |
| 
 | |
| #define	MWI_RESIDUAL    		0x38
 | |
| 
 | |
| #define	NEXT_QUEUED_SCB 		0x39
 | |
| 
 | |
| #define	MSG_OUT         		0x3a
 | |
| 
 | |
| #define	DMAPARAMS       		0x3b
 | |
| #define		PRELOADEN       	0x80
 | |
| #define		WIDEODD         	0x40
 | |
| #define		SCSIEN          	0x20
 | |
| #define		SDMAEN          	0x10
 | |
| #define		SDMAENACK       	0x10
 | |
| #define		HDMAEN          	0x08
 | |
| #define		HDMAENACK       	0x08
 | |
| #define		DIRECTION       	0x04
 | |
| #define		FIFOFLUSH       	0x02
 | |
| #define		FIFORESET       	0x01
 | |
| 
 | |
| #define	SEQ_FLAGS       		0x3c
 | |
| #define		NOT_IDENTIFIED  	0x80
 | |
| #define		NO_CDB_SENT     	0x40
 | |
| #define		TARGET_CMD_IS_TAGGED	0x40
 | |
| #define		DPHASE          	0x20
 | |
| #define		TARG_CMD_PENDING	0x10
 | |
| #define		CMDPHASE_PENDING	0x08
 | |
| #define		DPHASE_PENDING  	0x04
 | |
| #define		SPHASE_PENDING  	0x02
 | |
| #define		NO_DISCONNECT   	0x01
 | |
| 
 | |
| #define	SAVED_SCSIID    		0x3d
 | |
| 
 | |
| #define	SAVED_LUN       		0x3e
 | |
| 
 | |
| #define	LASTPHASE       		0x3f
 | |
| #define		P_MESGIN        	0xe0
 | |
| #define		PHASE_MASK      	0xe0
 | |
| #define		P_STATUS        	0xc0
 | |
| #define		P_MESGOUT       	0xa0
 | |
| #define		P_COMMAND       	0x80
 | |
| #define		P_DATAIN        	0x40
 | |
| #define		P_BUSFREE       	0x01
 | |
| #define		P_DATAOUT       	0x00
 | |
| #define		CDI             	0x80
 | |
| #define		IOI             	0x40
 | |
| #define		MSGI            	0x20
 | |
| 
 | |
| #define	WAITING_SCBH    		0x40
 | |
| 
 | |
| #define	DISCONNECTED_SCBH		0x41
 | |
| 
 | |
| #define	FREE_SCBH       		0x42
 | |
| 
 | |
| #define	COMPLETE_SCBH   		0x43
 | |
| 
 | |
| #define	HSCB_ADDR       		0x44
 | |
| 
 | |
| #define	SHARED_DATA_ADDR		0x48
 | |
| 
 | |
| #define	KERNEL_QINPOS   		0x4c
 | |
| 
 | |
| #define	QINPOS          		0x4d
 | |
| 
 | |
| #define	QOUTPOS         		0x4e
 | |
| 
 | |
| #define	KERNEL_TQINPOS  		0x4f
 | |
| 
 | |
| #define	TQINPOS         		0x50
 | |
| 
 | |
| #define	ARG_1           		0x51
 | |
| #define	RETURN_1        		0x51
 | |
| #define		SEND_MSG        	0x80
 | |
| #define		SEND_SENSE      	0x40
 | |
| #define		SEND_REJ        	0x20
 | |
| #define		MSGOUT_PHASEMIS 	0x10
 | |
| #define		EXIT_MSG_LOOP   	0x08
 | |
| #define		CONT_MSG_LOOP   	0x04
 | |
| #define		CONT_TARG_SESSION	0x02
 | |
| 
 | |
| #define	ARG_2           		0x52
 | |
| #define	RETURN_2        		0x52
 | |
| 
 | |
| #define	LAST_MSG        		0x53
 | |
| #define	TARG_IMMEDIATE_SCB		0x53
 | |
| 
 | |
| #define	SCSISEQ_TEMPLATE		0x54
 | |
| #define		ENSELO          	0x40
 | |
| #define		ENSELI          	0x20
 | |
| #define		ENRSELI         	0x10
 | |
| #define		ENAUTOATNO      	0x08
 | |
| #define		ENAUTOATNI      	0x04
 | |
| #define		ENAUTOATNP      	0x02
 | |
| 
 | |
| #define	HA_274_BIOSGLOBAL		0x56
 | |
| #define	INITIATOR_TAG   		0x56
 | |
| #define		HA_274_EXTENDED_TRANS	0x01
 | |
| 
 | |
| #define	SEQ_FLAGS2      		0x57
 | |
| #define		TARGET_MSG_PENDING	0x02
 | |
| #define		SCB_DMA         	0x01
 | |
| 
 | |
| #define	SCSICONF        		0x5a
 | |
| #define		HWSCSIID        	0x0f
 | |
| #define		HSCSIID         	0x07
 | |
| #define		TERM_ENB        	0x80
 | |
| #define		RESET_SCSI      	0x40
 | |
| #define		ENSPCHK         	0x20
 | |
| 
 | |
| #define	INTDEF          		0x5c
 | |
| #define		VECTOR          	0x0f
 | |
| #define		EDGE_TRIG       	0x80
 | |
| 
 | |
| #define	HOSTCONF        		0x5d
 | |
| 
 | |
| #define	HA_274_BIOSCTRL 		0x5f
 | |
| #define		BIOSDISABLED    	0x30
 | |
| #define		BIOSMODE        	0x30
 | |
| #define		CHANNEL_B_PRIMARY	0x08
 | |
| 
 | |
| #define	SEQCTL          		0x60
 | |
| #define		PERRORDIS       	0x80
 | |
| #define		PAUSEDIS        	0x40
 | |
| #define		FAILDIS         	0x20
 | |
| #define		FASTMODE        	0x10
 | |
| #define		BRKADRINTEN     	0x08
 | |
| #define		STEP            	0x04
 | |
| #define		SEQRESET        	0x02
 | |
| #define		LOADRAM         	0x01
 | |
| 
 | |
| #define	SEQRAM          		0x61
 | |
| 
 | |
| #define	SEQADDR0        		0x62
 | |
| 
 | |
| #define	SEQADDR1        		0x63
 | |
| #define		SEQADDR1_MASK   	0x01
 | |
| 
 | |
| #define	ACCUM           		0x64
 | |
| 
 | |
| #define	SINDEX          		0x65
 | |
| 
 | |
| #define	DINDEX          		0x66
 | |
| 
 | |
| #define	ALLONES         		0x69
 | |
| 
 | |
| #define	ALLZEROS        		0x6a
 | |
| 
 | |
| #define	NONE            		0x6a
 | |
| 
 | |
| #define	FLAGS           		0x6b
 | |
| #define		ZERO            	0x02
 | |
| #define		CARRY           	0x01
 | |
| 
 | |
| #define	SINDIR          		0x6c
 | |
| 
 | |
| #define	DINDIR          		0x6d
 | |
| 
 | |
| #define	FUNCTION1       		0x6e
 | |
| 
 | |
| #define	STACK           		0x6f
 | |
| 
 | |
| #define	TARG_OFFSET     		0x70
 | |
| 
 | |
| #define	SRAM_BASE       		0x70
 | |
| 
 | |
| #define	BCTL            		0x84
 | |
| #define		ACE             	0x08
 | |
| #define		ENABLE          	0x01
 | |
| 
 | |
| #define	DSCOMMAND0      		0x84
 | |
| #define		CACHETHEN       	0x80
 | |
| #define		DPARCKEN        	0x40
 | |
| #define		MPARCKEN        	0x20
 | |
| #define		EXTREQLCK       	0x10
 | |
| #define		INTSCBRAMSEL    	0x08
 | |
| #define		RAMPS           	0x04
 | |
| #define		USCBSIZE32      	0x02
 | |
| #define		CIOPARCKEN      	0x01
 | |
| 
 | |
| #define	BUSTIME         		0x85
 | |
| #define		BOFF            	0xf0
 | |
| #define		BON             	0x0f
 | |
| 
 | |
| #define	DSCOMMAND1      		0x85
 | |
| #define		DSLATT          	0xfc
 | |
| #define		HADDLDSEL1      	0x02
 | |
| #define		HADDLDSEL0      	0x01
 | |
| 
 | |
| #define	BUSSPD          		0x86
 | |
| #define		DFTHRSH         	0xc0
 | |
| #define		DFTHRSH_75      	0x80
 | |
| #define		STBOFF          	0x38
 | |
| #define		STBON           	0x07
 | |
| 
 | |
| #define	HS_MAILBOX      		0x86
 | |
| #define		HOST_MAILBOX    	0xf0
 | |
| #define		HOST_TQINPOS    	0x80
 | |
| #define		SEQ_MAILBOX     	0x0f
 | |
| 
 | |
| #define	DSPCISTATUS     		0x86
 | |
| #define		DFTHRSH_100     	0xc0
 | |
| 
 | |
| #define	HCNTRL          		0x87
 | |
| #define		POWRDN          	0x40
 | |
| #define		SWINT           	0x10
 | |
| #define		IRQMS           	0x08
 | |
| #define		PAUSE           	0x04
 | |
| #define		INTEN           	0x02
 | |
| #define		CHIPRST         	0x01
 | |
| #define		CHIPRSTACK      	0x01
 | |
| 
 | |
| #define	HADDR           		0x88
 | |
| 
 | |
| #define	HCNT            		0x8c
 | |
| 
 | |
| #define	SCBPTR          		0x90
 | |
| 
 | |
| #define	INTSTAT         		0x91
 | |
| #define		SEQINT_MASK     	0xf1
 | |
| #define		OUT_OF_RANGE    	0xe1
 | |
| #define		NO_FREE_SCB     	0xd1
 | |
| #define		SCB_MISMATCH    	0xc1
 | |
| #define		MISSED_BUSFREE  	0xb1
 | |
| #define		MKMSG_FAILED    	0xa1
 | |
| #define		DATA_OVERRUN    	0x91
 | |
| #define		PERR_DETECTED   	0x81
 | |
| #define		BAD_STATUS      	0x71
 | |
| #define		HOST_MSG_LOOP   	0x61
 | |
| #define		PDATA_REINIT    	0x51
 | |
| #define		IGN_WIDE_RES    	0x41
 | |
| #define		NO_MATCH        	0x31
 | |
| #define		PROTO_VIOLATION 	0x21
 | |
| #define		SEND_REJECT     	0x11
 | |
| #define		INT_PEND        	0x0f
 | |
| #define		BAD_PHASE       	0x01
 | |
| #define		BRKADRINT       	0x08
 | |
| #define		SCSIINT         	0x04
 | |
| #define		CMDCMPLT        	0x02
 | |
| #define		SEQINT          	0x01
 | |
| 
 | |
| #define	CLRINT          		0x92
 | |
| #define		CLRPARERR       	0x10
 | |
| #define		CLRBRKADRINT    	0x08
 | |
| #define		CLRSCSIINT      	0x04
 | |
| #define		CLRCMDINT       	0x02
 | |
| #define		CLRSEQINT       	0x01
 | |
| 
 | |
| #define	ERROR           		0x92
 | |
| #define		CIOPARERR       	0x80
 | |
| #define		PCIERRSTAT      	0x40
 | |
| #define		MPARERR         	0x20
 | |
| #define		DPARERR         	0x10
 | |
| #define		SQPARERR        	0x08
 | |
| #define		ILLOPCODE       	0x04
 | |
| #define		ILLSADDR        	0x02
 | |
| #define		ILLHADDR        	0x01
 | |
| 
 | |
| #define	DFCNTRL         		0x93
 | |
| 
 | |
| #define	DFSTATUS        		0x94
 | |
| #define		PRELOAD_AVAIL   	0x80
 | |
| #define		DFCACHETH       	0x40
 | |
| #define		FIFOQWDEMP      	0x20
 | |
| #define		MREQPEND        	0x10
 | |
| #define		HDONE           	0x08
 | |
| #define		DFTHRESH        	0x04
 | |
| #define		FIFOFULL        	0x02
 | |
| #define		FIFOEMP         	0x01
 | |
| 
 | |
| #define	DFWADDR         		0x95
 | |
| 
 | |
| #define	DFRADDR         		0x97
 | |
| 
 | |
| #define	DFDAT           		0x99
 | |
| 
 | |
| #define	SCBCNT          		0x9a
 | |
| #define		SCBCNT_MASK     	0x1f
 | |
| #define		SCBAUTO         	0x80
 | |
| 
 | |
| #define	QINFIFO         		0x9b
 | |
| 
 | |
| #define	QINCNT          		0x9c
 | |
| 
 | |
| #define	QOUTFIFO        		0x9d
 | |
| 
 | |
| #define	CRCCONTROL1     		0x9d
 | |
| #define		CRCONSEEN       	0x80
 | |
| #define		CRCVALCHKEN     	0x40
 | |
| #define		CRCENDCHKEN     	0x20
 | |
| #define		CRCREQCHKEN     	0x10
 | |
| #define		TARGCRCENDEN    	0x08
 | |
| #define		TARGCRCCNTEN    	0x04
 | |
| 
 | |
| #define	QOUTCNT         		0x9e
 | |
| 
 | |
| #define	SCSIPHASE       		0x9e
 | |
| #define		DATA_PHASE_MASK 	0x03
 | |
| #define		STATUS_PHASE    	0x20
 | |
| #define		COMMAND_PHASE   	0x10
 | |
| #define		MSG_IN_PHASE    	0x08
 | |
| #define		MSG_OUT_PHASE   	0x04
 | |
| #define		DATA_IN_PHASE   	0x02
 | |
| #define		DATA_OUT_PHASE  	0x01
 | |
| 
 | |
| #define	SFUNCT          		0x9f
 | |
| #define		ALT_MODE        	0x80
 | |
| 
 | |
| #define	SCB_BASE        		0xa0
 | |
| 
 | |
| #define	SCB_CDB_PTR     		0xa0
 | |
| #define	SCB_CDB_STORE   		0xa0
 | |
| #define	SCB_RESIDUAL_DATACNT		0xa0
 | |
| 
 | |
| #define	SCB_RESIDUAL_SGPTR		0xa4
 | |
| 
 | |
| #define	SCB_SCSI_STATUS 		0xa8
 | |
| 
 | |
| #define	SCB_TARGET_PHASES		0xa9
 | |
| 
 | |
| #define	SCB_TARGET_DATA_DIR		0xaa
 | |
| 
 | |
| #define	SCB_TARGET_ITAG 		0xab
 | |
| 
 | |
| #define	SCB_DATAPTR     		0xac
 | |
| 
 | |
| #define	SCB_DATACNT     		0xb0
 | |
| #define		SG_HIGH_ADDR_BITS	0x7f
 | |
| #define		SG_LAST_SEG     	0x80
 | |
| 
 | |
| #define	SCB_SGPTR       		0xb4
 | |
| #define		SG_RESID_VALID  	0x04
 | |
| #define		SG_FULL_RESID   	0x02
 | |
| #define		SG_LIST_NULL    	0x01
 | |
| 
 | |
| #define	SCB_CONTROL     		0xb8
 | |
| #define		SCB_TAG_TYPE    	0x03
 | |
| #define		TARGET_SCB      	0x80
 | |
| #define		STATUS_RCVD     	0x80
 | |
| #define		DISCENB         	0x40
 | |
| #define		TAG_ENB         	0x20
 | |
| #define		MK_MESSAGE      	0x10
 | |
| #define		ULTRAENB        	0x08
 | |
| #define		DISCONNECTED    	0x04
 | |
| 
 | |
| #define	SCB_SCSIID      		0xb9
 | |
| #define		TID             	0xf0
 | |
| #define		TWIN_TID        	0x70
 | |
| #define		OID             	0x0f
 | |
| #define		TWIN_CHNLB      	0x80
 | |
| 
 | |
| #define	SCB_LUN         		0xba
 | |
| #define		LID             	0x3f
 | |
| #define		SCB_XFERLEN_ODD 	0x80
 | |
| 
 | |
| #define	SCB_TAG         		0xbb
 | |
| 
 | |
| #define	SCB_CDB_LEN     		0xbc
 | |
| 
 | |
| #define	SCB_SCSIRATE    		0xbd
 | |
| 
 | |
| #define	SCB_SCSIOFFSET  		0xbe
 | |
| 
 | |
| #define	SCB_NEXT        		0xbf
 | |
| 
 | |
| #define	SCB_64_SPARE    		0xc0
 | |
| 
 | |
| #define	SEECTL_2840     		0xc0
 | |
| #define		CS_2840         	0x04
 | |
| #define		CK_2840         	0x02
 | |
| #define		DO_2840         	0x01
 | |
| 
 | |
| #define	STATUS_2840     		0xc1
 | |
| #define		BIOS_SEL        	0x60
 | |
| #define		ADSEL           	0x1e
 | |
| #define		EEPROM_TF       	0x80
 | |
| #define		DI_2840         	0x01
 | |
| 
 | |
| #define	SCB_64_BTT      		0xd0
 | |
| 
 | |
| #define	CCHADDR         		0xe0
 | |
| 
 | |
| #define	CCHCNT          		0xe8
 | |
| 
 | |
| #define	CCSGRAM         		0xe9
 | |
| 
 | |
| #define	CCSGADDR        		0xea
 | |
| 
 | |
| #define	CCSGCTL         		0xeb
 | |
| #define		CCSGDONE        	0x80
 | |
| #define		CCSGEN          	0x08
 | |
| #define		SG_FETCH_NEEDED 	0x02
 | |
| #define		CCSGRESET       	0x01
 | |
| 
 | |
| #define	CCSCBRAM        		0xec
 | |
| 
 | |
| #define	CCSCBADDR       		0xed
 | |
| 
 | |
| #define	CCSCBCTL        		0xee
 | |
| #define		CCSCBDONE       	0x80
 | |
| #define		ARRDONE         	0x40
 | |
| #define		CCARREN         	0x10
 | |
| #define		CCSCBEN         	0x08
 | |
| #define		CCSCBDIR        	0x04
 | |
| #define		CCSCBRESET      	0x01
 | |
| 
 | |
| #define	CCSCBCNT        		0xef
 | |
| 
 | |
| #define	SCBBADDR        		0xf0
 | |
| 
 | |
| #define	CCSCBPTR        		0xf1
 | |
| 
 | |
| #define	HNSCB_QOFF      		0xf4
 | |
| 
 | |
| #define	SNSCB_QOFF      		0xf6
 | |
| 
 | |
| #define	SDSCB_QOFF      		0xf8
 | |
| 
 | |
| #define	QOFF_CTLSTA     		0xfa
 | |
| #define		SCB_QSIZE       	0x07
 | |
| #define		SCB_QSIZE_256   	0x06
 | |
| #define		SCB_AVAIL       	0x40
 | |
| #define		SNSCB_ROLLOVER  	0x20
 | |
| #define		SDSCB_ROLLOVER  	0x10
 | |
| 
 | |
| #define	DFF_THRSH       		0xfb
 | |
| #define		WR_DFTHRSH      	0x70
 | |
| #define		WR_DFTHRSH_MAX  	0x70
 | |
| #define		WR_DFTHRSH_90   	0x60
 | |
| #define		WR_DFTHRSH_85   	0x50
 | |
| #define		WR_DFTHRSH_75   	0x40
 | |
| #define		WR_DFTHRSH_63   	0x30
 | |
| #define		WR_DFTHRSH_50   	0x20
 | |
| #define		WR_DFTHRSH_25   	0x10
 | |
| #define		RD_DFTHRSH      	0x07
 | |
| #define		RD_DFTHRSH_MAX  	0x07
 | |
| #define		RD_DFTHRSH_90   	0x06
 | |
| #define		RD_DFTHRSH_85   	0x05
 | |
| #define		RD_DFTHRSH_75   	0x04
 | |
| #define		RD_DFTHRSH_63   	0x03
 | |
| #define		RD_DFTHRSH_50   	0x02
 | |
| #define		RD_DFTHRSH_25   	0x01
 | |
| #define		RD_DFTHRSH_MIN  	0x00
 | |
| #define		WR_DFTHRSH_MIN  	0x00
 | |
| 
 | |
| #define	SG_CACHE_SHADOW 		0xfc
 | |
| #define		SG_ADDR_MASK    	0xf8
 | |
| #define		LAST_SEG        	0x02
 | |
| #define		LAST_SEG_DONE   	0x01
 | |
| 
 | |
| #define	SG_CACHE_PRE    		0xfc
 | |
| 
 | |
| 
 | |
| #define	TARGET_CMD_CMPLT	0xfe
 | |
| #define	MAX_OFFSET_ULTRA2	0x7f
 | |
| #define	MAX_OFFSET_16BIT	0x08
 | |
| #define	BUS_8_BIT	0x00
 | |
| #define	TID_SHIFT	0x04
 | |
| #define	STATUS_QUEUE_FULL	0x28
 | |
| #define	STATUS_BUSY	0x08
 | |
| #define	SCB_DOWNLOAD_SIZE_64	0x30
 | |
| #define	MAX_OFFSET_8BIT	0x0f
 | |
| #define	HOST_MAILBOX_SHIFT	0x04
 | |
| #define	CCSGADDR_MAX	0x80
 | |
| #define	BUS_32_BIT	0x02
 | |
| #define	SG_SIZEOF	0x08
 | |
| #define	SEQ_MAILBOX_SHIFT	0x00
 | |
| #define	SCB_LIST_NULL	0xff
 | |
| #define	SCB_DOWNLOAD_SIZE	0x20
 | |
| #define	CMD_GROUP_CODE_SHIFT	0x05
 | |
| #define	CCSGRAM_MAXSEGS	0x10
 | |
| #define	TARGET_DATA_IN	0x01
 | |
| #define	STACK_SIZE	0x04
 | |
| #define	SCB_UPLOAD_SIZE	0x20
 | |
| #define	MAX_OFFSET	0x7f
 | |
| #define	HOST_MSG	0xff
 | |
| #define	BUS_16_BIT	0x01
 | |
| 
 | |
| 
 | |
| /* Downloaded Constant Definitions */
 | |
| #define	INVERTED_CACHESIZE_MASK	0x03
 | |
| #define	SG_PREFETCH_ALIGN_MASK	0x05
 | |
| #define	SG_PREFETCH_ADDR_MASK	0x06
 | |
| #define	QOUTFIFO_OFFSET	0x00
 | |
| #define	SG_PREFETCH_CNT	0x04
 | |
| #define	QINFIFO_OFFSET	0x01
 | |
| #define	CACHESIZE_MASK	0x02
 | |
| #define	DOWNLOAD_CONST_COUNT	0x07
 | |
| 
 | |
| 
 | |
| /* Exported Labels */
 |