drivers/scsi/aic7xxx/aic7xxx.reg

Source file repositories/reference/linux-study-clean/drivers/scsi/aic7xxx/aic7xxx.reg

File Facts

System
Linux kernel
Corpus path
drivers/scsi/aic7xxx/aic7xxx.reg
Extension
.reg
Size
38136 bytes
Lines
1762
Domain
Driver Families
Bucket
drivers/scsi
Inferred role
Driver Families: drivers/scsi
Status
atlas-only

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $"

/*
 * This file is processed by the aic7xxx_asm utility for use in assembling
 * firmware for the aic7xxx family of SCSI host adapters as well as to generate
 * a C header file for use in the kernel portion of the Aic7xxx driver.
 *
 * All page numbers refer to the Adaptec AIC-7770 Data Book available from
 * Adaptec's Technical Documents Department 1-800-934-2766
 */

/*
 * Registers marked "dont_generate_debug_code" are not (yet) referenced
 * from the driver code, and this keyword inhibit generation
 * of debug code for them.
 *
 * REG_PRETTY_PRINT config will complain if dont_generate_debug_code
 * is added to the register which is referenced in the driver.
 * Unreferenced register with no dont_generate_debug_code will result
 * in dead code. No warning is issued.
 */

/*
 * SCSI Sequence Control (p. 3-11).
 * Each bit, when set starts a specific SCSI sequence on the bus
 */
register SCSISEQ {
	address			0x000
	access_mode RW
	field	TEMODE		0x80
	field	ENSELO		0x40
	field	ENSELI		0x20
	field	ENRSELI		0x10
	field	ENAUTOATNO	0x08
	field	ENAUTOATNI	0x04
	field	ENAUTOATNP	0x02
	field	SCSIRSTO	0x01
}

/*
 * SCSI Transfer Control 0 Register (pp. 3-13).
 * Controls the SCSI module data path.
 */
register SXFRCTL0 {
	address			0x001
	access_mode RW
	field	DFON		0x80
	field	DFPEXP		0x40
	field	FAST20		0x20
	field	CLRSTCNT	0x10
	field	SPIOEN		0x08
	field	SCAMEN		0x04
	field	CLRCHN		0x02
}

/*
 * SCSI Transfer Control 1 Register (pp. 3-14,15).
 * Controls the SCSI module data path.
 */
register SXFRCTL1 {
	address			0x002
	access_mode RW
	field	BITBUCKET	0x80
	field	SWRAPEN		0x40
	field	ENSPCHK		0x20
	mask	STIMESEL	0x18
	field	ENSTIMER	0x04
	field	ACTNEGEN	0x02
	field	STPWEN		0x01	/* Powered Termination */
	dont_generate_debug_code

Annotation

Implementation Notes