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

📄 hal_ixdp2400.h

📁 基于ecos的redboot
💻 H
📖 第 1 页 / 共 2 页
字号:
#define QDR_RCMP_SETUP_CONTROL_OFF	0x300 
#define QDR_RCMP_PMOS_OVER_OFF		0x30C 
#define QDR_RCMP_NMOS_OVER_OFF		0x310
#define QDR_RCMP_PMOS_NMOS_OVER_OFF	0x314

/* dram registers */
#define DRAM_CSR_BASE				0xD0009000

#define DU_CONTROL_OFF				0x0
#define DU_ECC_TEST_OFF				0x18
#define DU_INIT_OFF					0x20
#define DU_CONTROL2_OFF				0x28
#define DDR_RCOMP_IO_CONFIG_OFF		0x3C0
#define DDR_RDDLYSEL_RECEN_OFF		0x3C8
#define DDR_RX_DLL_OFF				0x650
#define DDR_RX_DESKEW_OFF			0x688
#define CR0_FRCSMRCOMP_OFF			0x100
#define CR0_DSTRENGTHSEL_OFF		0x130
#define CR0_DDQRCOMP_OFF			0x148
#define CR0_DCTLRCOMP_OFF			0x190
#define CR0_DRCVRCOMP_OFF			0x1D8
#define CR0_DCKERCOMP_OFF			0x228
#define CR0_DCSRCOMP_OFF			0x2B0
#define CR0_DCKRCOMP_OFF			0x338
#define CR0_DX8X16CKECSCKSEL_OFF	0x220
#define CR0_RCOMPPRD_OFF			0x108
#define CR0_DIGFIL_OFF				0x118
#define CR0_SLEWPROGRAMMED_OFF		0x128
#define CR0_OVRRIDEH_OFF			0x138
#define CR0_OVRRIDEV_OFF			0x140
#define CR0_JT_CONFIG_OFF			0x3C0


#define DU_CONTROL					(DRAM_CSR_BASE + DU_CONTROL_OFF)
#define DU_ECC_TEST					(DRAM_CSR_BASE + DU_ECC_TEST_OFF)
#define DU_INIT						(DRAM_CSR_BASE + DU_INIT_OFF)
#define DU_CONTROL2					(DRAM_CSR_BASE + DU_CONTROL2_OFF)
#define DDR_RCOMP_IO_CONFIG			(DRAM_CSR_BASE + DDR_RCOMP_IO_CONFIG_OFF)
#define DDR_RDDLYSEL_RECEN			(DRAM_CSR_BASE + DDR_RDDLYSEL_RECEN_OFF)
#define DDR_RX_DLL					(DRAM_CSR_BASE + DDR_RX_DLL_OFF)
#define DDR_RX_DESKEW				(DRAM_CSR_BASE + DDR_RX_DESKEW_OFF)
#define CR0_FRCSMRCOMP				(DRAM_CSR_BASE + CR0_FRCSMRCOMP_OFF)
#define CR0_DSTRENGTHSEL			(DRAM_CSR_BASE + CR0_DSTRENGTHSEL_OFF)
#define CR0_DDQRCOMP				(DRAM_CSR_BASE + CR0_DDQRCOMP_OFF)
#define CR0_DCTLRCOMP				(DRAM_CSR_BASE + CR0_DCTLRCOMP_OFF)
#define CR0_DRCVRCOMP				(DRAM_CSR_BASE + CR0_DRCVRCOMP_OFF)
#define CR0_DCKERCOMP				(DRAM_CSR_BASE + CR0_DCKERCOMP_OFF)
#define CR0_DCSRCOMP				(DRAM_CSR_BASE + CR0_DCSRCOMP_OFF)
#define CR0_DCKRCOMP				(DRAM_CSR_BASE + CR0_DCKRCOMP_OFF)
#define CR0_DX8X16CKECSCKSEL		(DRAM_CSR_BASE + CR0_DX8X16CKECSCKSEL_OFF)
#define CR0_RCOMPPRD				(DRAM_CSR_BASE + CR0_RCOMPPRD_OFF)
#define CR0_DIGFIL					(DRAM_CSR_BASE + CR0_DIGFIL_OFF)
#define CR0_SLEWPROGRAMMED			(DRAM_CSR_BASE + CR0_SLEWPROGRAMMED_OFF)
#define CR0_OVRRIDEH				(DRAM_CSR_BASE + CR0_OVRRIDEH_OFF)
#define CR0_OVRRIDEV				(DRAM_CSR_BASE + CR0_OVRRIDEV_OFF)
#define CR0_JT_CONFIG				(DRAM_CSR_BASE + CR0_JT_CONFIG_OFF)

#define DU_CONTROL_REG				((volatile cyg_uint32 *)DU_CONTROL)
#define DU_ECC_TEST_REG				((volatile cyg_uint32 *)DU_ECC_TEST)
#define DU_INIT_REG					((volatile cyg_uint32 *)DU_INIT)
#define DU_CONTROL2_REG				((volatile cyg_uint32 *)DU_CONTROL2)
#define DDR_RCOMP_IO_CONFIG_REG		((volatile cyg_uint32 *)DDR_RCOMP_IO_CONFIG)
#define DDR_RDDLYSEL_RECEN_REG		((volatile cyg_uint32 *)DDR_RDDLYSEL_RECEN)
#define DDR_RX_DLL_REG				((volatile cyg_uint32 *)DDR_RX_DLL)
#define DDR_RX_DESKEW_REG			((volatile cyg_uint32 *)DDR_RX_DESKEW)

/* interrupt registers */
#define IRQ_CSR_BASE				0xD6000000

#define IRQ_STATUS_OFF				0x8
#define IRQ_ENABLE_SET_OFF			0x10
#define IRQ_ENABLE_CLR_OFF			0x18

#define IRQ_STATUS_REG				((volatile cyg_uint32 *)(IRQ_CSR_BASE + IRQ_STATUS_OFF))
#define IRQ_ENABLE_SET_REG			((volatile cyg_uint32 *)(IRQ_CSR_BASE + IRQ_ENABLE_SET_OFF))
#define IRQ_ENABLE_CLR_REG			((volatile cyg_uint32 *)(IRQ_CSR_BASE + IRQ_ENABLE_CLR_OFF))

/* pci config registers */
#define PCI_CFG_REG_BASE			0xDE000000

#define PCI_CMD_STAT_OFF			0x4
#define PCI_CSR_BAR_OFF				0x10
#define PCI_SRAM_BAR_OFF			0x14
#define PCI_DRAM_BAR_OFF			0x18
#define PCI_RCOMP_OVER_OFF			0x60

#define PCI_CMD_STAT				(PCI_CFG_REG_BASE + PCI_CMD_STAT_OFF)
#define PCI_CSR_BAR					(PCI_CFG_REG_BASE + PCI_CSR_BAR_OFF)
#define PCI_SRAM_BAR				(PCI_CFG_REG_BASE + PCI_SRAM_BAR_OFF)
#define PCI_DRAM_BAR				(PCI_CFG_REG_BASE + PCI_DRAM_BAR_OFF)
#define PCI_RCOMP_OVER				(PCI_CFG_REG_BASE + PCI_RCOMP_OVER_OFF)

#define PCI_CMD_STAT_REG			((volatile cyg_uint32 *)PCI_CMD_STAT)
#define PCI_CSR_BAR_REG				((volatile cyg_uint32 *)PCI_CSR_BAR)
#define PCI_SRAM_BAR_REG			((volatile cyg_uint32 *)PCI_SRAM_BAR)
#define PCI_DRAM_BAR_REG			((volatile cyg_uint32 *)PCI_DRAM_BAR)
#define PCI_RCOMP_OVER_REG			((volatile cyg_uint32 *)PCI_RCOMP_OVER)

/* pci local csrs */
#define PCI_LOCAL_CSR_BASE			0xDF000000

#define PCI_OUT_INT_MASK_OFF		0x34
#define MAILBOX_0_OFF				0x50
#define MAILBOX_1_OFF				0x54
#define MAILBOX_2_OFF				0x58
#define SRAM_BASE_ADDR_MASK_OFF		0xFC
#define DRAM_BASE_ADDR_MASK_OFF		0x100
#define PCI_CONTROL_OFF				0x13C
#define PCI_ADDR_EXT_OFF			0x140
#define XSCALE_INT_STATUS_OFF		0x158
#define XSCALE_INT_ENABLE_OFF		0x15C

#define PCI_OUT_INT_MASK			(PCI_LOCAL_CSR_BASE + PCI_OUT_INT_MASK_OFF)
#define MAILBOX_0					(PCI_LOCAL_CSR_BASE + MAILBOX_0_OFF)
#define MAILBOX_1					(PCI_LOCAL_CSR_BASE + MAILBOX_1_OFF)
#define MAILBOX_2					(PCI_LOCAL_CSR_BASE + MAILBOX_2_OFF)
#define SRAM_BASE_ADDR_MASK			(PCI_LOCAL_CSR_BASE + SRAM_BASE_ADDR_MASK_OFF)
#define DRAM_BASE_ADDR_MASK			(PCI_LOCAL_CSR_BASE + DRAM_BASE_ADDR_MASK_OFF)
#define PCI_CONTROL					(PCI_LOCAL_CSR_BASE + PCI_CONTROL_OFF)
#define PCI_ADDR_EXT				(PCI_LOCAL_CSR_BASE + PCI_ADDR_EXT_OFF)
#define XSCALE_INT_STATUS			(PCI_LOCAL_CSR_BASE + XSCALE_INT_STATUS_OFF)
#define XSCALE_INT_ENABLE			(PCI_LOCAL_CSR_BASE + XSCALE_INT_ENABLE_OFF)

#define PCI_OUT_INT_MASK_REG		((volatile cyg_uint32 *)PCI_OUT_INT_MASK)
#define MAILBOX_0_REG				((volatile cyg_uint32 *)MAILBOX_0)
#define MAILBOX_1_REG				((volatile cyg_uint32 *)MAILBOX_1)
#define MAILBOX_2_REG				((volatile cyg_uint32 *)MAILBOX_2)
#define SRAM_BASE_ADDR_MASK_REG		((volatile cyg_uint32 *)SRAM_BASE_ADDR_MASK)
#define DRAM_BASE_ADDR_MASK_REG		((volatile cyg_uint32 *)DRAM_BASE_ADDR_MASK)
#define PCI_CONTROL_REG				((volatile cyg_uint32 *)PCI_CONTROL)
#define PCI_ADDR_EXT_REG			((volatile cyg_uint32 *)PCI_ADDR_EXT)
#define XSCALE_INT_STATUS_REG		((volatile cyg_uint32 *)XSCALE_INT_STATUS)
#define XSCALE_INT_ENABLE_REG		((volatile cyg_uint32 *)XSCALE_INT_ENABLE)

/* csr addresses as seen from PCI */
#define GLOBAL_CONTROL_BASE_FRM_PCI	0x4A00

#define MISC_CONTROL_FRM_PCI		(GLOBAL_CONTROL_BASE_FRM_PCI + MISC_CONTROL_OFF)
#define IXP_RESET0_FRM_PCI			(GLOBAL_CONTROL_BASE_FRM_PCI + IXP_RESET0_OFF)
#define CCR_FRM_PCI					(GLOBAL_CONTROL_BASE_FRM_PCI + CCR_OFF)
#define STRAP_OPTIONS_FRM_PCI		(GLOBAL_CONTROL_BASE_FRM_PCI + STRAP_OPTIONS_OFF)

#define SLOW_PORT_CSR_BASE_FRM_PCI	0x80000

#define SCRATCH_BASE_FRM_PCI		0xF0000

#define QDR_CH_BASE_FRM_PCI			0xF9000

#define DRAM_CH0_BASE_FRM_PCI		0xFD800

#define DU_CONTROL_FRM_PCI			    (DRAM_CH0_BASE_FRM_PCI + DU_CONTROL_OFF)
#define DU_ECC_TEST_FRM_PCI			    (DRAM_CH0_BASE_FRM_PCI + DU_ECC_TEST_OFF)
#define DU_INIT_FRM_PCI				    (DRAM_CH0_BASE_FRM_PCI + DU_INIT_OFF)
#define DU_CONTROL2_FRM_PCI			    (DRAM_CH0_BASE_FRM_PCI + DU_CONTROL2_OFF)
#define DDR_RCOMP_IO_CONFIG_FRM_PCI	    (DRAM_CH0_BASE_FRM_PCI + DDR_RCOMP_IO_CONFIG_OFF)
#define DDR_RDDLYSEL_RECEN_FRM_PCI	    (DRAM_CH0_BASE_FRM_PCI + DDR_RDDLYSEL_RECEN_OFF)
#define DDR_RX_DLL_FRM_PCI			    (DRAM_CH0_BASE_FRM_PCI + DDR_RX_DLL_OFF)
#define DDR_RX_DESKEW_FRM_PCI		    (DRAM_CH0_BASE_FRM_PCI + DDR_RX_DESKEW_OFF)
#define CR0_FRCSMRCOMP_FRM_PCI			(DRAM_CH0_BASE_FRM_PCI + CR0_FRCSMRCOMP_OFF)
#define CR0_DSTRENGTHSEL_FRM_PCI		(DRAM_CH0_BASE_FRM_PCI + CR0_DSTRENGTHSEL_OFF)
#define CR0_DDQRCOMP_FRM_PCI			(DRAM_CH0_BASE_FRM_PCI + CR0_DDQRCOMP_OFF)
#define CR0_DCTLRCOMP_FRM_PCI			(DRAM_CH0_BASE_FRM_PCI + CR0_DCTLRCOMP_OFF)
#define CR0_DRCVRCOMP_FRM_PCI			(DRAM_CH0_BASE_FRM_PCI + CR0_DRCVRCOMP_OFF)
#define CR0_DCKERCOMP_FRM_PCI			(DRAM_CH0_BASE_FRM_PCI + CR0_DCKERCOMP_OFF)
#define CR0_DCSRCOMP_FRM_PCI			(DRAM_CH0_BASE_FRM_PCI + CR0_DCSRCOMP_OFF)
#define CR0_DCKRCOMP_FRM_PCI			(DRAM_CH0_BASE_FRM_PCI + CR0_DCKRCOMP_OFF)
#define CR0_DX8X16CKECSCKSEL_FRM_PCI	(DRAM_CH0_BASE_FRM_PCI + CR0_DX8X16CKECSCKSEL_OFF)
#define CR0_RCOMPPRD_FRM_PCI			(DRAM_CH0_BASE_FRM_PCI + CR0_RCOMPPRD_OFF)
#define CR0_DIGFIL_FRM_PCI				(DRAM_CH0_BASE_FRM_PCI + CR0_DIGFIL_OFF)
#define CR0_SLEWPROGRAMMED_FRM_PCI		(DRAM_CH0_BASE_FRM_PCI + CR0_SLEWPROGRAMMED_OFF)
#define CR0_OVRRIDEH_FRM_PCI			(DRAM_CH0_BASE_FRM_PCI + CR0_OVRRIDEH_OFF)
#define CR0_OVRRIDEV_FRM_PCI			(DRAM_CH0_BASE_FRM_PCI + CR0_OVRRIDEV_OFF)
#define CR0_JT_CONFIG_FRM_PCI			(DRAM_CH0_BASE_FRM_PCI + CR0_JT_CONFIG_OFF)

#define PCI_CSR_BASE_FRM_PCI		0xFE000

#define PCI_OUT_INT_MASK_FRM_PCI	(PCI_CSR_BASE_FRM_PCI + PCI_OUT_INT_MASK_OFF)
#define PCI_CONTROL_FRM_PCI			(PCI_CSR_BASE_FRM_PCI + PCI_CONTROL_OFF)
#define PCI_ADDR_EXT_FRM_PCI		(PCI_CSR_BASE_FRM_PCI + PCI_ADDR_EXT_OFF)

#define TB_VENDOR_ID				0x8086
#define TB_DEVICE_ID				0xB154

/* 21154 PCI-to-PCI Bridge register offset */
#define VIDR_OFF					0x0
#define DIDR_OFF					0x2
#define PCR_OFF						0x4
#define PSR_OFF						0x6
#define RIDR_OFF					0x8
#define PIR_OFF						0x9
#define CLSR_OFF					0xC
#define PLTR_OFF					0xD
#define HTR_OFF						0xE
#define PBNR_OFF					0x18
#define SBNR_OFF					0x19
#define SUBBNR_OFF					0x1A
#define SLTR_OFF					0x1B
#define IOBR_OFF					0x1C
#define IOLR_OFF					0x1D
#define SSR_OFF						0x1E
#define MBR_OFF						0x20
#define MLR_OFF						0x22
#define PMBR_OFF					0x24
#define PMLR_OFF					0x26
#define ECPPR_OFF					0x34
#define SUBIDR_OFF					0x36
#define BCR_OFF						0x3E

// 21555 defines
#define NTB_VENDOR_ID               0x8086
#define NTB_DEVICE_ID               0xB555

#define DS_IOMEM_1_TBASE            0x98
#define DS_MEM_2_TBASE              0x9C
#define DS_MEM_3_TBASE              0xA0

// UART defines start 
#define DEFAULT_BAUD	            57600
#define DEFAULT_BAUD_DIVISOR        (50000000 / (16 * DEFAULT_BAUD)) 

#define UART_LineControl           	0x0C     //reg addr
#define UART_DivisorLatchLSB       	0x00	 //reg addr DLAB=0
#define UART_DivisorLatchMSB       	0x04	 //reg addr DLAB=1
#define UART_InterruptEnable      	0x04     //reg addr DLAB=0
#define UART_FIFOControl           	0x08     //reg addr
#define UART_LineStatus           	0x14     //reg addr
#define UART_Transmit             	0        //reg addr
#define IXP2400_UART_ADDR		  	0xC0030000

//end of UART defines

// GPIO defines start
#define GPIO_BASE  0xC0010000
//The are offsets GPIO registers are from GPIO _BASE
#define GPIO_PLR  (GPIO_BASE + 0x00) // GPIO Pin level register
#define GPIO_PDPR	(GPIO_BASE + 0x04) // GPIO Pin direction programmable register
#define GPIO_PDSR	(GPIO_BASE + 0x08) // GPIO Pin direction set register
#define GPIO_PDCR	(GPIO_BASE + 0x0C) // GPIO Pin direction clear register
#define GPIO_POPR	(GPIO_BASE + 0x10) // GPIO Output data programmable register
#define GPIO_POSR	(GPIO_BASE + 0x14) // GPIO Output data set register
#define GPIO_POCR	(GPIO_BASE + 0x18) // GPIO Output data clear register
#define GPIO_REDR	(GPIO_BASE + 0x1C) // GPIO Rising edge detect enable register
#define GPIO_FEDR	(GPIO_BASE + 0x20) // GPIO Falling edge detect enable register
#define GPIO_EDSR	(GPIO_BASE + 0x24) // GPIO Edge detect status register
#define GPIO_LSHR	(GPIO_BASE + 0x28) // GPIO level sensitive high enable register
#define GPIO_LSLR	(GPIO_BASE + 0x2C) // GPIO level sensitive low enable register
#define GPIO_LDSR	(GPIO_BASE + 0x30) // GPIO level detect status register
#define GPIO_INER	(GPIO_BASE + 0x34) // GPIO Interrupt Enable register
#define GPIO_INSR	(GPIO_BASE + 0x38) // GPIO Interrupt Set register
#define GPIO_INCR	(GPIO_BASE + 0x3C) // GPIO Interrupt Reset register
#define GPIO_INST	(GPIO_BASE + 0x40) // GPIO Interrupt Status Register

//end of GPIO defines

#endif /* CYGONCE_HAL_IXDP2400_H */

⌨️ 快捷键说明

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