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

📄 mpc107def.h

📁 Vxworks的bsp软件开发包(基于wrPpmc74xx)
💻 H
字号:
/* mpc107Def.h - Motorola MPC107 definitions *//* Copyright 1984-2001 Wind River Systems, Inc. *//*modification history--------------------01b,25oct01,g_h  Cleaning01a,05mar98,est  created*//*DESCRIPTION:Contains structure typedefs for the Motorola MPC107*/#ifndef	__INCmpc107Defh#define	__INCmpc107Defh#ifdef __cplusplusextern "C" {#endif/* HI/LOW Adjust Macros; generic, tool vendor neutral. */#define	HI_HALF(value)	((value >> 16) & 0x0000FFFF)#define	LO_HALF(value)	(value & 0x0000FFFF)/*  PCI Command Register. */#define	PCICMD_ADDR		0x04#define	PCICMD_FAST_B2B		(1 << 9)#define	PCICMD_SERR		(1 << 8)#define	PCICMD_PER		(1 << 6)#define	PCICMD_MEM_W_INV	(1 << 4)#define	PCICMD_SPECIAL_CYC	(1 << 3)#define	PCICMD_BUS_MASTER	(1 << 2)#define	PCICMD_MEM_SPACE	(1 << 1)#define	PCICMD_IO_SPACE		(1 << 0)#define	PCICMD_RSVD_MASK	0xFCA0/*  PCI Status Register */#define	PCISTATUS_ADDR		0x06#define	PCISTATUS_DET_PE	(1 << 15)#define	PCISTATUS_SIG_SI	(1 << 14)#define	PCISTATUS_RCV_MA	(1 << 13)#define	PCISTATUS_RCV_TA	(1 << 12)#define	PCISTATUS_SIG_TA	(1 << 11)#define	PCISTATUS_DEVSEL_TIME	(3 << 9)#define	PCISTATUS_DATA_PE	(1 << 8)#define	PCISTATUS_FAST_B2BC	(1 << 7)#define	PCISTATUS_66MHZ_CAP	(1 << 5)#define	PCISTATUS_RSVD_MASK	0xFF4F/*  Power Management Configuration Register 1 */#define	PMCR1_ADDR		0x70#define	PMCR1_NO_NAP_MSG	(1 << 15)#define	PMCR1_NO_SLEEP_MSG	(1 << 15)#define	PMCR1_SLEEP_MSG_TYPE	(1 << 13)#define	PMCR1_LP_REF_EN		(1 << 12)#define	PMCR1_NO_604_RUN	(1 << 11)#define	PMCR1_601_NEED_QREQ	(1 << 10)#define	PMCR1_SUSP_QACK		(1 << 9)#define	PMCR1_PM		(1 << 7)#define	PMCR1_DOZE		(1 << 5)#define	PMCR1_NAP		(1 << 4)#define	PMCR1_SLEEP		(1 << 3)#define	PMCR1_CKO_MODE		(3 << 1)#define	PMCR1_BR1_WAKE		(1 << 0)#define	PMCR1_MASK		0xFF5F/*  Power Management Configuration Register 2 */#define	PMCR2_ADDR		0x72#define	PMCR2_SHARED_MCP	(1 << 0)#define	PMCR2_MASK		0xFE/*  Error Enable Register 1 */#define	EER1_ADDR		0xC0#define	EER1_PCI_RCV_TAE	(1 << 7)#define	EER1_PCI_TGT_PERR_ENB	(1 << 6)#define	EER1_MEM_SLCT_ERR_ENB	(1 << 5)#define	EER1_MEM_RFRSH_OFL_ENB	(1 << 4)#define	EER1_PCI_MSTR_PERR_ENB	(1 << 3)#define	EER1_PCI_PAR_ECC_ENB	(1 << 2)#define	EER1_PCI_PCI_MA_ENB	(1 << 1)#define	EER1_60X_BUS_ERR_ENB	(1 << 0)/*  Error Enable Register 1 */#define	EER2_ADDR		0xC4#define	EER2_PCI_ADDR_PE_ENB		(1 << 7)#define	EER2_ILLEGAL_L2_CB_ERR_ENB	(1 << 5)#define	EER2_L2_PARITY_ERR_ENB		(1 << 4)#define	EER2_ECC_MB_ERR_ENB		(1 << 3)#define	EER2_FLASH_ROM_WRITE_ERR_ENB	(1 << 0)#define	EER2_RSVD_MASK			0x46/*  Error Detection Register 1 */#define	EDR1_ADDR		0xC1#define	EDR1_PCI_SERR		(1 << 7)#define	EDR1_PCI_TGT_PERR	(1 << 6)#define	EDR1_MEM_SELECT_ERR	(1 << 5)#define	EDR1_MEM_RFRSH_ERR	(1 << 4)#define	EDR1_60X_PCI_CYCL_ERR	(1 << 3)#define	EDR1_MEM_READ_PERR	(1 << 2)#define	EDR1_UNSPT_BUS_CYCL_ERR	(3 << 0)/*  Error Detection Register 2 */#define	EDR2_ADDR		0xC5#define	EDR2_INVALID_ERR_ADDR	(1 << 7)#define	EDR2_ILLEGAL_L2_CB_ERR	(1 << 5)#define	EDR2_L2_PARITY_ERR	(1 << 4)#define	EDR2_ECC_MB_ERR		(1 << 3)#define	EDR2_FLASH_ROM_WR_ERR	(1 << 0)#define	EDR2_RSVD_MASK		0x46/*  PCI Bus Error Status Register */#define	PCI_BERR_SR_ADDR	0xC7#define	PCI_BERR_SR_MPC106_MT_STATUS	(1 << 4)#define	PCI_BERR_SR_C_BE_3_0		(0xF << 0)#define	PCI_BERR_SR_RSV_MASK		0xE0/*  Memory Control Registers and Macros * *  Note that these macros will take a full 32 bit address *  and translate it into the correct bit position for the *  Memory Control Registers, but they do not check to see *  if alignment/boundries are correct;  they will simply *  round down to the nearest 1 Mb boundry. */#define	MEMCTL_0_3_START_ADDR		0x80#define	MEMCTL_4_7_START_ADDR		0x84#define	MEMCTL_0_3_START_EXT_ADDR	0x88#define	MEMCTL_4_7_START_EXT_ADDR	0x8C#define	MEMCTL_0_3_END_ADDR		0x90#define	MEMCTL_4_7_END_ADDR		0x94#define	MEMCTL_0_3_END_EXT_ADDR		0x98#define	MEMCTL_4_7_END_EXT_ADDR		0x9C#define	MEMCTL_EXT_ADDR_MASK		0xFCFCFCFC#define	MEMCTL_B0_START_ADDR(addr)	((addr & 0x0FF00000) >> 20)#define	MEMCTL_B0_EXT_START_ADDR(addr)	((addr & 0x30000000) >> 28)#define	MEMCTL_B1_START_ADDR(addr)	((addr & 0x0FF00000) >> 12)#define	MEMCTL_B1_EXT_START_ADDR(addr)	((addr & 0x30000000) >> 20)#define	MEMCTL_B2_START_ADDR(addr)	((addr & 0x0FF00000) >> 4)#define	MEMCTL_B2_EXT_START_ADDR(addr)	((addr & 0x30000000) >> 12)#define	MEMCTL_B3_START_ADDR(addr)	((addr & 0x0FF00000) << 4)#define	MEMCTL_B3_EXT_START_ADDR(addr)	((addr & 0x30000000) >> 4)#define	MEMCTL_B4_START_ADDR(addr)	((addr & 0x0FF00000) >> 20)#define	MEMCTL_B4_EXT_START_ADDR(addr)	((addr & 0x30000000) >> 28)#define	MEMCTL_B5_START_ADDR(addr)	((addr & 0x0FF00000) >> 12)#define	MEMCTL_B5_EXT_START_ADDR(addr)	((addr & 0x30000000) >> 20)#define	MEMCTL_B6_START_ADDR(addr)	((addr & 0x0FF00000) >> 4)#define	MEMCTL_B6_EXT_START_ADDR(addr)	((addr & 0x30000000) >> 12)#define	MEMCTL_B7_START_ADDR(addr)	((addr & 0x0FF00000) << 4)#define	MEMCTL_B7_EXT_START_ADDR(addr)	((addr & 0x30000000) >> 4)#define	MEMCTL_B0_END_ADDR(addrE)	(((addrE - 1) & 0x0FF00000) >> 20)#define	MEMCTL_B0_EXT_END_ADDR(addrE)	(((addrE - 1) & 0x30000000) >> 28)#define	MEMCTL_B1_END_ADDR(addrE)	(((addrE - 1) & 0x0FF00000) >> 12)#define	MEMCTL_B1_EXT_END_ADDR(addrE)	(((addrE - 1) & 0x30000000) >> 20)#define	MEMCTL_B2_END_ADDR(addrE)	(((addrE - 1) & 0x0FF00000) >> 4)#define	MEMCTL_B2_EXT_END_ADDR(addrE)	(((addrE - 1) & 0x30000000) >> 12)#define	MEMCTL_B3_END_ADDR(addrE)	(((addrE - 1) & 0x0FF00000) << 4)#define	MEMCTL_B3_EXT_END_ADDR(addrE)	(((addrE - 1) & 0x30000000) >> 4)#define	MEMCTL_B4_END_ADDR(addrE)	(((addrE - 1) & 0x0FF00000) >> 20)#define	MEMCTL_B4_EXT_END_ADDR(addrE)	(((addrE - 1) & 0x30000000) >> 28)#define	MEMCTL_B5_END_ADDR(addrE)	(((addrE - 1) & 0x0FF00000) >> 12)#define	MEMCTL_B5_EXT_END_ADDR(addrE)	(((addrE - 1) & 0x30000000) >> 20)#define	MEMCTL_B6_END_ADDR(addrE)	(((addrE - 1) & 0x0FF00000) >> 4)#define	MEMCTL_B6_EXT_END_ADDR(addrE)	(((addrE - 1) & 0x30000000) >> 12)#define	MEMCTL_B7_END_ADDR(addrE)	(((addrE - 1) & 0x0FF00000) << 4)#define	MEMCTL_B7_EXT_END_ADDR(addrE)	(((addrE - 1) & 0x30000000) >> 4)#define	MEM_BANK_ENABLE_ADDR	0xA0#define	MEM_BANK_ENABLE_0	(1 << 0)#define	MEM_BANK_ENABLE_1	(1 << 1)#define	MEM_BANK_ENABLE_2	(1 << 2)#define	MEM_BANK_ENABLE_3	(1 << 3)#define	MEM_BANK_ENABLE_4	(1 << 4)#define	MEM_BANK_ENABLE_5	(1 << 5)#define	MEM_BANK_ENABLE_6	(1 << 6)#define	MEM_BANK_ENABLE_7	(1 << 7)#define	MEM_PGMAX_ADDR		0xA3#define	MCCR1_ADDR		0xF0#define	MCCR1_ROMNAL(time)	((time & 0x0F) << 28)#define	MCCR1_ROMFAL(time)	((time & 0x1F) << 23)#define	MCCR1_8N64		(1 << 21)#define	MCCR1_BURST		(1 << 20)#define	MCCR1_MEMGO		(1 << 19)#define	MCCR1_SREN		(1 << 18)#define	MCCR1_RAM_TYPE		(1 << 17)#define	MCCR1_PCKEN		(1 << 16)#define	MCCR1_BANK7_ROW(row)	((row & 0x03) << 14)#define	MCCR1_BANK6_ROW(row)	((row & 0x03) << 12)#define	MCCR1_BANK5_ROW(row)	((row & 0x03) << 10)#define	MCCR1_BANK4_ROW(row)	((row & 0x03) << 8)#define	MCCR1_BANK3_ROW(row)	((row & 0x03) << 6)#define	MCCR1_BANK2_ROW(row)	((row & 0x03) << 4)#define	MCCR1_BANK1_ROW(row)	((row & 0x03) << 2)#define	MCCR1_BANK0_ROW(row)	((row & 0x03) << 0)#define	MCCR1_RSVD_MASK		0x00100000#define	MCCR2_ADDR		0xF4#define	MCCR2_ECC_EN		(1 << 17)#define	MCCR2_EDO		(1 << 16)#define	MCCR2_REFRESH_INT(rate)	((rate & 0x3FFF) << 2)#define	MCCR2_BUF_MODE		(1 << 1)#define	MCCR2_RMW_PAR		(1 << 0)#define	MCCR2_RSVD_MASK		0xFFFC0000#define	MCCR3_ADDR		0xF8#define	MCCR4_ADDR		0xFC#define	MCCR4_RSVD_MASK		0x00C00000/*  Procesor Interface Configuration Register 1 */#define	PICR1_ADDR		0xA8#define	PICR1_CF_CBA_MASK(mask)		((mask & 0x0FF) << 24)#define	PICR1_CF_BREAD_WS(bread)	((bread & 0x03) << 22)#define	PICR1_CF_CACHE_1G		(1 << 21)#define	PICR1_RCS0			(1 << 20)#define	PICR1_XIO_MODE			(1 << 19)#define	PICR1_PROC_TYPE_601		(0 << 17)#define	PICR1_PROC_TYPE_603		(2 << 17)#define	PICR1_PROC_TYPE_604		(3 << 17)#define	PICR1_ADDRESS_MAP		(1 << 16)#define	PICR1_CF_MP_MASK		(3 << 14)#define	PICR1_CF_LBA_EN			(1 << 13)#define	PICR1_FLASH_WR_EN		(1 << 12)#define	PICR1_MCP_EN			(1 << 11)#define	PICR1_TEA_EN			(1 << 10)#define	PICR1_CF_DPARK			(1 << 9)#define	PICR1_CF_EXTERNAL_L2		(1 << 8)#define	PICR1_NO_PORT_REGS		(1 << 7)#define	PICR1_ST_GATH_EN		(1 << 6)#define	PICR1_ST_LE_MODE		(1 << 5)#define	PICR1_CF_LOOP_SNOOP		(1 << 4)#define	PICR1_CF_APARK			(1 << 3)#define	PICR1_SPECULATIVE_PCI_RD	(1 << 2)#define	PICR1_CF_L2_MP(config)		(config & 0x03)/*  Procesor Interface Configuration Register 2 */#define	PICR2_ADDR			0xAC#define	PICR2_L2_UPDATE_EN		(1 << 31)#define	PICR2_L2_EN			(1 << 30)#define	PICR2_NO_SERIAL_CFG		(1 << 29)#define	PICR2_CF_FLUSH_L2		(1 << 28)#define	PICR2_NO_SNOOP_EN		(1 << 27)#define	PICR2_FF0_LOCAL			(1 << 26)#define	PICR2_FLASH_WR_LOCKOUT		(1 << 25)#define	PICR2_CF_FAST_L2_MODE		(1 << 24)#define	PICR2_CF_DATA_RAM_TYPE(ramType)	((ramType & 0x03) << 22)#define	PICR2_CF_WMODE(mode)		((mode & 0x03) << 20)#define	PICR2_CF_SNOOP_WS(waitStates)	((waitStates & 0x03) << 18)#define	PICR2_CF_MOD_HIGH		(1 << 17)#define	PICR2_CF_HIT_HIGH		(1 << 16)#define	PICR2_CF_ADDR_ONLY_DISABLE	(1 << 14)#define	PICR2_CF_HOLD			(1 << 13)#define	PICR2_CF_INV_MODE		(1 << 12)#define	PICR2_CF_RWITM_FILL		(1 << 11)#define	PICR2_CF_L2_HIT_DELAY(hit)	((hit & 0x03) << 9)#define	PICR2_CF_TWO_BANKS		(1 << 8)#define	PICR2_CF_FAST_CASOUT		(1 << 7)#define	PICR2_CF_TOE_WIDTH		(1 << 6)#define	PICR2_CF_L2_SIZE(l2Size)	((l2Size & 0x03) << 4)#define	PICR2_CF_APHASE_WS(aPhaseWS)	((aPhaseWS & 0x03) << 2)#define	PICR2_CF_DOE			(1 << 1)#define	PICR2_CF_WDATA			(1 << 0)#define	PICR2_RSVD_MASK			0x00008000/*  Alternate OS-Visable Parameter Register 1 */#define	AOSVPR1_ADDR	0xBA#define	AOSVPR1_RX_SERR_EN	(1 << 5)#define	AOSVPR1_XIO_MODE	(1 << 2)#define	AOSVPR1_TEA_EN		(1 << 1)#define	AOSVPR1_MCP_EN		(1 << 0)#define	AOSVPR1_RSVD_MASK	0xD8/*  Alternate OS-Visable Parameter Register 2 */#define	AOSVPR2_ADDR	0xBB#define	AOSVPR1_FLASH_WR_EN	(1 << 0)#define	AOSVPR2_RSVD_MASK	0xFE#ifdef __cplusplus}#endif#endif  /* __INCmpc107Defh */

⌨️ 快捷键说明

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