?? ncr710_1.h
字號:
/* ISTAT RW register */#define B_ABORT 0X80 /* Abort operation */#define B_SOFTRST 0x40 /* Soft chip reset */#define B_SIGP 0x20 /* signal process */#define B_CONST 0x08 /* stat connected (reset does'nt disconnect) */#define B_SIP 0x02 /* Status scsi interrupt pending */#define B_DIP 0x01 /* Status Dma portion interrupt pending *//* DMODE RW register */#define B_BL1 0x80 /* Burst Length transfer bit 1 */#define B_BL0 0x40 /* Burst Length transfer bit 0 */ /* 00=1,01=2,10=4,11=8 */#define B_FC2 0x20 /* Function code bit 1 user defined */#define B_FC1 0x10 /* Function code bit 0 user defined */#define B_PD 0x08 /* Program data access */#define B_FAM 0x04 /* Fixed Address mode */#define B_U0TT0 0x02 /* user programmable transfer type */#define B_MAN 0x01 /* Manual start mode ,when set disable */ /* autostart script when writting in DSP *//* DCTNL */#define B_CF1 0x80 /* Prescale bit 1 for scsi core */#define B_CF0 0x40 /* Prescale bit 0 for scsi core */ /* involve all timing on scsi */#define B_EA 0x20 /* Enable ack (host/chip) */#define B_SSM 0x10 /* Enable single step mode */#define B_LLM 0x08 /* Enable Low level mode */#define B_STD 0x04 /* Start Dma operation used with B_MAN in */ /* DMODE Register and single step mode */#define B_FA 0x02 /* Enable fast arbitration on host port */#define B_COM 0x01 /* When 0, enable compatible mode with ncr700 *//* CTEST4 */#define B_MUX 0x80 /* Host mux bus mode */#define B_ZMOD 0x40 /* Host bus high impedance mode */#define B_SZM 0x20 /* Scsi bus high impedance mode */#define B_SLBE 0x10 /* Enable loopback mode */#define B_SFWR 0x08 /* Scsi fifo write enable */#define B_FBL2 0x04 /* Enable bytes lane */#define B_FLB1 0x02 /* Bit one mux byte lane */#define B_FLB0 0x01 /* Bit zero mux byte lane *//* CTEST5 */#define B_ADCK 0x80 /* Increment DNAD register */#define B_BBCK 0x40 /* Decrement DBC register */#define B_ROFF 0x20 /* Clear offset in scsi sync mode */#define B_MASR 0x10 /* set/reset values for bit 3:0 */#define B_DDIR 0x08 /* control internel DMAWR (scsi to host) */#define B_EOP 0x04 /* control internal EOP (DMA/SCSI) */#define B_DREQ 0x02 /* control internal DREQ */#define B_DACK 0x01 /* control internal DACK (DMA/SCSI) *//* CTEST7 */#define B_CDIS 0x80 /* Disable Burst Cache */#define B_SC1 0x40 /* Snoop control bit1 */#define B_SC0 0x20 /* Snoop control bit0 */#define B_TOUT 0x10 /* disable scsi timout */#define B_DFP 0x08 /* Fifo parity bit */#define B_EVP 0x04 /* enable even parity on host/fifo */#define B_TT1 0x02 /* invert tt1 pin (sync host mode only) */#define B_DIFF 0x01 /* Valid differential scsi bus *//* CTEST8 */#define B_V3 0x80 /* Chip Revision Bit 3 */#define B_V2 0x40 /* Chip Revision Bit 2 */#define B_V1 0x20 /* Chip Revision Bit 1 */#define B_V0 0x10 /* Chip Revision Bit 0 */#define B_FLF 0x08 /* Flush DMA FIFO */#define B_CLF 0x04 /* Clear DMA FIFO */#define B_FM 0x02 /* Fetch Pin mode */#define B_SM 0x01 /* Snoop pins mode *//* offset registers */#if _BYTE_ORDER==_BIG_ENDIAN#define OFF_SIEN (0X00) /* scsi interrupt enable reg */#define OFF_SDID (0X01) /* scsi destination ID reg */#define OFF_SCNTL1 (0X02) /* scsi control reg 1 */#define OFF_SCNTL0 (0X03) /* scsi control reg 0 */#define OFF_SOCL (0X04) /* scsi output control latch reg */#define OFF_SODL (0X05) /* scsi output data latch reg */#define OFF_SXFER (0X06) /* scsi transfer reg */#define OFF_SCID (0X07) /* scsi chip ID reg */#define OFF_SBCL (0X08) /* scsi bus control lines reg */#define OFF_SBDL (0X09) /* scsi bus data lines reg */#define OFF_SIDL (0X0A) /* scsi input data latch reg */#define OFF_SFBR (0X0B) /* scsi first byte received reg */#define OFF_SSTAT2 (0X0C) /* scsi status reg 2 */#define OFF_SSTAT1 (0X0D) /* scsi status reg 1 */#define OFF_SSTAT0 (0X0E) /* scsi status reg 0 */#define OFF_DSTAT (0X0F) /* dma status reg */#define OFF_DSA (0X10) /* data structure address */#define OFF_CTEST3 (0X14) /* chip test reg 3 */#define OFF_CTEST2 (0X15) /* chip test reg 2 */#define OFF_CTEST1 (0X16) /* chip test reg 1 */#define OFF_CTEST0 (0X17) /* chip test reg 0 */#define OFF_CTEST7 (0X18) /* chip test reg 7 */#define OFF_CTEST6 (0X19) /* chip test reg 6 */#define OFF_CTEST5 (0X1A) /* chip test reg 5 */#define OFF_CTEST4 (0X1B) /* chip test reg 4 */#define OFF_TEMP (0X1C) /* Temporary stack reg */#define OFF_LCRC (0X20) /* CRC register */#define OFF_CTEST8 (0X21) /* Chip test reg 8 */#define OFF_ISTAT (0X22) /* Interrupt status reg */#define OFF_DFIFO (0X23) /* DMA FIFO reg */#define OFF_DCMD (0X24) /* 8 bit reg DMA command reg */#define OFF_DBC (0X24) /* 24 bit Reg DMA byte counter register */#define OFF_DNAD (0X28) /* DMA next address for data reg */#define OFF_DSP (0X2C) /* DMA scripts pointer reg */#define OFF_DSPS (0X30) /* DMA scripts pointer save reg */#define OFF_SCRATCH3 (0X34) /* scratch register */#define OFF_SCRATCH2 (0X35) /* scratch register */#define OFF_SCRATCH1 (0X36) /* scratch register */#define OFF_SCRATCH0 (0X37) /* scratch register */#define OFF_DCNTL (0X38) /* DMA control reg */#define OFF_DWT (0X39) /* DMA watchdog timer */#define OFF_DIEN (0X3A) /* DMA interrupt enable reg */#define OFF_DMODE (0X3B) /* DMA mode reg */#define OFF_ADDER (0X3C) /* internal adder register;don't use */#else /* _BYTE_ORDER==_BIG_ENDIAN */#define OFF_SIEN (0X03) /* scsi interrupt enable reg */#define OFF_SDID (0X02) /* scsi destination ID reg */#define OFF_SCNTL1 (0X01) /* scsi control reg 1 */#define OFF_SCNTL0 (0X00) /* scsi control reg 0 */#define OFF_SOCL (0X07) /* scsi output control latch reg */#define OFF_SODL (0X06) /* scsi output data latch reg */#define OFF_SXFER (0X05) /* scsi transfer reg */#define OFF_SCID (0X04) /* scsi chip ID reg */#define OFF_SBCL (0X0B) /* scsi bus control lines reg */#define OFF_SBDL (0X0A) /* scsi bus data lines reg */#define OFF_SIDL (0X09) /* scsi input data latch reg */#define OFF_SFBR (0X08) /* scsi first byte received reg */#define OFF_SSTAT2 (0X0F) /* scsi status reg 2 */#define OFF_SSTAT1 (0X0E) /* scsi status reg 1 */#define OFF_SSTAT0 (0X0D) /* scsi status reg 0 */#define OFF_DSTAT (0X0C) /* dma status reg */#define OFF_DSA (0X10) /* data structure address */#define OFF_CTEST3 (0X17) /* chip test reg 3 */#define OFF_CTEST2 (0X16) /* chip test reg 2 */#define OFF_CTEST1 (0X15) /* chip test reg 1 */#define OFF_CTEST0 (0X14) /* chip test reg 0 */#define OFF_CTEST7 (0X1B) /* chip test reg 7 */#define OFF_CTEST6 (0X1A) /* chip test reg 6 */#define OFF_CTEST5 (0X19) /* chip test reg 5 */#define OFF_CTEST4 (0X18) /* chip test reg 4 */#define OFF_TEMP (0X1C) /* Temporary stack reg */#define OFF_LCRC (0X23) /* CRC register */#define OFF_CTEST8 (0X22) /* Chip test reg 8 */#define OFF_ISTAT (0X21) /* Interrupt status reg */#define OFF_DFIFO (0X20) /* DMA FIFO reg */#define OFF_DCMD (0X27) /* 8 bit reg DMA command reg */#define OFF_DBC (0X24) /* 24 bit Reg DMA byte counter register */#define OFF_DNAD (0X28) /* DMA next address for data reg */#define OFF_DSP (0X2C) /* DMA scripts pointer reg */#define OFF_DSPS (0X30) /* DMA scripts pointer save reg */#define OFF_SCRATCH3 (0X37) /* scratch register */#define OFF_SCRATCH2 (0X36) /* scratch register */#define OFF_SCRATCH1 (0X35) /* scratch register */#define OFF_SCRATCH0 (0X36) /* scratch register */#define OFF_DCNTL (0X3B) /* DMA control reg */#define OFF_DWT (0X3A) /* DMA watchdog timer */#define OFF_DIEN (0X39) /* DMA interrupt enable reg */#define OFF_DMODE (0X38) /* DMA mode reg */#define OFF_ADDER (0X3C) /* internal adder register;don't use */#endif /* _BYTE_ORDER==_BIG_ENDIAN *//* Mask Values */#define NCR710_COUNT_MASK ((UINT)0x00ffffff) /* Mask 24 bit value in block */ /* move description */#define INIT_BUS_ID ((UINT)0x00010000) /* initial value for scsi id *//* DMA Fifo register */#define NCR710_MAXDMA_BYTE /* fifo deep in bytes 64 */#define NCR710_MAXDMA_LONG /* fifo deep in long 16 *//* Sync offset */#define NCR710_MAXSYNC_OFF 0x08 /* Maximum sync offset */#define NCR710_MAX_XFERP 0x08 /* Maximum sxfer value for TP2-0 *//* Clock conversion factor *//* prescale factor for scsi core (dctnl) */#define NCR710_16MHZ_DIV 0x80 /* 16-25Mhz chip */#define NCR710_25MHZ_DIV 0x40 /* 25-37.5Mhz chip */#define NCR710_50MHZ_DIV 0x00 /* 37.5-50Mhz chip */#define NCR710_66MHZ_DIV 0xC0 /* 50-66Mhz chip *//* ns x 100 clock period */#define NCR710_1667MHZ 5998 /* 16.67Mhz chip */#define NCR710_20MHZ 5000 /* 20Mhz chip */#define NCR710_25MHZ 4000 /* 25Mhz chip */#define NCR710_3750MHZ 2666 /* 37.50Mhz chip */#define NCR710_40MHZ 2500 /* 40Mhz chip */#define NCR710_50MHZ 2000 /* 50Mhz chip */#define NCR710_66MHZ 1515 /* 66Mhz chip */#define NCR710_6666MHZ 1500 /* 66Mhz chip *//* Chip Type */#define NCR700_TYPE 0x700 /* not Supported */#define NCR710_TYPE 0x710 /* supported */#define NCR720_TYPE 0x720 /* not supported *//* Macros to acces to ncrShareCtl */#define SCRIPTADDR( pSiop,index ) ( pSiop->pNcrCtl->scriptPtr[index])/* Default value to initialize some registers involve * in the hardware implementation.Those values could be * overwritten by a bsp call with the ncr710HwSetRegister(). * The ncr710 Data Manual documentation will you give all * the light regarding values choose. See also the * documentation of ncr710SetHwRegister call. * See below the NCR710_HW_REGS for the meaning of the * values prefill. */#define DEFAULT_710_HW_REGS { 0,0,0,0,1,0,0,0,0,0,0,0,0,1,0 }/* function declarations */#if defined(__STDC__) || defined(__cplusplus)IMPORT NCR_710_SCSI_CTRL * ncr710CtrlCreate (UINT8 *siopBaseAdrs, UINT clkPeriod);IMPORT STATUS ncr710CtrlInit (NCR_710_SCSI_CTRL *pSiop, int scsiCtrlBusId, int scsiPriority);IMPORT STATUS ncr710Show (SCSI_CTRL *pScsiCtrl);IMPORT STATUS ncr710SetHwRegister(NCR_710_SCSI_CTRL *pScsiCtrl, NCR710_HW_REGS *pHwRegs);IMPORT void ncr710Intr (NCR_710_SCSI_CTRL *pSiop);#else /* __STDC__ */IMPORT NCR_710_SCSI_CTRL * ncr710CtrlCreate ();IMPORT STATUS ncr710CtrlInit ();IMPORT STATUS ncr710SetHwRegister ();IMPORT STATUS ncr710Show ();IMPORT void ncr710Intr ();#endif /* __STDC__ */#endif /* _ASMLANGUAGE */#ifdef __cplusplus}#endif#endif /* __INCncr710_1h */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -