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

📄 mpc107meminit.h

📁 IXP425的BSP代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/* mpc107MemInit.h - MPC107 Memory Controller register definitions *//* Copyright 1984-2000 Wind River Systems, Inc. *//*modification history--------------------01a,06jun00,bri written*/#ifndef	__INCmpc107MemInith#define	__INCmpc107MemInith#ifdef __cplusplusextern "C" {#endif/* includes */#include "mpc107.h"/* defines *//* Memory control configuration Register #1 */#define MPC107_MCC1_ROMNAL_MASK     0xf0000000 /* ROM nibble access time mask */#define MPC107_MCC1_ROMNAL_SHIFT    28         /* ROM nibble access time shft */#define MPC107_MCC1_ROMFAL_MASK     0x0f800000 /* ROM first access time mask */#define MPC107_MCC1_ROMFAL_SHIFT    23         /* ROM first access time shift */#define MPC107_MCC1_DBUS_SIZE_MASK  0x00600000 /* ROM/FLASH DBUS size mask */#define MPC107_MCC1_64N32           0x00400000 /* 64-bit external data path */#define MPC107_MCC1_8N64            0x00200000 /* 8-bit ROM/Flash */#define MPC107_MCC1_BURST_MASK      0x00100000 /* burst mode ROM Mask */#define MPC107_MCC1_BURST_SHIFT     20         /* burst mode SHIFT */#define MPC107_MCC1_MEMGO_MASK      0x00080000 /* enable RAM interface mask */#define MPC107_MCC1_MEMGO_SHIFT     19         /* enable RAM interface shift */#define MPC107_MCC1_SREN_MASK       0x00040000 /* enable self refresh mask */#define MPC107_MCC1_SREN_SHIFT      18         /* enable self refresh shift */#define MPC107_MCC1_RAM_TYPE_MASK   0x00020000 /* RAM type: 0=SDRAM,1=FPM/EDO */#define MPC107_MCC1_RAM_TYPE_SHIFT  17         /* RAM type: 0=SDRAM,1=FPM/EDO */#define MPC107_MCC1_PCKEN_MASK      0x00010000 /* enable parity checking mask */#define MPC107_MCC1_PCKEN_SHIFT     16         /* enable parity checking shif */#define MPC107_MCC1_ROW_ADRS_MASK   0x0000ffff /* row address mask */#define MPC107_MCC1_ROMNAL_DATA     0xf      /* ROM nibble access time */#define MPC107_MCC1_ROMFAL_DATA     0xf8     /* ROM first access time  */#define MPC107_MCC1_BURST_DATA      0x0      /* burst mode type */#define MPC107_MCC1_MEMGO_DATA      0x0      /* enable RAM interface logic */#define MPC107_MCC1_SREN_DATA       0x0      /* enable self refresh  */#define MPC107_MCC1_RAM_TYPE_DATA   0x0      /* RAM type: 0=SDRAM,1=FPM/EDO */#define MPC107_MCC1_PCKEN_DATA      0x0      /* enable parity checking  */#define MPC107_MCC1_BANK0_ROWS      0x0      /* Number of rows for bank 0 */#define MPC107_MCC1_BANK1_ROWS      0x0      /* Number of rows for bank 1 */#define MPC107_MCC1_BANK2_ROWS      0x0      /* Number of rows for bank 2 */#define MPC107_MCC1_BANK3_ROWS      0x0      /* Number of rows for bank 3 */#define MPC107_MCC1_BANK4_ROWS      0x0      /* Number of rows for bank 4 */#define MPC107_MCC1_BANK5_ROWS      0x0      /* Number of rows for bank 5 */#define MPC107_MCC1_BANK6_ROWS      0x0      /* Number of rows for bank 6 */#define MPC107_MCC1_BANK7_ROWS      0x0      /* Number of rows for bank 7 */#define MPC107_MCC1_BANK7_ROWS_DATA   (MPC107_MCC1_BANK7_ROWS << 14)#define MPC107_MCC1_BANK6_ROWS_DATA   (MPC107_MCC1_BANK6_ROWS << 12)#define MPC107_MCC1_BANK5_ROWS_DATA   (MPC107_MCC1_BANK5_ROWS << 10)#define MPC107_MCC1_BANK4_ROWS_DATA   (MPC107_MCC1_BANK4_ROWS << 8)#define MPC107_MCC1_BANK3_ROWS_DATA   (MPC107_MCC1_BANK3_ROWS << 6)#define MPC107_MCC1_BANK2_ROWS_DATA   (MPC107_MCC1_BANK2_ROWS << 4)#define MPC107_MCC1_BANK1_ROWS_DATA   (MPC107_MCC1_BANK1_ROWS << 2)#define MPC107_MCC1_BANK0_ROWS_DATA   (MPC107_MCC1_BANK0_ROWS << 0)/* Memory control configuration  Register #2*/#define MPC107_MCC2_TS_WAIT_TIMER_M 0xe0000000  /* ROM out disable timing  */#define MPC107_MCC2_TS_WAIT_TIMER_S 29          /* mask and shift */#define MPC107_MCC2_ASRISE_MASK     0x1e000000  /* AS_ falling edge timing */#define MPC107_MCC2_ASRISE_SHIFT    25          /* mask and shift */#define MPC107_MCC2_ASFALL_MASK     0x01e00000  /* AS_ rising edge timing */#define MPC107_MCC2_ASFALL_SHIFT    21          /* mask and shift */#define MPC107_MCC2_PAR_OR_ECC_M    0x00100000  /* ECC/parity mechanism mask */#define MPC107_MCC2_PAR_OR_ECC_S    20          /* ECC/parity mechanism shift */#define MPC107_MCC2_WR_PAR_CHK_EN   0x00080000  /* write parity check enable */#define MPC107_MCC2_WR_PAR_CHK_M    0x00080000  /* write parity check mask */#define MPC107_MCC2_WR_PAR_CHK_S    19          /* write parity check shift */#define MPC107_MCC2_RD_PARECC_EN    0x00040000  /* inline mem bus read parity */#define MPC107_MCC2_RD_PARECC_M     0x00040000  /* inline mem bus read mask */#define MPC107_MCC2_RD_PARECC_S     18          /* inline mem bus read shift */#define MPC107_MCC2_ECCEN_MASK      0x00020000  /* ECC enable */#define MPC107_MCC2_ECCEN_SHIFT     17          /* ECC enable shift */#define MPC107_MCC2_EDO             0x00010000  /* EDO DRAM */#define MPC107_MCC2_REFINT_MASK     0x0000fffc  /* refresh interval mask */#define MPC107_MCC2_REFINT_SHIFT    2           /* refresh interval shift */#define MPC107_MCC2_RSV_PG_MASK     0x00000002  /* reserve 1 page mask */#define MPC107_MCC2_RSV_PG_SHIFT    1           /* reserve 1 page shift */#define MPC107_MCC2_RMW_PAR         0x00000001  /* parity gather/store */#define MPC107_MCC2_REFINT_DATA        0x000006b8  /* refresh interval data */#define MPC107_MCC2_TS_WAIT_TIMER_DATA 0x0       /* ROM out disable timing */#define MPC107_MCC2_ASRISE_DATA        0x0       /* AS_ falling edge timing */#define MPC107_MCC2_ASFALL_DATA        0x0       /* AS_ rising edge timing */#define MPC107_MCC2_EDO_DATA           0x0       /* EDO DRAM */#define MPC107_MCC2_ECCEN_DATA         0x0       /* ECC enable */#define MPC107_MCC2_PAR_OR_ECC_D       0x0       /* ECC/parity mechanism data */#define MPC107_MCC2_WR_PAR_CHK_D       0x0       /* write parity check enable */#define MPC107_MCC2_RD_PARECC_D        0x0       /* inline mem bus read data */#define MPC107_MCC2_RSV_PG_DATA        0x0       /* reserve 1 page data */#define MPC107_MCC2_RMW_PAR_DATA       0x0       /* parity gather/store *//* Memory control configuration  Register #3 */#define MPC107_MCC3_BSTOPRE_25_M    0xf0000000  /* burst to precharge timing */#define MPC107_MCC3_BSTOPRE_25_S    28          /* mask and shift */#define MPC107_MCC3_REFREC_MASK     0x0f000000  /* refresh to active interval */#define MPC107_MCC3_REFREC_SHIFT    24          /* timing mask and shift */#define MPC107_MCC3_RDLAT_MASK      0x00f00000  /* read data latency timing */#define MPC107_MCC3_RDLAT_SHIFT     20          /* mask and shift */#define MPC107_MCC3_CPX_MASK        0x00080000  /* CAS write timing */#define MPC107_MCC3_CPX_SHIFT       19          /* CAS write timing shift */#define MPC107_MCC3_CPX             0x00080000  /* CAS write timing */#define MPC107_MCC3_RAS6P_MASK      0x00078000  /* RAS low time for CBR */#define MPC107_MCC3_RAS6P_SHIFT     15          /* refresh shift and mask */#define MPC107_MCC3_CAS5_MASK       0x00007000  /* CAS low time for page mode */#define MPC107_MCC3_CAS5_SHIFT      12          /* access mask and shift */#define MPC107_MCC3_CP4_MASK        0x00000e00  /* CAS precharge mask */#define MPC107_MCC3_CP4_SHIFT       9           /* CAS precharge shift */#define MPC107_MCC3_CAS3_MASK       0x000001c0  /* CAS low time for first */#define MPC107_MCC3_CAS3_SHIFT      6           /* data access mask and shift */#define MPC107_MCC3_RCD2_MASK       0x00000038  /* RAS to CAS delay mask */#define MPC107_MCC3_RCD2_SHIFT      3           /* RAS to CAS delay shift */#define MPC107_MCC3_RP1_MASK        0x00000007  /* RAS precharge mask */#define MPC107_MCC3_RP1_SHIFT       2           /* RAS precharge shift */#define MPC107_MCC3_REFREC_DATA     0x8         /* refresh to active interval */#define MPC107_MCC3_RDLAT_DATA      0x4         /* read data latency timing */#define MPC107_MCC3_CPX_DATA        0           /* CAS write timing */#define MPC107_MCC3_RAS6P_DATA      0x0         /* RAS low time for CBR */#define MPC107_MCC3_CAS5_DATA       0x0         /* CAS low time for page mode */#define MPC107_MCC3_CP4_DATA        0x2         /* CAS precharge data */#define MPC107_MCC3_CAS3_DATA       0x4         /* CAS low time for first */#define MPC107_MCC3_RCD2_DATA       0x0         /* RAS to CAS delay */#define MPC107_MCC3_RP1_DATA        0x2         /* RAS precharge data *//* Burst to precharge for MCCR3 */#define MPC107_MCC3_BSTOPRE_DATA    ((MPC107_BSTOPRE_DATA & 0xf0) >> 4)/* Memory control configuration  Register #4 */#define MPC107_MCC4_PRETOACT_MASK   0xf0000000 /* precharge to active */#define MPC107_MCC4_PRETOACT_SHIFT          28 /* interval mask and shift */#define MPC107_MCC4_ACTOPRE_MASK    0x0f000000 /* active to precharge */#define MPC107_MCC4_ACTOPRE_SHIFT           24 /* interval mask and shift */#define MPC107_MCC4_WMODE_SHIFT             23 /* length of data */#define MPC107_MCC4_INLINE          0x00400000 /* inline ECC/parity chk enabl */#define MPC107_MCC4_REGISTERED      0x00100000 /* memory data interface */#define MPC107_MCC4_BSTOPRE_01_MASK 0x000c0000 /* burst to precharge timing */#define MPC107_MCC4_BSTOPRE_01_SHIFT	    18 /* mask and shift */#define MPC107_MCC4_REGDIMM	    0x00008000 /* config mem bus for DIMMs */#define MPC107_MCC4_SDMODE_CAS_SHF          12 /* CAS latency type shift */#define MPC107_MCC4_SDMODE_MASK     0x00007f00 /* SDRAM mode mask */#define MPC107_MCC4_SDMODE_SHIFT             8 /* SDRAM mode shift */#define MPC107_MCC4_ACTORW_MASK     0x000000f0 /* activate to read/write */#define MPC107_MCC4_ACTORW_SHIFT             4 /* interval mask and shift */#define MPC107_MCC4_BSTOPRE_69_MASK 0x0000000f /* burst to prechrg timing msk */#define MPC107_MCC4_PRETOACT_DATA     0x03  /* precharge to active data */#define MPC107_MCC4_ACTOPRE_DATA      0x05  /* active to precharge data */#define MPC107_MCC4_WMODE_DATA        0x01  /* Length of burst for 32bit data */#define MPC107_MCC4_BUFTYPE_DATA      MPC107_MCC4_INLINE /* buffer type */#define MPC107_BSTOPRE_DATA           0x07A   /* burst to precharge timing */#define MPC107_MCC4_SDMODE_DATA       0x0     /* CAS latency type  */#define MPC107_MCC4_ACTORW_DATA       0x3     /* activate to read/write *//* Bitmasks to enable memory banks 0 - 7, used in config.h */#define MPC107_BANK0_ENABLE	  0x1 	        /* 1/0 Enable/Disable BANK 0 */#define MPC107_BANK1_ENABLE	  0x0	        /* 1/0 Enable/Disable BANK 1 */#define MPC107_BANK2_ENABLE	  0x0           /* 1/0 Enable/Disable BANK 2 */#define MPC107_BANK3_ENABLE       0x0           /* 1/0 Enable/Disable BANK 3 */#define MPC107_BANK4_ENABLE       0x0           /* 1/0 Enable/Disable BANK 4 */#define MPC107_BANK5_ENABLE       0x0           /* 1/0 Enable/Disable BANK 5 */#define MPC107_BANK6_ENABLE       0x0           /* 1/0 Enable/Disable BANK 6 */#define MPC107_BANK7_ENABLE       0x0           /* 1/0 Enable/Disable BANK 7 */#define MPC107_BANK0_ENABLE_DATA  (MPC107_BANK0_ENABLE << 0x0 ) /* BANK 0 */#define MPC107_BANK1_ENABLE_DATA  (MPC107_BANK1_ENABLE << 0x1 ) /* BANK 1 */#define MPC107_BANK2_ENABLE_DATA  (MPC107_BANK2_ENABLE << 0x2 ) /* BANK 2 */#define MPC107_BANK3_ENABLE_DATA  (MPC107_BANK3_ENABLE << 0x3 ) /* BANK 3 */#define MPC107_BANK4_ENABLE_DATA  (MPC107_BANK4_ENABLE << 0x4 ) /* BANK 4 */#define MPC107_BANK5_ENABLE_DATA  (MPC107_BANK5_ENABLE << 0x5 ) /* BANK 5 */#define MPC107_BANK6_ENABLE_DATA  (MPC107_BANK6_ENABLE << 0x6 ) /* BANK 6 */#define MPC107_BANK7_ENABLE_DATA  (MPC107_BANK7_ENABLE << 0x7 ) /* BANK 7 *//* memory bank sizes */#define MPC107_BANK0_SIZE	0x01000000	/* 16MB - 1/2 32MB DIMM */#define MPC107_BANK1_SIZE	0x01000000	/* 16MB - 1/2 32MB DIMM */#define MPC107_BANK2_SIZE	0x01000000	/* 16MB - 1/2 32MB DIMM */#define MPC107_BANK3_SIZE	0x01000000	/* 16MB - 1/2 32MB DIMM */#define MPC107_BANK4_SIZE	0x01000000	/* 16MB - 1/2 32MB DIMM */#define MPC107_BANK5_SIZE	0x01000000	/* 16MB - 1/2 32MB DIMM */#define MPC107_BANK6_SIZE	0x01000000	/* 16MB - 1/2 32MB DIMM */#define MPC107_BANK7_SIZE	0x01000000	/* 16MB - 1/2 32MB DIMM *//* * The macros MPC107_BANK[x]_ADRS indicate the starting addresses of * each memory bank.   The default definitions provide for a contiguous * and non-overlapping memory map for the eight banks regardless of the * defined size of each bank. * * The only configurable options are the BANK enables and the BANK * sizes which are fully configurable by the user. *//* carve up a valid mapping based on  sizes */#define MPC107_BANK0_ADRS	0x00000000	/* Mem starts at 0x0 */#define MPC107_BANK1_ADRS	(MPC107_BANK0_ADRS + MPC107_BANK0_SIZE)#define MPC107_BANK2_ADRS	(MPC107_BANK1_ADRS + MPC107_BANK1_SIZE)#define MPC107_BANK3_ADRS	(MPC107_BANK2_ADRS + MPC107_BANK2_SIZE)#define MPC107_BANK4_ADRS	(MPC107_BANK3_ADRS + MPC107_BANK3_SIZE)

⌨️ 快捷键说明

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