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

📄 ncr710_1.h

📁 IXP425的BSP代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/* 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 + -