mpc105.h
资源名称:ixp425BSP.rar [点击查看]
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:19k
源码类别:
VxWorks
开发平台:
C/C++
- /* mpc105.h - Motorola MPC105 PCI Bridge/Memory Controller */
- /* Copyright 1984-1996 Wind River Systems, Inc. */
- /*
- modification history
- --------------------
- 01b,10oct96,tam added missing macros.
- 01a,03apr96,tpr written.
- */
- /*
- This file contains the related constants for the MPC105.
- */
- #ifndef __INCmpc105h
- #define __INCmpc105h
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define MPC105_VEND_ID 0x00 /* Vendor ID Reg */
- #define MPC105_DEV_ID 0x02 /* Device ID Reg */
- #define MPC105_CMD 0x04 /* Pci Command Reg */
- #define MPC105_STAT 0x06 /* Pci Status Reg */
- #define MPC105_PMCR 0x70 /* Power Management Configuration Reg */
- #define MPC105_MSAR1 0x80 /* Memory Starting Address Register 1 */
- #define MPC105_MSAR2 0x84 /* Memory Starting Address Register 2 */
- #define MPC105_EMSAR1 0x88 /* Extended Memory Start Addr Reg 1 */
- #define MPC105_EMSAR2 0x8c /* Extended Memory Start Addr Reg 2 */
- #define MPC105_MEAR1 0x90 /* Memory Ending Address Register 1 */
- #define MPC105_MEAR2 0x94 /* Memory Ending Address Register 2 */
- #define MPC105_EMEAR1 0x98 /* Extended Memory Ending Addr Reg 1 */
- #define MPC105_EMEAR2 0x9c /* Extended Memory Ending Addr Reg 2 */
- #define MPC105_MBER 0xa0 /* Memory Bank Enable Register */
- #define MPC105_PICR1 0xa8 /* Processor Interface Config. Reg 1 */
- #define MPC105_PICR2 0xac /* Processor Interface Config. Reg 2 */
- #define MPC105_OS_VPR1 0xba /* OS Visible Parameters Register 1 */
- #define MPC105_OS_VPR2 0xbb /* OS Visible Parameters Register 2 */
- #define MPC105_ERR_EN_R1 0xc0 /* Error Enable Register 1 */
- #define MPC105_ERR_DR1 0xc1 /* Error Detection Register 1 */
- #define MPC105_60X_BESR 0xc3 /* 60x Bus Error Status Register */
- #define MPC105_ERR_EN_R2 0xc4 /* Error Enable Register 2 */
- #define MPC105_ERR_DR2 0xc5 /* Error Detection Register 2 */
- #define MPC105_PCI_BESR 0xc7 /* PCI Bus Error Status Register */
- #define MPC105_60XPCI_EAR 0xc8 /* 60x/PCI Error Address Register */
- #define MPC105_MCCR1 0xf0 /* Memory Control Configuration Reg 1 */
- #define MPC105_MCCR2 0xf4 /* Memory Control Configuration Reg 2 */
- #define MPC105_MCCR3 0xf8 /* Memory Control Configuration Reg 3 */
- #define MPC105_MCCR4 0xfc /* Memory Control Configuration Reg 4 */
- /* External Configuration Registers - Address Map A */
- #define MPC105_ECR1 0x80000092 /* External Configuration Reg 1 */
- #define MPC105_ECR2 0x8000081c /* External Configuration Reg 2 */
- #define MPC105_ECR3 0x80000850 /* External Configuration Reg 3 */
- /* Other registers are accessed indirectly via the registers below */
- #define MPC105_REG_SELECT (int *)0x80000cf8 /* register select */
- #define MPC105_REG_DATA (int *)0x80000cfc /* register data */
- #define MPC105_REG(nn) ((nn << 24) | 0x80)
- /* Pci Command Reg (CMD) - 0x04 */
- #define CMD_SERR 0x0100 /* enable SERR signal */
- #define CMD_PAR_ERR 0x0040 /* respond to parity errors */
- #define CMD_PCI_MASTER 0x0004 /* generate pci mem. accesses */
- #define CMD_PCI_SLAVE 0x0002 /* respond to pci mem. accesses */
- /* Pci Status Reg (STAT) - 0x6 */
- #define STAT_PAR_ERR 0x8000 /* parity error detected */
- #define STAT_SERR 0x4000 /* SERR is asserted */
- #define STAT_MASTER_MST_ABORT 0x2000 /* transaction using master-abort */
- #define STAT_MASTER_TGT_ABORT 0x1000 /* transaction using master-abort */
- #define STAT_TARGET_TGT_ABORT 0x0800 /* transaction using master-abort */
- #define STAT_DATA_PAR_ERR 0x0100 /* data parity error detected */
- #define STAT_NO_RSV_BITS 0xf900 /* non reserved or non hardwired bits */
- /* Power Management Configuration Register (PMCR) - 0x70 */
- #define PMCR_NO_NAP_MSG 0x8000 /* HALT command broadcast */
- #define PMCR_NO_SLEEP_MSG 0x4000 /* Sleep message broadcast */
- #define PMCR_SLEEP_MSG_TYPE 0x2000 /* Sleep message type */
- #define PMCR_LP_REF_EN 0x1000 /* Low-power refresh enable */
- #define PMCR_NO_604_RUN 0x0800 /* Do not assert QACK (PPC604 only) */
- #define PMCR_601_NEED_QREQ 0x0400 /* QREQ requested (PPC601 only) */
- #define PMCR_SUSP_QACK 0x0200 /* Suspend mode will assert QACK */
- #define PMCR_PM 0x0080 /* Power Management enable */
- #define PMCR_DOZE 0x0020 /* Doze mode enable */
- #define PMCR_NAP 0x0010 /* Nap mode enable */
- #define PMCR_SLEEP 0x0008 /* Sleep mode enable */
- #define PMCR_CKO_EN 0x0004 /* test clock output driver enable */
- #define PMCR_CKO_SEL 0x0002 /* Selects the clock source */
- #define PMCR_BR1_WAKE 0x0001 /* Enable awareness of a second CPU */
- /* Memory Starting Address Register 1 - 0x80 */
- #define MSAR1_BANK3_MSK 0xff000000 /* Starting addr for bank 3 */
- #define MSAR1_BANK2_MSK 0x00ff0000 /* Starting addr for bank 2 */
- #define MSAR1_BANK1_MSK 0x0000ff00 /* Starting addr for bank 1 */
- #define MSAR1_BANK0_MSK 0x000000ff /* Starting addr for bank 0 */
- /* Memory Starting Address Register 2 - 0x84 */
- #define MSAR2_BANK7_MSK 0xff000000 /* Starting addr for bank 7 */
- #define MSAR2_BANK6_MSK 0x00ff0000 /* Starting addr for bank 6 */
- #define MSAR2_BANK5_MSK 0x0000ff00 /* Starting addr for bank 5 */
- #define MSAR2_BANK4_MSK 0x000000ff /* Starting addr for bank 4 */
- /* Extended Memory Start Address Register 1 - 0x88 */
- #define EMSAR1_BANK3_MSK 0x03000000 /* Extended starting addr 3 */
- #define EMSAR1_BANK2_MSK 0x00030000 /* Extended starting addr 2 */
- #define EMSAR1_BANK1_MSK 0x00000300 /* Extended starting addr 1 */
- #define EMSAR1_BANK0_MSK 0x00000003 /* Extended starting addr 0 */
- /* Extended Memory Start Address Register 2 - 0x8c */
- #define EMSAR2_BANK7_MSK 0x03000000 /* Extended starting addr 7 */
- #define EMSAR2_BANK6_MSK 0x00030000 /* Extended starting addr 6 */
- #define EMSAR2_BANK5_MSK 0x00000300 /* Extended starting addr 5 */
- #define EMSAR2_BANK4_MSK 0x00000003 /* Extended starting addr 4 */
- /* Memory Ending Address Register 1 - 0x90 */
- #define MEAR1_BANK3_MSK 0xff000000 /* Ending addr for bank 3 */
- #define MEAR1_BANK2_MSK 0x00ff0000 /* Ending addr for bank 2 */
- #define MEAR1_BANK1_MSK 0x0000ff00 /* Ending addr for bank 1 */
- #define MEAR1_BANK0_MSK 0x000000ff /* Ending addr for bank 0 */
- /* Memory Ending Address Register 2 - 0x94 */
- #define MEAR2_BANK7_MSK 0xff000000 /* Ending addr for bank 7 */
- #define MEAR2_BANK6_MSK 0x00ff0000 /* Ending addr for bank 6 */
- #define MEAR2_BANK5_MSK 0x0000ff00 /* Ending addr for bank 5 */
- #define MEAR2_BANK4_MSK 0x000000ff /* Ending addr for bank 4 */
- /* Extended Memory Ending Address Register 1 - 0x98 */
- #define EMEAR1_BANK3_MSK 0x03000000 /* Extended ending addr 3 */
- #define EMEAR1_BANK2_MSK 0x00030000 /* Extended ending addr 2 */
- #define EMEAR1_BANK1_MSK 0x00000300 /* Extended ending addr 1 */
- #define EMEAR1_BANK0_MSK 0x00000003 /* Extended ending addr 0 */
- /* Extended Memory Ending Address Register 2 - 0x9c */
- #define EMEAR2_BANK7_MSK 0x03000000 /* Extended ending addr 7 */
- #define EMEAR2_BANK6_MSK 0x00030000 /* Extended ending addr 6 */
- #define EMEAR2_BANK5_MSK 0x00000300 /* Extended ending addr 5 */
- #define EMEAR2_BANK4_MSK 0x00000003 /* Extended ending addr 4 */
- /* Memory Bank Enable Register - 0xa0 */
- #define MBER_BANK7 0x80 /* Enable/disable bank 7 */
- #define MBER_BANK6 0x40 /* Enable/disable bank 6 */
- #define MBER_BANK5 0x20 /* Enable/disable bank 5 */
- #define MBER_BANK4 0x10 /* Enable/disable bank 4 */
- #define MBER_BANK3 0x08 /* Enable/disable bank 3 */
- #define MBER_BANK2 0x04 /* Enable/disable bank 2 */
- #define MBER_BANK1 0x02 /* Enable/disable bank 1 */
- #define MBER_BANK0 0x01 /* Enable/disable bank 0 */
- /* Processor Interface Configuration Register 1 (PICR1) - 0xa8 */
- #define PICR1_CF_CBA_MASK 0xff000000 /* L2 copy-back address mask */
- #define PICR1_CF_CBA(n) ((n)<<24)
- #define PICR1_CF_BREAD_WS(n) ((n)<<22) /* Burst read wait states */
- #define PICR1_CF_CACHE_1G 0x00200000 /* L2 cache 0-1Gbyte only */
- #define PICR1_RCS0 0x00100000 /* ROM location: PCI or 60x */
- #define PICR1_XIO_MODE 0x00080000 /* Discontigous IO mode map A */
- #define PICR1_PROC_TYPE_MASK 0x00060000 /* Processor type */
- #define PICR1_PROC_TYPE_601 0x00000000 /* Processor type */
- #define PICR1_PROC_TYPE_603 0x00040000 /* Processor type */
- #define PICR1_PROC_TYPE_604 0x00060000 /* Processor type */
- #define PICR1_XATS 0x00010000 /* Address map: A or B */
- #define PICR1_CF_MP_ID 0x00008000 /* Multiprocessor id */
- #define PICR1_CF_LBA_EN 0x00002000 /* Local bus slave access en */
- #define PICR1_FLASH_WR_EN 0x00001000 /* Flash writes enable */
- #define PICR1_MCP_EN 0x00000800 /* Machine check enable */
- #define PICR1_TEA_EN 0x00000400 /* Transfer error enable */
- #define PICR1_CF_DPARK 0x00000200 /* 60x parked on data bus */
- #define PICR1_NO_PORT_REGS 0x00000080 /* No ext configuration reg */
- #define PICR1_ST_GATH_EN 0x00000040 /* Store gathering of writes */
- #define PICR1_LE_MODE 0x00000020 /* Little-Endian mode */
- #define PICR1_CF_LOOP_SNOOP 0x00000010 /* Snoop looping enable */
- #define PICR1_CF_APARK 0x00000008 /* 60x parked on address bus */
- #define PICR1_SPEC_PCI_READ 0x00000004 /* Speculative PCI reads en */
- #define PICR1_CF_L2_CACHE_MASK 0x00000003 /* L2/multiprocessor config. */
- #define PICR1_CF_L2_NOCACHE 0x00000000
- #define PICR1_CF_L2_WRITE_THROUGH 0x00000001
- #define PICR1_CF_L2_COPY_BACK 0x00000002
- #define PICR1_CF_L2_MP 0x00000003
- /* Processor Interface Configuration Register 2 (PICR2) - 0xac */
- #define PICR2_L2_UPDATE_EN 0x80000000 /* Update cache misses */
- #define PICR2_L2_EN 0x40000000 /* L2 cache enable */
- #define PICR2_CF_FLUSH_L2 0x10000000 /* Initiate L2 cache flush */
- #define PICR2_CF_BYTE_DECODE 0x02000000 /* on-chip byte-write decode */
- #define PICR2_CF_FAST_L2_MODE 0x01000000 /* Fast L2 mode timing */
- #define PICR2_CF_DATA_RAM_TYPE 0x00c00000 /* L2 data RAM type */
- #define PICR2_CF_DATA_RAM_SYNC 0x00000000
- #define PICR2_CF_DATA_RAM_ASYNC 0x00800000
- #define PICR2_CF_WMODE 0x00300000 /* SRAM write timing */
- #define PICR2_CF_WMODE_NORMAL 0x00100000
- #define PICR2_CF_WMODE_DELAY 0x00200000
- #define PICR2_CF_WMODE_EARLY 0x00300000
- #define PICR2_CF_SNOOP_WS(n) ((n)<<18) /* Snoop wait states */
- #define PICR2_CF_MOD_HIGH 0x00020000 /* Cache mod. signal polarity */
- #define PICR2_CF_HIT_HIGH 0x00010000 /* Cache HIT signal polarity */
- #define PICR2_CF_ADDR_ONLY_DISABLE 0x00004000 /* L2 normal operation */
- #define PICR2_CF_HOLD 0x00002000 /* L2 tag address hold */
- #define PICR2_CF_INV_MODE 0x00001000 /* L2 invalidate mode enable */
- #define PICR2_CF_L2_HIT_DELAY(n) ((n)<<9) /* L2 cache hit delay */
- #define PICR2_CF_BURST_RATE 0x00000100 /* L2 cache burst rate */
- #define PICR2_CF_FAST_CASTOUT 0x00000080 /* Fast L2 castout timing */
- #define PICR2_TOE_WIDTH 0x00000040 /* TOE active pulse width */
- #define PICR2_L2_SIZE 0x00000030 /* L2 cache size mask */
- #define PICR2_L2_SIZE_256K 0x00000000
- #define PICR2_L2_SIZE_512K 0x00000010
- #define PICR2_L2_SIZE_1MEG 0x00000020
- #define PICR2_CF_APHASE_WS(n) ((n)<<2) /* Address phase wait states */
- #define PICR2_CF_DOE 0x00000002 /* 1st data read access tim. */
- #define PICR2_CF_WDATA 0x00000001 /* 1st data write setup time */
- /* OS Visible Parameters Register 1 - 0xba */
- #define OS_VPR1_RX_SERR_EN 0X20 /* Assertion of SERR from other PCI */
- #define OS_VPR1_XIO_MODE 0X04 /* Contiguous IO mode address map A */
- #define OS_VPR1_TEA_EN 0X02 /* Transfer error enable */
- #define OS_VPR1_MCP_EN 0X01 /* Machine check enable */
- /* OS Visible Parameters Register 2 - 0xbb */
- #define OS_VPR2_FLASH_WR_EN 0x01 /* Flash write enable */
- /* Error Enable Register 1 (ERR_EN_R1) - 0xc0 */
- #define ERR_EN_R1_TGT_ABRT 0x80 /* PCI target-abort error */
- #define ERR_EN_R1_TGT_PERR 0x40 /* PCI target PERR */
- #define ERR_EN_R1_MEM_SEL_ER 0x20 /* Memory select error */
- #define ERR_EN_R1_MASTER_PERR 0x10 /* PCI master PERR */
- #define ERR_EN_R1_MEM_RD_PARITY 0x04 /* Memory read parity error */
- #define ERR_EN_R1_MASTER_ABRT 0x02 /* PCI master-abort error */
- #define ERR_EN_R1_60X_BUS_ER 0x01 /* 60x bus error */
- /* Error Detection Register 1 (ERR_DR1_PCI) - 0xc1 */
- #define ERR_DR1_PCI_SERR 0x80 /* PCI SERR signaled */
- #define ERR_DR1_TGT_PERR 0x40 /* PCI target PERR */
- #define ERR_DR1_MEM_SEL_ER 0x20 /* Memory select error */
- #define ERR_DR1_60XPCI_CYCLE 0x80 /* 60x/PCI cycle */
- #define ERR_DR1_MEM_RD_PARITY 0x40 /* Memory read parity error */
- #define ERR_DR1_NO_60XBUS_CYCLE 0x03 /* Unsupported 60x bus cycle */
- /* 60x Bus Error Status Register - 0xc3 */
- #define BESR_TT0_TT4 0xf8 /* TT0-TT4 signals copy */
- #define BESR_TSIZ0_TSIZ2 0x07 /* TSIZ0-TSIZ2 signals copy */
- /* Error Enable Register 2 (ERR_EN_R2) - 0xc4 */
- #define ERR_EN_R2_L2_PARITY 0x10 /* L2 Parity error */
- #define ERR_EN_R2_FLASHROM_WRT 0x01 /* FLASH ROM write error */
- /* Error Detection Register 2 (ERR_DR2) - 0xc5 */
- #define ERR_DR2_INVLD_ER_ADR 0x80 /* Invalid error address */
- #define ERR_DR2_L2_PARITY 0x10 /* L2 parity error */
- #define ERR_DR2_FLASHROM_WRT 0x01 /* FLASH ROM write error */
- /* PCI Bus Error Status Register - 0xc7 */
- #define PCI_BESR_MSTR_TGT 0x10 /* Master/target status */
- #define PCI_BESR_CBE3_CBE0 0x0f /* C/BE3-C/BE0 copy */
- /* 60x/PCI Error Address Register - 0xc8 */
- #define PCI_EAR_A24_A31_MSK 0xff000000 /* 60x: A24-A31 PCI: AD7-AD0 */
- #define PCI_EAR_A16_A23_MSK 0x00ff0000 /* 60x: A16-A23 PCI: AD15-AD8 */
- #define PCI_EAR_A8_A15_MSK 0x0000ff00 /* 60x: A8-A15 PCI: AD23-AD16 */
- #define PCI_EAR_A0_A7_MSK 0x000000ff /* 60x: A0-A7 PCI: AD31-AD24 */
- /* Memory Control Configuration Register 1 (MCCR1) - 0xf0 */
- #define MCCR1_ROMNAL_MASK 0xf0000000
- #define MCCR1_ROMNAL(n) ((n)<<28)
- #define MCCR1_ROMFAL_MASK 0x0f800000
- #define MCCR1_ROMFAL(n) ((n)<<23)
- #define MCCR1_FNR 0x00400000 /* Flash ROM configuration */
- #define MCCR1_32N64 0x00200000 /* 64/32 Bit data bus wide */
- #define MCCR1_BURST 0x00100000 /* Burst mode Rom access */
- #define MCCR1_MEMGO 0x00080000 /* MPC105 RAM interface enable*/
- #define MCCR1_SREN 0x00040000 /* DRam Self Refresh enable */
- #define MCCR1_RAMTYP 0x00020000 /* DRAM type (synch/standard) */
- #define MCCR1_PCKEN 0x00010000 /* Parity Check/gen. enable */
- #define MCCR1_BK7_9BITS 0x00000000 /* Bank 7 - 9 row bits */
- #define MCCR1_BK7_10BITS 0x00004000 /* Bank 7 - 10 row bits */
- #define MCCR1_BK7_11BITS 0x00008000 /* Bank 7 - 11 row bits */
- #define MCCR1_BK7_12BITS 0x0000c000 /* Bank 7 - 12 row bits */
- #define MCCR1_BK6_9BITS 0x00000000 /* Bank 6 - 9 row bits */
- #define MCCR1_BK6_10BITS 0x00001000 /* Bank 6 - 10 row bits */
- #define MCCR1_BK6_11BITS 0x00002000 /* Bank 6 - 11 row bits */
- #define MCCR1_BK6_12BITS 0x00003000 /* Bank 6 - 12 row bits */
- #define MCCR1_BK5_9BITS 0x00000000 /* Bank 5 - 9 row bits */
- #define MCCR1_BK5_10BITS 0x00000400 /* Bank 5 - 10 row bits */
- #define MCCR1_BK5_11BITS 0x00000800 /* Bank 5 - 11 row bits */
- #define MCCR1_BK5_12BITS 0x00000c00 /* Bank 5 - 12 row bits */
- #define MCCR1_BK4_9BITS 0x00000000 /* Bank 4 - 9 row bits */
- #define MCCR1_BK4_10BITS 0x00000100 /* Bank 4 - 10 row bits */
- #define MCCR1_BK4_11BITS 0x00000200 /* Bank 4 - 11 row bits */
- #define MCCR1_BK4_12BITS 0x00000300 /* Bank 4 - 12 row bits */
- #define MCCR1_BK3_9BITS 0x00000000 /* Bank 3 - 9 row bits */
- #define MCCR1_BK3_10BITS 0x00000040 /* Bank 3 - 10 row bits */
- #define MCCR1_BK3_11BITS 0x00000080 /* Bank 3 - 11 row bits */
- #define MCCR1_BK3_12BITS 0x000000c0 /* Bank 3 - 12 row bits */
- #define MCCR1_BK2_9BITS 0x00000000 /* Bank 2 - 9 row bits */
- #define MCCR1_BK2_10BITS 0x00000010 /* Bank 2 - 10 row bits */
- #define MCCR1_BK2_11BITS 0x00000020 /* Bank 2 - 11 row bits */
- #define MCCR1_BK2_12BITS 0x00000030 /* Bank 2 - 12 row bits */
- #define MCCR1_BK1_9BITS 0x00000000 /* Bank 1 - 9 row bits */
- #define MCCR1_BK1_10BITS 0x00000004 /* Bank 1 - 10 row bits */
- #define MCCR1_BK1_11BITS 0x00000008 /* Bank 1 - 11 row bits */
- #define MCCR1_BK1_12BITS 0x0000000c /* Bank 1 - 12 row bits */
- #define MCCR1_BK0_9BITS 0x00000000 /* Bank 0 - 9 row bits */
- #define MCCR1_BK0_10BITS 0x00000001 /* Bank 0 - 10 row bits */
- #define MCCR1_BK0_11BITS 0x00000002 /* Bank 0 - 11 row bits */
- #define MCCR1_BK0_12BITS 0x00000003 /* Bank 0 - 12 row bits */
- /* Memory Control Configuration Register 2 (MCCR2) - 0xf4 */
- #define MCCR2_SRF 0xfffc0000 /* Self-refesh entry delay */
- #define MCCR2_REFINT 0x0000fffc /* Refresh interval */
- #define MCCR2_BUF 0x00000002 /* Buffer mode */
- #define MCCR2_WMODE 0x00000001 /* 8 beats per burst */
- /* Memory Control Configuration Register 3 (MCCR3) - 0xf8 */
- #define MCCR3_RDTOACT_MSK 0xf0000000 /* Read to active interval */
- #define MCCR3_REFREC_MSK 0x0f000000 /* Refresh to active interval */
- #define MCCR3_RDLAT_MSK 0x00f00000 /* Data latency from read cmd */
- #define MCCR3_RAS6P_MSK 0x00078000 /* RAS assertion interval mask*/
- #define MCCR3_RAS6P(n) ((n)<<15) /* RAS assertion interval */
- #define MCCR3_CAS5_MSK 0x00007000 /* CAS assertion interval mask*/
- #define MCCR3_CAS5(n) ((n)<<12) /* CAS assertion interval */
- #define MCCR3_CP4_MSK 0x00000e00 /* CAS precharge interval mask*/
- #define MCCR3_CP4(n) ((n)<<9) /* CAS precharge interval */
- #define MCCR3_CAS3_MSK 0x000001c0 /* CAS assertion 1st access */
- #define MCCR3_CAS3(n) ((n)<<6) /* CAS assertion 1st access */
- #define MCCR3_RCD2_MSK 0x00000038 /* RAS to CAS delay interval */
- #define MCCR3_RCD2(n) ((n)<<3) /* RAS to CAS delay interval */
- #define MCCR3_RP1_MSK 0x00000007 /* RAS precharge interval */
- #define MCCR3_RP1(n) (n)/* RAS precharge interval */
- /* Memory Control Configuration Register 4 (MCCR4) - 0xfc */
- #define MCCR4_PRETOACT 0xf0000000 /* Precharge to act. intvl */
- #define MCCR4_ACTOPRE 0x0f000000 /* Activate to prech. intvl */
- #define MCCR4_WCBUF 0x00200000 /* Memory write buffer type */
- #define MCCR4_RCBUF 0x00100000 /* Memory read buffer type */
- #define MCCR4_SDMODE 0x000fff00 /* SDRAM mode register data */
- #define MCCR4_ACTORW 0x000000f0 /* Act. to read/write intvl */
- #define MCCR4_WRTOACT 0x0000000f /* Write to activate intvl */
- /* External Configuration Register 1 - 0x80000092 */
- #define ECR1_LE_MODE 0x02 /* Little-endian mode */
- /* External Configuration Register 2 - 0x8000081c */
- #define ECR2_L2_UPDATE_EN 0x80 /* Update cache misses */
- #define ECR2_L2_EN 0x40 /* L2 cache enable */
- #define ECR2_TEA_EN 0x20 /* Transfer error enable */
- #define ECR2_CF_FLUSH_L2 0x10 /* L2 cache flush */
- /* External Configuration Register 3 - 0x80000850 */
- #define ECR3_XIO_MODE 0x01 /* Contiguous IO mode address map A*/
- /* first parameter to mpc105Ioctl */
- #define MPC105_IOCTL_WRITE 0
- #define MPC105_IOCTL_READ 1
- #define MPC105_IOCTL_OR 2
- #define MPC105_IOCTL_AND 3
- #define MPC105_IOCTL_AND_OR 4
- #define MPC105_IOCTL_AND_NOT 5
- #define SWAP32(x) ((((x) & 0x000000ff) << 24) |
- (((x) & 0x0000ff00) << 8) |
- (((x) & 0x00ff0000) >> 8) |
- (((unsigned int)(x)) >> 24))
- #define B2L_ENDIAN(x) SWAP32(x)
- #define L2B_ENDIAN(x) SWAP32(x)
- #ifndef _ASMLANGUAGE
- #if defined(__STDC__) || defined(__cplusplus)
- extern void mpc105Init (void * devAddr);
- extern void mpc105Dram (void * devAddr, int boardType, int speedMhz);
- extern void mpc105Ioctl (int op, int regSize, int regNum,
- unsigned int wdata1, unsigned int wdata2);
- #else /* !__STDC__ */
- extern void mpc105Init ();
- extern void mpc105Dram ();
- extern void mpc105Ioctl ();
- #endif /* (__STDC__) || (__cplusplus) */
- #endif /* _ASMLANGUAGE */
- #ifdef __cplusplus
- }
- #endif
- #endif /* __INCmpc105h */