⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aic7xxx.reg

📁 linux-2.6.15.6
💻 REG
📖 第 1 页 / 共 3 页
字号:
 * read the serial EEPROM. */register SEECTL {	address			0x01e	field	EXTARBACK	0x80	field	EXTARBREQ	0x40	field	SEEMS		0x20	field	SEERDY		0x10	field	SEECS		0x08	field	SEECK		0x04	field	SEEDO		0x02	field	SEEDI		0x01}/* * SCSI Block Control (p. 3-32) * Controls Bus type and channel selection.  In a twin channel configuration * addresses 0x00-0x1e are gated to the appropriate channel based on this * register.  SELWIDE allows for the coexistence of 8bit and 16bit devices * on a wide bus. */register SBLKCTL {	address			0x01f	access_mode RW	field	DIAGLEDEN	0x80	/* Aic78X0 only */	field	DIAGLEDON	0x40	/* Aic78X0 only */	field	AUTOFLUSHDIS	0x20	field	SELBUSB		0x08	field	ENAB40		0x08	/* LVD transceiver active */	field	ENAB20		0x04	/* SE/HVD transceiver active */	field	SELWIDE		0x02	field	XCVR		0x01	/* External transceiver active */}/* * Sequencer Control (p. 3-33) * Error detection mode and speed configuration */register SEQCTL {	address			0x060	access_mode RW	field	PERRORDIS	0x80	field	PAUSEDIS	0x40	field	FAILDIS		0x20	field	FASTMODE	0x10	field	BRKADRINTEN	0x08	field	STEP		0x04	field	SEQRESET	0x02	field	LOADRAM		0x01}/* * Sequencer RAM Data (p. 3-34) * Single byte window into the Scratch Ram area starting at the address * specified by SEQADDR0 and SEQADDR1.  To write a full word, simply write * four bytes in succession.  The SEQADDRs will increment after the most * significant byte is written */register SEQRAM {	address			0x061	access_mode RW}/* * Sequencer Address Registers (p. 3-35) * Only the first bit of SEQADDR1 holds addressing information */register SEQADDR0 {	address			0x062	access_mode RW}register SEQADDR1 {	address			0x063	access_mode RW	mask	SEQADDR1_MASK	0x01}/* * Accumulator * We cheat by passing arguments in the Accumulator up to the kernel driver */register ACCUM {	address			0x064	access_mode RW	accumulator}register SINDEX	{	address			0x065	access_mode RW	sindex}register DINDEX {	address			0x066	access_mode RW}register ALLONES {	address			0x069	access_mode RO	allones}register ALLZEROS {	address			0x06a	access_mode RO	allzeros}register NONE {	address			0x06a	access_mode WO	none}register FLAGS {	address			0x06b	access_mode RO	field	ZERO		0x02	field	CARRY		0x01}register SINDIR	{	address			0x06c	access_mode RO}register DINDIR	 {	address			0x06d	access_mode WO}register FUNCTION1 {	address			0x06e	access_mode RW}register STACK {	address			0x06f	access_mode RO}const	STACK_SIZE	4/* * Board Control (p. 3-43) */register BCTL {	address			0x084	access_mode RW	field	ACE		0x08	field	ENABLE		0x01}/* * On the aic78X0 chips, Board Control is replaced by the DSCommand * register (p. 4-64) */register DSCOMMAND0 {	address			0x084	access_mode RW	field	CACHETHEN	0x80	/* Cache Threshold enable */	field	DPARCKEN	0x40	/* Data Parity Check Enable */	field	MPARCKEN	0x20	/* Memory Parity Check Enable */	field	EXTREQLCK	0x10	/* External Request Lock */	/* aic7890/91/96/97 only */	field	INTSCBRAMSEL	0x08	/* Internal SCB RAM Select */	field	RAMPS		0x04	/* External SCB RAM Present */	field	USCBSIZE32	0x02	/* Use 32byte SCB Page Size */	field	CIOPARCKEN	0x01	/* Internal bus parity error enable */}register DSCOMMAND1 {	address			0x085	access_mode RW	mask	DSLATT		0xfc	/* PCI latency timer (non-ultra2) */	field	HADDLDSEL1	0x02	/* Host Address Load Select Bits */	field	HADDLDSEL0	0x01}/* * Bus On/Off Time (p. 3-44) aic7770 only */register BUSTIME {	address			0x085	access_mode RW	mask	BOFF		0xf0	mask	BON		0x0f}/* * Bus Speed (p. 3-45) aic7770 only */register BUSSPD {	address			0x086	access_mode RW	mask	DFTHRSH		0xc0	mask	STBOFF		0x38	mask	STBON		0x07	mask	DFTHRSH_100	0xc0	mask	DFTHRSH_75	0x80}/* aic7850/55/60/70/80/95 only */register DSPCISTATUS {	address			0x086	mask	DFTHRSH_100	0xc0}/* aic7890/91/96/97 only */register HS_MAILBOX {	address			0x086	mask	HOST_MAILBOX	0xF0	mask	SEQ_MAILBOX	0x0F	mask	HOST_TQINPOS	0x80	/* Boundary at either 0 or 128 */}const	HOST_MAILBOX_SHIFT	4const	SEQ_MAILBOX_SHIFT	0/* * Host Control (p. 3-47) R/W * Overall host control of the device. */register HCNTRL {	address			0x087	access_mode RW	field	POWRDN		0x40	field	SWINT		0x10	field	IRQMS		0x08	field	PAUSE		0x04	field	INTEN		0x02	field	CHIPRST		0x01	field	CHIPRSTACK	0x01}/* * Host Address (p. 3-48) * This register contains the address of the byte about * to be transferred across the host bus. */register HADDR {	address			0x088	size	4	access_mode RW}register HCNT {	address			0x08c	size	3	access_mode RW}/* * SCB Pointer (p. 3-49) * Gate one of the SCBs into the SCBARRAY window. */register SCBPTR {	address			0x090	access_mode RW}/* * Interrupt Status (p. 3-50) * Status for system interrupts */register INTSTAT {	address			0x091	access_mode RW	field	BRKADRINT 0x08	field	SCSIINT	  0x04	field	CMDCMPLT  0x02	field	SEQINT    0x01	mask	BAD_PHASE	SEQINT		/* unknown scsi bus phase */	mask	SEND_REJECT	0x10|SEQINT	/* sending a message reject */	mask	PROTO_VIOLATION	0x20|SEQINT	/* SCSI protocol violation */ 	mask	NO_MATCH	0x30|SEQINT	/* no cmd match for reconnect */	mask	IGN_WIDE_RES	0x40|SEQINT	/* Complex IGN Wide Res Msg */	mask	PDATA_REINIT	0x50|SEQINT	/*						 * Returned to data phase						 * that requires data						 * transfer pointers to be						 * recalculated from the						 * transfer residual.						 */	mask	HOST_MSG_LOOP	0x60|SEQINT	/*						 * The bus is ready for the						 * host to perform another						 * message transaction.  This						 * mechanism is used for things						 * like sync/wide negotiation						 * that require a kernel based						 * message state engine.						 */	mask	BAD_STATUS	0x70|SEQINT	/* Bad status from target */	mask	PERR_DETECTED	0x80|SEQINT	/*						 * Either the phase_lock						 * or inb_next routine has						 * noticed a parity error.						 */	mask	DATA_OVERRUN	0x90|SEQINT	/*						 * Target attempted to write						 * beyond the bounds of its						 * command.						 */	mask	MKMSG_FAILED	0xa0|SEQINT	/*						 * Target completed command						 * without honoring our ATN						 * request to issue a message. 						 */	mask	MISSED_BUSFREE	0xb0|SEQINT	/*						 * The sequencer never saw						 * the bus go free after						 * either a command complete						 * or disconnect message.						 */	mask	SCB_MISMATCH	0xc0|SEQINT	/*						 * Downloaded SCB's tag does						 * not match the entry we						 * intended to download.						 */	mask	NO_FREE_SCB	0xd0|SEQINT	/*						 * get_free_or_disc_scb failed.						 */	mask	OUT_OF_RANGE	0xe0|SEQINT	mask	SEQINT_MASK	0xf0|SEQINT	/* SEQINT Status Codes */	mask	INT_PEND  (BRKADRINT|SEQINT|SCSIINT|CMDCMPLT)}/* * Hard Error (p. 3-53) * Reporting of catastrophic errors.  You usually cannot recover from * these without a full board reset. */register ERROR {	address			0x092	access_mode RO	field	CIOPARERR	0x80	/* Ultra2 only */	field	PCIERRSTAT	0x40	/* PCI only */	field	MPARERR		0x20	/* PCI only */	field	DPARERR		0x10	/* PCI only */	field	SQPARERR	0x08	field	ILLOPCODE	0x04	field	ILLSADDR	0x02	field	ILLHADDR	0x01}/* * Clear Interrupt Status (p. 3-52) */register CLRINT {	address			0x092	access_mode WO	field	CLRPARERR	0x10	/* PCI only */	field	CLRBRKADRINT	0x08	field	CLRSCSIINT      0x04	field	CLRCMDINT 	0x02	field	CLRSEQINT 	0x01}register DFCNTRL {	address			0x093	access_mode RW	field	PRELOADEN	0x80	/* aic7890 only */	field	WIDEODD		0x40	field	SCSIEN		0x20	field	SDMAEN		0x10	field	SDMAENACK	0x10	field	HDMAEN		0x08	field	HDMAENACK	0x08	field	DIRECTION	0x04	field	FIFOFLUSH	0x02	field	FIFORESET	0x01}register DFSTATUS {	address			0x094	access_mode RO	field	PRELOAD_AVAIL	0x80	field	DFCACHETH	0x40	field	FIFOQWDEMP	0x20	field	MREQPEND	0x10	field	HDONE		0x08	field	DFTHRESH	0x04	field	FIFOFULL	0x02	field	FIFOEMP		0x01}register DFWADDR {	address			0x95	access_mode RW}register DFRADDR {	address			0x97	access_mode RW}register DFDAT {	address			0x099	access_mode RW}/* * SCB Auto Increment (p. 3-59) * Byte offset into the SCB Array and an optional bit to allow auto * incrementing of the address during download and upload operations */register SCBCNT {	address			0x09a	access_mode RW	field	SCBAUTO		0x80	mask	SCBCNT_MASK	0x1f}/* * Queue In FIFO (p. 3-60) * Input queue for queued SCBs (commands that the seqencer has yet to start) */register QINFIFO {	address			0x09b	access_mode RW}/* * Queue In Count (p. 3-60) * Number of queued SCBs */register QINCNT	{	address			0x09c	access_mode RO}/* * Queue Out FIFO (p. 3-61) * Queue of SCBs that have completed and await the host */register QOUTFIFO {	address			0x09d	access_mode WO}register CRCCONTROL1 {	address			0x09d	access_mode RW	field	CRCONSEEN		0x80	field	CRCVALCHKEN		0x40	field	CRCENDCHKEN		0x20	field	CRCREQCHKEN		0x10	field	TARGCRCENDEN		0x08	field	TARGCRCCNTEN		0x04}/* * Queue Out Count (p. 3-61) * Number of queued SCBs in the Out FIFO */register QOUTCNT {	address			0x09e	access_mode RO}register SCSIPHASE {	address			0x09e	access_mode RO	field	STATUS_PHASE	0x20	field	COMMAND_PHASE	0x10	field	MSG_IN_PHASE	0x08	field	MSG_OUT_PHASE	0x04	field	DATA_IN_PHASE	0x02	field	DATA_OUT_PHASE	0x01	mask	DATA_PHASE_MASK	0x03}/* * Special Function */register SFUNCT {	address			0x09f	access_mode RW	field	ALT_MODE	0x80}/* * SCB Definition (p. 5-4) */scb {	address		0x0a0	size		64	SCB_CDB_PTR {		size	4		alias	SCB_RESIDUAL_DATACNT		alias	SCB_CDB_STORE	}	SCB_RESIDUAL_SGPTR {		size	4	}	SCB_SCSI_STATUS {		size	1	}	SCB_TARGET_PHASES {		size	1	}	SCB_TARGET_DATA_DIR {		size	1	}	SCB_TARGET_ITAG {		size	1	}	SCB_DATAPTR {		size	4	}	SCB_DATACNT {		/*		 * The last byte is really the high address bits for		 * the data address.		 */		size	4		field	SG_LAST_SEG		0x80	/* In the fourth byte */		mask	SG_HIGH_ADDR_BITS	0x7F	/* In the fourth byte */	}	SCB_SGPTR {		size	4		field	SG_RESID_VALID	0x04	/* In the first byte */		field	SG_FULL_RESID	0x02	/* In the first byte */		field	SG_LIST_NULL	0x01	/* In the first byte */	}	SCB_CONTROL {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -