diff options
author | se <se@FreeBSD.org> | 1996-12-14 13:13:33 +0000 |
---|---|---|
committer | se <se@FreeBSD.org> | 1996-12-14 13:13:33 +0000 |
commit | 0d930771c96111302a7452571de004b04afae4cc (patch) | |
tree | a835e55d8a48184469685f56fbad6ed5a0c1153a /sys/pci/ncrreg.h | |
parent | e4aef44ea4dac7ffb00e29438eff35a9ada2df49 (diff) | |
download | FreeBSD-src-0d930771c96111302a7452571de004b04afae4cc.zip FreeBSD-src-0d930771c96111302a7452571de004b04afae4cc.tar.gz |
General cleanup and new features for 53c875 based cards, especially the
Tekram DC390W/U/F, whose config EEPROM can now be dumped, if the kernel
is built with option NCR_TEKRAM_EEPROM.
Other changes:
- add brackets to expansion of OUTB/W/L macro arguments.
- remove unused NCB structure element ns_async
- support sync. SCSI offset of 16 (instead of only 8) on 825A and 875
- correctly identify 53c810A and 53c825A chips
- preserve SCSI BIOS settings of PCI performance options
- remove (already disabled) support for NCR reset because of command timeout
- reverse order of reading of SCSI and DMA specific interrupt cause registers
- add definition of Tekram config EEPROM contents (not currently used)
Diffstat (limited to 'sys/pci/ncrreg.h')
-rw-r--r-- | sys/pci/ncrreg.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/sys/pci/ncrreg.h b/sys/pci/ncrreg.h index 2f88c42..ba50afb 100644 --- a/sys/pci/ncrreg.h +++ b/sys/pci/ncrreg.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: ncrreg.h,v 1.3 1995/03/21 22:48:36 se Exp $ +** $Id: ncrreg.h,v 1.4 1996/10/11 19:50:12 se Exp $ ** ** Device driver for the NCR 53C810 PCI-SCSI-Controller. ** @@ -147,12 +147,18 @@ struct ncr_reg { #define CSIGP 0x40 /*1b*/ u_char nc_ctest3; - #define CLF 0x04 /* clear scsi fifo */ + #define FLF 0x08 /* cmd: flush dma fifo */ + #define CLF 0x04 /* cmd: clear dma fifo */ + #define FM 0x02 /* mod: fetch pin mode */ + #define WRIE 0x01 /* mod: write and invalidate enable */ /*1c*/ u_long nc_temp; /* ### Temporary stack */ /*20*/ u_char nc_dfifo; /*21*/ u_char nc_ctest4; + #define BDIS 0x80 /* mod: burst disable */ + #define MPEE 0x08 /* mod: master parity error enable */ + /*22*/ u_char nc_ctest5; /*23*/ u_char nc_ctest6; @@ -163,12 +169,23 @@ struct ncr_reg { /*34*/ u_long nc_scratcha; /* ??? Temporary register a */ /*38*/ u_char nc_dmode; + #define BL_2 0x80 /* mod: burst length shift value +2 */ + #define BL_1 0x40 /* mod: burst length shift value +1 */ + #define ERL 0x08 /* mod: enable read line */ + #define ERMP 0x04 /* mod: enable read multiple */ + #define BOF 0x02 /* mod: burst op code fetch */ + /*39*/ u_char nc_dien; /*3a*/ u_char nc_dwt; /*3b*/ u_char nc_dcntl; /* --> Script execution control */ + #define CLSE 0x80 /* mod: cache line size enable */ + #define PFF 0x40 /* cmd: pre-fetch flush */ + #define PFEN 0x20 /* mod: pre-fetch enable */ #define SSM 0x10 /* mod: single step mode */ + #define IRQM 0x08 /* mod: irq mode (1 = totem pole !) */ #define STD 0x04 /* cmd: start dma mode */ + #define IRQD 0x02 /* mod: irq disable */ #define NOCOM 0x01 /* cmd: protect sfbr while reselect */ /*3c*/ u_long nc_adder; |