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

📄 harrier.h

📁 vxworks的bsp开发包(基于POWERPC的PRPMC800)
💻 H
📖 第 1 页 / 共 5 页
字号:
/* harrier.h - Harrier chip header file *//* Copyright 1996-2001 Motorola, Inc. All Rights Reserved *//*modification history--------------------01g,10oct01,scb  Add #define's for shared memory interrupt support.01f,09aug01,scb  Add #defines for PPC arbiter register (XARB).01g,17may01,blk  Add support for harrier II.01f,14nov00,dmw  Added defines for Harrier offsets used in romInit.01e,17oct00,krp  display of SMC SDRAM addressing & control settings.01d,16oct00,dmw  Added PCI bridge defines.01c,08oct00,dmw  corrected I2C device offsets.01b,01sep00,dmw  added inbound translation defines.01a,11jul00,krp  created for the prpmc800 BSP.*//*This file contains Base address defines, register offsets and bitdefinitions for the the Harrier chip*/#ifndef	INCharrierh#define	INCharrierh#ifdef __cplusplus   extern "C" {#endif#ifndef HARRIER_XCSR_BASE#   define HARRIER_XCSR_BASE	0xFEFF0000#endif#ifndef HARRIER_XCSR_SIZE#   define HARRIER_XCSR_SIZE	0x00001000#endif/* * SDRAM block descriptor registers. these are for setting the base * address, size, and enable status for a block of SDRAM. there are * eight sets of these registers for up to eight blocks of SDRAM. */#define HARRIER_REG_SDRAM_BLOCK_ADDRESSING_A (HARRIER_XCSR_BASE + 0x110)#define HARRIER_REG_SDRAM_BLOCK_ADDRESSING_B (HARRIER_XCSR_BASE + 0x114)#define HARRIER_REG_SDRAM_BLOCK_ADDRESSING_C (HARRIER_XCSR_BASE + 0x118)#define HARRIER_REG_SDRAM_BLOCK_ADDRESSING_D (HARRIER_XCSR_BASE + 0x11C)#define HARRIER_REG_SDRAM_BLOCK_ADDRESSING_E (HARRIER_XCSR_BASE + 0x120)#define HARRIER_REG_SDRAM_BLOCK_ADDRESSING_F (HARRIER_XCSR_BASE + 0x124)#define HARRIER_REG_SDRAM_BLOCK_ADDRESSING_G (HARRIER_XCSR_BASE + 0x128)#define HARRIER_REG_SDRAM_BLOCK_ADDRESSING_H (HARRIER_XCSR_BASE + 0x12C)#define HARRIER_SDRAM_BLOCK_BASEADDR_OFFSET  0#define HARRIER_SDRAM_BLOCK_SIZE_OFFSET      1#define HARRIER_SDRAM_BLOCK_ENABLE_OFFSET    2/* * registers for X-port channels. these registers are used for setting the * starting address, ending address, and attributes for an X-port channel. * the attributes register also has read-only bit fields of information on * the X-port channel. * * There are FOUR available X-port channels. */#define HARRIER_XPORT0_ADDR_RANGE_REG	(HARRIER_XCSR_BASE + 0x150)#define HARRIER_XPORT1_ADDR_RANGE_REG	(HARRIER_XCSR_BASE + 0x158)#define HARRIER_XPORT2_ADDR_RANGE_REG	(HARRIER_XCSR_BASE + 0x160)#define HARRIER_XPORT3_ADDR_RANGE_REG	(HARRIER_XCSR_BASE + 0x168)#define HARRIER_XPORT0_ATTR_REG 	(HARRIER_XCSR_BASE + 0x154)#define HARRIER_XPORT1_ATTR_REG 	(HARRIER_XCSR_BASE + 0x15C)#define HARRIER_XPORT2_ATTR_REG 	(HARRIER_XCSR_BASE + 0x164)#define HARRIER_XPORT3_ATTR_REG 	(HARRIER_XCSR_BASE + 0x16C)#define HARRIER_XPORT_STARTADDR_OFFSET	0#define HARRIER_XPORT_ENDADDR_OFFSET	2#define HARRIER_XPORT_ATTR_OFFSET	4#define HARRIER_XPORT_GENERAL_CONTROL_REG   (HARRIER_XCSR_BASE + 0x170)/* * registers for I2C serial bus interface. the Harrier has two seperate * I2C interfaces for up to two I2C serial buses. */#define HARRIER_I2C_CONTROLLER0_REG  (HARRIER_XCSR_BASE + 0x180)#define HARRIER_I2C_CONTROLLER1_REG  (HARRIER_XCSR_BASE + 0x1A0)#define HARRIER_I2C_PRESCALER_OFFSET	      0x00#define HARRIER_I2C_CONTROL_OFFSET	      0x04#define HARRIER_I2C_TRANSMITTER_DATA_OFFSET   0x0C#define HARRIER_I2C_STATUS_OFFSET	      0x14#define HARRIER_I2C_RECEIVER_DATA_OFFSET      0x1C/* * registers descriptors for mapping PCI memory or I/O space to * PowerPC memory space. there are four sets of these registers. *//* * offset +00 - outbound translation range starting address register * offset +02 - outbound translation range ending address register * offset +04 - outbound translation address offset register * offset +06 - outbound translation attributes register */#define HARRIER_OUTBOUND_TRANSLATION_ADDR_0_REG  (HARRIER_XCSR_BASE + 0x220)#define HARRIER_OUTBOUND_TRANSLATION_ADDR_1_REG  (HARRIER_XCSR_BASE + 0x228)#define HARRIER_OUTBOUND_TRANSLATION_ADDR_2_REG  (HARRIER_XCSR_BASE + 0x230)#define HARRIER_OUTBOUND_TRANSLATION_ADDR_3_REG  (HARRIER_XCSR_BASE + 0x238)#define HARRIER_OUTBOUND_TRANSLATION_STARTADDRESS_OFFSET  0#define HARRIER_OUTBOUND_TRANSLATION_ENDADDRESS_OFFSET	  2#define HARRIER_OUTBOUND_TRANSLATION_OFFSETINFO_OFFSET	  4#define HARRIER_OUTBOUND_TRANSLATION_ATTRIBUTE_OFFSET	  6#define HARRIER_VENDOR_ID_REG	(HARRIER_XCSR_BASE + 0x000) /* Motorola: 0x1057 */#define HARRIER_DEVICE_ID_REG	(HARRIER_XCSR_BASE + 0x002) /* Harrier:  0x480B */#define HARRIER_VERSION_ID_REG	(HARRIER_XCSR_BASE + 0x005)/* * XCSR+$010 - global control and status register * XCSR+$014 - PowerPC clock frequency register * XCSR+$018 - count 32-bit register * XCSR+$01C - miscellaneous control and status register */#define H_PPCCLKFRQ_OFST   (0x014)#define HARRIER_GLOBAL_CONTROL_STATUS_REG (HARRIER_XCSR_BASE + 0x010)#define HARRIER_PPC_CLOCK_FREQUENCY_REG   (HARRIER_XCSR_BASE + H_PPCCLKFRQ_OFST)#define HARRIER_COUNTER_32BIT_REG	  (HARRIER_XCSR_BASE + 0x018)#define HARRIER_MISC_CONTROL_STATUS_REG   (HARRIER_XCSR_BASE + 0x01C)#define HARRIER_GP0_OFFSET   (0x020)#define HARRIER_GP1_OFFSET   (0x024)#define HARRIER_GP2_OFFSET   (0x028)#define HARRIER_GP3_OFFSET   (0x02C)#define HARRIER_GP4_OFFSET   (0x030)#define HARRIER_GP5_OFFSET   (0x034)#define HARRIER_GENERAL_PURPOSE0_REG   (HARRIER_XCSR_BASE + HARRIER_GP0_OFFSET)#define HARRIER_GENERAL_PURPOSE1_REG   (HARRIER_XCSR_BASE + HARRIER_GP1_OFFSET)#define HARRIER_GENERAL_PURPOSE2_REG   (HARRIER_XCSR_BASE + HARRIER_GP2_OFFSET)#define HARRIER_GENERAL_PURPOSE3_REG   (HARRIER_XCSR_BASE + HARRIER_GP3_OFFSET)#define HARRIER_GENERAL_PURPOSE4_REG   (HARRIER_XCSR_BASE + HARRIER_GP4_OFFSET)#define HARRIER_GENERAL_PURPOSE5_REG   (HARRIER_XCSR_BASE + HARRIER_GP5_OFFSET)/* * XCSR+$040 - functional exception enable register * XCSR+$044 - functional exception status register * XCSR+$048 - functional exception mask register * XCSR+$04C - functional exception clear register */#define HARRIER_EXCEPTION_ENABLE_REG  (HARRIER_XCSR_BASE + 0x040)#define HARRIER_EXCEPTION_STATUS_REG  (HARRIER_XCSR_BASE + 0x044)#define HARRIER_EXCEPTION_MASK_REG    (HARRIER_XCSR_BASE + 0x048)#define HARRIER_EXCEPTION_CLEAR_REG   (HARRIER_XCSR_BASE + 0x04C)#define HARRIER_ERROR_EXCEPTION_ENABLE_REG	 (HARRIER_XCSR_BASE + 0x050)#define HARRIER_ERROR_EXCEPTION_STATUS_REG	 (HARRIER_XCSR_BASE + 0x054)#define HARRIER_ERROR_EXCEPTION_CLEAR_REG	 (HARRIER_XCSR_BASE + 0x058)#define HARRIER_ERROR_EXCEPTION_INT_ENABLE_REG	 (HARRIER_XCSR_BASE + 0x05C)#define HARRIER_ERROR_EXCMACHINECHECK0_ENABLE (HARRIER_XCSR_BASE + 0x060)#define HARRIER_ERROR_EXCMACHINECHECK1_ENABLE (HARRIER_XCSR_BASE + 0x064)/* * XCSR+$06C - error diagnostics parity error injection register * XCSR+$070 - error diagnostics PowerPC address register * XCSR+$074 - error diagnostics PowerPC attribute register * XCSR+$078 - error diagnostics PCI address register * XCSR+$07C - error diagnostics PCI attribute register */#define HARRIER_ERR_DIAGS_PARITYERRORINJECT_REG (HARRIER_XCSR_BASE + 0x06C)#define HARRIER_ERR_DIAGS_PPCADDRESS_REG	(HARRIER_XCSR_BASE + 0x070)#define HARRIER_ERR_DIAGS_PPCATTRIBUTE_REG	(HARRIER_XCSR_BASE + 0x074)#define HARRIER_ERR_DIAGS_PCIADDRESS_REG	(HARRIER_XCSR_BASE + 0x078)#define HARRIER_ERR_DIAGS_PCIATTRIBUTE_REG	(HARRIER_XCSR_BASE + 0x07C)/* * XCSR+$080 - watchdog timer #0 control register * XCSR+$084 - watchdog timer #0 status register * XCSR+$088 - watchdog timer #1 control register * XCSR+$08C - watchdog timer #1 status register */#define HARRIER_WATCHDOGTIMER_CONTROL0_REG    (HARRIER_XCSR_BASE + 0x080)#define HARRIER_WATCHDOGTIMER_STATUS0_REG     (HARRIER_XCSR_BASE + 0x084)#define HARRIER_WATCHDOGTIMER_CONTROL1_REG    (HARRIER_XCSR_BASE + 0x088)#define HARRIER_WATCHDOGTIMER_STATUS1_REG     (HARRIER_XCSR_BASE + 0x08C)#define HARRIER_WTCHDG_CNTR0_OFFSET           (0x080)#define HARRIER_WTCHDG_CNTR1_OFFSET           (0x088)/* * XCSR+$090 - PCI arbiter register * XCSR+$094 - PowerPC arbiter register */#define HARRIER_PCI_ARBITER_REG  (HARRIER_XCSR_BASE + 0x090)#define HARRIER_PPC_ARBITER_REG  (HARRIER_XCSR_BASE + 0x094)/* * XCSR+$0C0 - UART #0 receiver buffer / transmitter holding / *		       divisor latch low register * XCSR+$0C1 - UART #0 interrupt enable / divisor latch high register * XCSR+$0C2 - UART #0 interrupt identification / FIFO control register * XCSR+$0C3 - UART #0 line control register * XCSR+$0C4 - UART #0 modem control register * XCSR+$0C5 - UART #0 line status register * XCSR+$0C6 - UART #0 modem status register * XCSR+$0C7 - UART #0 scratch register */#define  HARRIER_UART_0_RTDL_REG  (HARRIER_XCSR_BASE + 0x0C0)#define  HARRIER_UART_0_IEDH_REG  (HARRIER_XCSR_BASE + 0x0C1)#define  HARRIER_UART_0_IDFC_REG  (HARRIER_XCSR_BASE + 0x0C2)#define  HARRIER_UART_0_LCTL_REG  (HARRIER_XCSR_BASE + 0x0C3)#define  HARRIER_UART_0_MCTL_REG  (HARRIER_XCSR_BASE + 0x0C4)#define  HARRIER_UART_0_LSTA_REG  (HARRIER_XCSR_BASE + 0x0C5)#define  HARRIER_UART_0_MSTA_REG  (HARRIER_XCSR_BASE + 0x0C6)#define  HARRIER_UART_0_SCRT_REG  (HARRIER_XCSR_BASE + 0x0C7)/* * XCSR+$0C8 - UART #1 receiver buffer / transmitter holding / *		       divisor latch low register * XCSR+$0C9 - UART #1 interrupt enable / divisor latch high register * XCSR+$0CA - UART #1 interrupt identification / FIFO control register * XCSR+$0CB - UART #1 line control register * XCSR+$0CC - UART #1 modem control register * XCSR+$0CD - UART #1 line status register * XCSR+$0CE - UART #1 modem status register * XCSR+$0CF - UART #1 scratch register */#define  HARRIER_UART_1_RTDL_REG  (HARRIER_XCSR_BASE + 0x0C8)#define  HARRIER_UART_1_IEDH_REG  (HARRIER_XCSR_BASE + 0x0C9)#define  HARRIER_UART_1_IDFC_REG  (HARRIER_XCSR_BASE + 0x0CA)#define  HARRIER_UART_1_LCTL_REG  (HARRIER_XCSR_BASE + 0x0CB)#define  HARRIER_UART_1_MCTL_REG  (HARRIER_XCSR_BASE + 0x0CC)#define  HARRIER_UART_1_LSTA_REG  (HARRIER_XCSR_BASE + 0x0CD)#define  HARRIER_UART_1_MSTA_REG  (HARRIER_XCSR_BASE + 0x0CE)#define  HARRIER_UART_1_SCRT_REG  (HARRIER_XCSR_BASE + 0x0CF)/* * XCSR+$0D0 - UART control register * XCSR+$0D3 - UART clock prescaler register */#define HARRIER_UART_CONTROL_REG	  (HARRIER_XCSR_BASE + 0x0D0)#define HARRIER_UART_CLOCK_PRESCALER_REG  (HARRIER_XCSR_BASE + 0x0D3)/* * XCSR+$0E0 - MPIC base address register * XCSR+$0E4 - MPIC control and status register * XCSR+$0E6 - MPIC interrupt request sample register */#define HARRIER_MPIC_BASEADDRESS_REG	   (HARRIER_XCSR_BASE + 0x0E0)#define HARRIER_MPIC_CONTROL_STATUS_REG    (HARRIER_XCSR_BASE + 0x0E4)#define HARRIER_MPIC_INT_REQUESTSAMPLE_REG (HARRIER_XCSR_BASE + 0x0E6)/* * XCSR+$100 - SDRAM general control register * XCSR+$104 - SDRAM timing control register */#define HARRIER_SDRAM_GENERAL_CONTROL_REG  (HARRIER_XCSR_BASE + 0x100)#define HARRIER_SDRAM_TIMING_CONTROL_REG   (HARRIER_XCSR_BASE + 0x104)/* * XCSR+$130 - SDRAM scrub control register * XCSR+$134 - SDRAM scrub address counter */#define HARRIER_SDRAM_SCRUB_CONTROL_REG        (HARRIER_XCSR_BASE + 0x130)#define HARRIER_SDRAM_SCRUB_ADDRESSCOUNTER_REG (HARRIER_XCSR_BASE + 0x134)/* * XCSR+$140 - SDRAM single-bit error syndrome register * XCSR+$141 - SDRAM single-bit error scrub block register * XCSR+$142 - SDRAM single-bit error count register * XCSR+$144 - SDRAM single-bit error address register */#define HARRIER_SDRAM_SBE_SYNDROME_REG	  (HARRIER_XCSR_BASE + 0x140)#define HARRIER_SDRAM_SBE_SCRUBBLOCK_REG  (HARRIER_XCSR_BASE + 0x141)#define HARRIER_SDRAM_SBE_COUNT_REG	  (HARRIER_XCSR_BASE + 0x142)#define HARRIER_SDRAM_SBE_ADDRESS_REG	  (HARRIER_XCSR_BASE + 0x144)

⌨️ 快捷键说明

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