mpc83xx.h
来自「uboot详细解读可用启动引导LINUX2.6内核」· C头文件 代码 · 共 1,251 行 · 第 1/3 页
H
1,251 行
#define CSCONFIG_COL_BIT_8 0x00000000#define CSCONFIG_COL_BIT_9 0x00000001#define CSCONFIG_COL_BIT_10 0x00000002#define CSCONFIG_COL_BIT_11 0x00000003/* TIMING_CFG_0 - DDR SDRAM Timing Configuration 0 */#define TIMING_CFG0_RWT 0xC0000000#define TIMING_CFG0_RWT_SHIFT 30#define TIMING_CFG0_WRT 0x30000000#define TIMING_CFG0_WRT_SHIFT 28#define TIMING_CFG0_RRT 0x0C000000#define TIMING_CFG0_RRT_SHIFT 26#define TIMING_CFG0_WWT 0x03000000#define TIMING_CFG0_WWT_SHIFT 24#define TIMING_CFG0_ACT_PD_EXIT 0x00700000#define TIMING_CFG0_ACT_PD_EXIT_SHIFT 20#define TIMING_CFG0_PRE_PD_EXIT 0x00070000#define TIMING_CFG0_PRE_PD_EXIT_SHIFT 16#define TIMING_CFG0_ODT_PD_EXIT 0x00000F00#define TIMING_CFG0_ODT_PD_EXIT_SHIFT 8#define TIMING_CFG0_MRS_CYC 0x0000000F#define TIMING_CFG0_MRS_CYC_SHIFT 0/* TIMING_CFG_1 - DDR SDRAM Timing Configuration 1 */#define TIMING_CFG1_PRETOACT 0x70000000#define TIMING_CFG1_PRETOACT_SHIFT 28#define TIMING_CFG1_ACTTOPRE 0x0F000000#define TIMING_CFG1_ACTTOPRE_SHIFT 24#define TIMING_CFG1_ACTTORW 0x00700000#define TIMING_CFG1_ACTTORW_SHIFT 20#define TIMING_CFG1_CASLAT 0x00070000#define TIMING_CFG1_CASLAT_SHIFT 16#define TIMING_CFG1_REFREC 0x0000F000#define TIMING_CFG1_REFREC_SHIFT 12#define TIMING_CFG1_WRREC 0x00000700#define TIMING_CFG1_WRREC_SHIFT 8#define TIMING_CFG1_ACTTOACT 0x00000070#define TIMING_CFG1_ACTTOACT_SHIFT 4#define TIMING_CFG1_WRTORD 0x00000007#define TIMING_CFG1_WRTORD_SHIFT 0#define TIMING_CFG1_CASLAT_20 0x00030000 /* CAS latency = 2.0 */#define TIMING_CFG1_CASLAT_25 0x00040000 /* CAS latency = 2.5 */#define TIMING_CFG1_CASLAT_30 0x00050000 /* CAS latency = 2.5 *//* TIMING_CFG_2 - DDR SDRAM Timing Configuration 2 */#define TIMING_CFG2_CPO 0x0F800000#define TIMING_CFG2_CPO_SHIFT 23#define TIMING_CFG2_ACSM 0x00080000#define TIMING_CFG2_WR_DATA_DELAY 0x00001C00#define TIMING_CFG2_WR_DATA_DELAY_SHIFT 10#define TIMING_CFG2_CPO_DEF 0x00000000 /* default (= CASLAT + 1) */#define TIMING_CFG2_ADD_LAT 0x70000000#define TIMING_CFG2_ADD_LAT_SHIFT 28#define TIMING_CFG2_WR_LAT_DELAY 0x00380000#define TIMING_CFG2_WR_LAT_DELAY_SHIFT 19#define TIMING_CFG2_RD_TO_PRE 0x0000E000#define TIMING_CFG2_RD_TO_PRE_SHIFT 13#define TIMING_CFG2_CKE_PLS 0x000001C0#define TIMING_CFG2_CKE_PLS_SHIFT 6#define TIMING_CFG2_FOUR_ACT 0x0000003F#define TIMING_CFG2_FOUR_ACT_SHIFT 0/* DDR_SDRAM_CFG - DDR SDRAM Control Configuration */#define SDRAM_CFG_MEM_EN 0x80000000#define SDRAM_CFG_SREN 0x40000000#define SDRAM_CFG_ECC_EN 0x20000000#define SDRAM_CFG_RD_EN 0x10000000#define SDRAM_CFG_SDRAM_TYPE_DDR1 0x02000000#define SDRAM_CFG_SDRAM_TYPE_DDR2 0x03000000#define SDRAM_CFG_SDRAM_TYPE_MASK 0x07000000#define SDRAM_CFG_SDRAM_TYPE_SHIFT 24#define SDRAM_CFG_DYN_PWR 0x00200000#define SDRAM_CFG_32_BE 0x00080000#define SDRAM_CFG_8_BE 0x00040000#define SDRAM_CFG_NCAP 0x00020000#define SDRAM_CFG_2T_EN 0x00008000#define SDRAM_CFG_BI 0x00000001/* DDR_SDRAM_MODE - DDR SDRAM Mode Register */#define SDRAM_MODE_ESD 0xFFFF0000#define SDRAM_MODE_ESD_SHIFT 16#define SDRAM_MODE_SD 0x0000FFFF#define SDRAM_MODE_SD_SHIFT 0#define DDR_MODE_EXT_MODEREG 0x4000 /* select extended mode reg */#define DDR_MODE_EXT_OPMODE 0x3FF8 /* operating mode, mask */#define DDR_MODE_EXT_OP_NORMAL 0x0000 /* normal operation */#define DDR_MODE_QFC 0x0004 /* QFC / compatibility, mask */#define DDR_MODE_QFC_COMP 0x0000 /* compatible to older SDRAMs */#define DDR_MODE_WEAK 0x0002 /* weak drivers */#define DDR_MODE_DLL_DIS 0x0001 /* disable DLL */#define DDR_MODE_CASLAT 0x0070 /* CAS latency, mask */#define DDR_MODE_CASLAT_15 0x0010 /* CAS latency 1.5 */#define DDR_MODE_CASLAT_20 0x0020 /* CAS latency 2 */#define DDR_MODE_CASLAT_25 0x0060 /* CAS latency 2.5 */#define DDR_MODE_CASLAT_30 0x0030 /* CAS latency 3 */#define DDR_MODE_BTYPE_SEQ 0x0000 /* sequential burst */#define DDR_MODE_BTYPE_ILVD 0x0008 /* interleaved burst */#define DDR_MODE_BLEN_2 0x0001 /* burst length 2 */#define DDR_MODE_BLEN_4 0x0002 /* burst length 4 */#define DDR_REFINT_166MHZ_7US 1302 /* exact value for 7.8125us */#define DDR_BSTOPRE 256 /* use 256 cycles as a starting point */#define DDR_MODE_MODEREG 0x0000 /* select mode register *//* DDR_SDRAM_INTERVAL - DDR SDRAM Interval Register */#define SDRAM_INTERVAL_REFINT 0x3FFF0000#define SDRAM_INTERVAL_REFINT_SHIFT 16#define SDRAM_INTERVAL_BSTOPRE 0x00003FFF#define SDRAM_INTERVAL_BSTOPRE_SHIFT 0/* DDR_SDRAM_CLK_CNTL - DDR SDRAM Clock Control Register */#define DDR_SDRAM_CLK_CNTL_SS_EN 0x80000000#define DDR_SDRAM_CLK_CNTL_CLK_ADJUST_025 0x01000000#define DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05 0x02000000#define DDR_SDRAM_CLK_CNTL_CLK_ADJUST_075 0x03000000#define DDR_SDRAM_CLK_CNTL_CLK_ADJUST_1 0x04000000/* ECC_ERR_INJECT - Memory data path error injection mask ECC */#define ECC_ERR_INJECT_EMB (0x80000000>>22) /* ECC Mirror Byte */#define ECC_ERR_INJECT_EIEN (0x80000000>>23) /* Error Injection Enable */#define ECC_ERR_INJECT_EEIM (0xff000000>>24) /* ECC Erroe Injection Enable */#define ECC_ERR_INJECT_EEIM_SHIFT 0/* CAPTURE_ECC - Memory data path read capture ECC */#define CAPTURE_ECC_ECE (0xff000000>>24)#define CAPTURE_ECC_ECE_SHIFT 0/* ERR_DETECT - Memory error detect */#define ECC_ERROR_DETECT_MME (0x80000000>>0) /* Multiple Memory Errors */#define ECC_ERROR_DETECT_MBE (0x80000000>>28) /* Multiple-Bit Error */#define ECC_ERROR_DETECT_SBE (0x80000000>>29) /* Single-Bit ECC Error Pickup */#define ECC_ERROR_DETECT_MSE (0x80000000>>31) /* Memory Select Error *//* ERR_DISABLE - Memory error disable */#define ECC_ERROR_DISABLE_MBED (0x80000000>>28) /* Multiple-Bit ECC Error Disable */#define ECC_ERROR_DISABLE_SBED (0x80000000>>29) /* Sinle-Bit ECC Error disable */#define ECC_ERROR_DISABLE_MSED (0x80000000>>31) /* Memory Select Error Disable */#define ECC_ERROR_ENABLE ~(ECC_ERROR_DISABLE_MSED | ECC_ERROR_DISABLE_SBED |\ ECC_ERROR_DISABLE_MBED)/* ERR_INT_EN - Memory error interrupt enable */#define ECC_ERR_INT_EN_MBEE (0x80000000>>28) /* Multiple-Bit ECC Error Interrupt Enable */#define ECC_ERR_INT_EN_SBEE (0x80000000>>29) /* Single-Bit ECC Error Interrupt Enable */#define ECC_ERR_INT_EN_MSEE (0x80000000>>31) /* Memory Select Error Interrupt Enable */#define ECC_ERR_INT_DISABLE ~(ECC_ERR_INT_EN_MBEE | ECC_ERR_INT_EN_SBEE |\ ECC_ERR_INT_EN_MSEE)/* CAPTURE_ATTRIBUTES - Memory error attributes capture */#define ECC_CAPT_ATTR_BNUM (0xe0000000>>1) /* Data Beat Num */#define ECC_CAPT_ATTR_BNUM_SHIFT 28#define ECC_CAPT_ATTR_TSIZ (0xc0000000>>6) /* Transaction Size */#define ECC_CAPT_ATTR_TSIZ_FOUR_DW 0#define ECC_CAPT_ATTR_TSIZ_ONE_DW 1#define ECC_CAPT_ATTR_TSIZ_TWO_DW 2#define ECC_CAPT_ATTR_TSIZ_THREE_DW 3#define ECC_CAPT_ATTR_TSIZ_SHIFT 24#define ECC_CAPT_ATTR_TSRC (0xf8000000>>11) /* Transaction Source */#define ECC_CAPT_ATTR_TSRC_E300_CORE_DT 0x0#define ECC_CAPT_ATTR_TSRC_E300_CORE_IF 0x2#define ECC_CAPT_ATTR_TSRC_TSEC1 0x4#define ECC_CAPT_ATTR_TSRC_TSEC2 0x5#define ECC_CAPT_ATTR_TSRC_USB (0x06|0x07)#define ECC_CAPT_ATTR_TSRC_ENCRYPT 0x8#define ECC_CAPT_ATTR_TSRC_I2C 0x9#define ECC_CAPT_ATTR_TSRC_JTAG 0xA#define ECC_CAPT_ATTR_TSRC_PCI1 0xD#define ECC_CAPT_ATTR_TSRC_PCI2 0xE#define ECC_CAPT_ATTR_TSRC_DMA 0xF#define ECC_CAPT_ATTR_TSRC_SHIFT 16#define ECC_CAPT_ATTR_TTYP (0xe0000000>>18) /* Transaction Type */#define ECC_CAPT_ATTR_TTYP_WRITE 0x1#define ECC_CAPT_ATTR_TTYP_READ 0x2#define ECC_CAPT_ATTR_TTYP_R_M_W 0x3#define ECC_CAPT_ATTR_TTYP_SHIFT 12#define ECC_CAPT_ATTR_VLD (0x80000000>>31) /* Valid *//* ERR_SBE - Single bit ECC memory error management */#define ECC_ERROR_MAN_SBET (0xff000000>>8) /* Single-Bit Error Threshold 0..255 */#define ECC_ERROR_MAN_SBET_SHIFT 16#define ECC_ERROR_MAN_SBEC (0xff000000>>24) /* Single Bit Error Counter 0..255 */#define ECC_ERROR_MAN_SBEC_SHIFT 0/* DMAMR - DMA Mode Register */#define DMA_CHANNEL_START 0x00000001 /* Bit - DMAMRn CS */#define DMA_CHANNEL_TRANSFER_MODE_DIRECT 0x00000004 /* Bit - DMAMRn CTM */#define DMA_CHANNEL_SOURCE_ADRESSS_HOLD_EN 0x00001000 /* Bit - DMAMRn SAHE */#define DMA_CHANNEL_SOURCE_ADDRESS_HOLD_1B 0x00000000 /* 2Bit- DMAMRn SAHTS 1byte */#define DMA_CHANNEL_SOURCE_ADDRESS_HOLD_2B 0x00004000 /* 2Bit- DMAMRn SAHTS 2bytes */#define DMA_CHANNEL_SOURCE_ADDRESS_HOLD_4B 0x00008000 /* 2Bit- DMAMRn SAHTS 4bytes */#define DMA_CHANNEL_SOURCE_ADDRESS_HOLD_8B 0x0000c000 /* 2Bit- DMAMRn SAHTS 8bytes */#define DMA_CHANNEL_SNOOP 0x00010000 /* Bit - DMAMRn DMSEN *//* DMASR - DMA Status Register */#define DMA_CHANNEL_BUSY 0x00000004 /* Bit - DMASRn CB */#define DMA_CHANNEL_TRANSFER_ERROR 0x00000080 /* Bit - DMASRn TE *//* CONFIG_ADDRESS - PCI Config Address Register */#define PCI_CONFIG_ADDRESS_EN 0x80000000#define PCI_CONFIG_ADDRESS_BN_SHIFT 16#define PCI_CONFIG_ADDRESS_BN_MASK 0x00ff0000#define PCI_CONFIG_ADDRESS_DN_SHIFT 11#define PCI_CONFIG_ADDRESS_DN_MASK 0x0000f800#define PCI_CONFIG_ADDRESS_FN_SHIFT 8#define PCI_CONFIG_ADDRESS_FN_MASK 0x00000700#define PCI_CONFIG_ADDRESS_RN_SHIFT 0#define PCI_CONFIG_ADDRESS_RN_MASK 0x000000fc/* POTAR - PCI Outbound Translation Address Register */#define POTAR_TA_MASK 0x000fffff/* POBAR - PCI Outbound Base Address Register */#define POBAR_BA_MASK 0x000fffff/* POCMR - PCI Outbound Comparision Mask Register */#define POCMR_EN 0x80000000#define POCMR_IO 0x40000000 /* 0-memory space 1-I/O space */#define POCMR_SE 0x20000000 /* streaming enable */#define POCMR_DST 0x10000000 /* 0-PCI1 1-PCI2 */#define POCMR_CM_MASK 0x000fffff#define POCMR_CM_4G 0x00000000#define POCMR_CM_2G 0x00080000#define POCMR_CM_1G 0x000C0000#define POCMR_CM_512M 0x000E0000#define POCMR_CM_256M 0x000F0000#define POCMR_CM_128M 0x000F8000#define POCMR_CM_64M 0x000FC000#define POCMR_CM_32M 0x000FE000#define POCMR_CM_16M 0x000FF000#define POCMR_CM_8M 0x000FF800#define POCMR_CM_4M 0x000FFC00#define POCMR_CM_2M 0x000FFE00#define POCMR_CM_1M 0x000FFF00#define POCMR_CM_512K 0x000FFF80#define POCMR_CM_256K 0x000FFFC0#define POCMR_CM_128K 0x000FFFE0#define POCMR_CM_64K 0x000FFFF0#define POCMR_CM_32K 0x000FFFF8#define POCMR_CM_16K 0x000FFFFC#define POCMR_CM_8K 0x000FFFFE#define POCMR_CM_4K 0x000FFFFF/* PITAR - PCI Inbound Translation Address Register */#define PITAR_TA_MASK 0x000fffff/* PIBAR - PCI Inbound Base/Extended Address Register */#define PIBAR_MASK 0xffffffff#define PIEBAR_EBA_MASK 0x000fffff/* PIWAR - PCI Inbound Windows Attributes Register */#define PIWAR_EN 0x80000000#define PIWAR_PF 0x20000000#define PIWAR_RTT_MASK 0x000f0000#define PIWAR_RTT_NO_SNOOP 0x00040000#define PIWAR_RTT_SNOOP 0x00050000#define PIWAR_WTT_MASK 0x0000f000#define PIWAR_WTT_NO_SNOOP 0x00004000#define PIWAR_WTT_SNOOP 0x00005000#define PIWAR_IWS_MASK 0x0000003F#define PIWAR_IWS_4K 0x0000000B#define PIWAR_IWS_8K 0x0000000C#define PIWAR_IWS_16K 0x0000000D#define PIWAR_IWS_32K 0x0000000E#define PIWAR_IWS_64K 0x0000000F#define PIWAR_IWS_128K 0x00000010#define PIWAR_IWS_256K 0x00000011#define PIWAR_IWS_512K 0x00000012#define PIWAR_IWS_1M 0x00000013#define PIWAR_IWS_2M 0x00000014#define PIWAR_IWS_4M 0x00000015#define PIWAR_IWS_8M 0x00000016#define PIWAR_IWS_16M 0x00000017#define PIWAR_IWS_32M 0x00000018#define PIWAR_IWS_64M 0x00000019#define PIWAR_IWS_128M 0x0000001A#define PIWAR_IWS_256M 0x0000001B#define PIWAR_IWS_512M 0x0000001C#define PIWAR_IWS_1G 0x0000001D#define PIWAR_IWS_2G 0x0000001E/* PMCCR1 - PCI Configuration Register 1 */#define PMCCR1_POWER_OFF 0x00000020/* FMR - Flash Mode Register */#define FMR_CWTO 0x0000F000#define FMR_CWTO_SHIFT 12#define FMR_BOOT 0x00000800#define FMR_ECCM 0x00000100#define FMR_AL 0x00000030#define FMR_AL_SHIFT 4#define FMR_OP 0x00000003#define FMR_OP_SHIFT 0/* FIR - Flash Instruction Register */#define FIR_OP0 0xF0000000#define FIR_OP0_SHIFT 28#define FIR_OP1 0x0F000000#define FIR_OP1_SHIFT 24#define FIR_OP2 0x00F00000#define FIR_OP2_SHIFT 20#define FIR_OP3 0x000F0000#define FIR_OP3_SHIFT 16#define FIR_OP4 0x0000F000#define FIR_OP4_SHIFT 12#define FIR_OP5 0x00000F00#define FIR_OP5_SHIFT 8#define FIR_OP6 0x000000F0#define FIR_OP6_SHIFT 4#define FIR_OP7 0x0000000F#define FIR_OP7_SHIFT 0#define FIR_OP_NOP 0x0 /* No operation and end of sequence */#define FIR_OP_CA 0x1 /* Issue current column address */#define FIR_OP_PA 0x2 /* Issue current block+page address */#define FIR_OP_UA 0x3 /* Issue user defined address */#define FIR_OP_CM0 0x4 /* Issue command from FCR[CMD0] */#define FIR_OP_CM1 0x5 /* Issue command from FCR[CMD1] */#define FIR_OP_CM2 0x6 /* Issue command from FCR[CMD2] */#define FIR_OP_CM3 0x7 /* Issue command from FCR[CMD3] */#define FIR_OP_WB 0x8 /* Write FBCR bytes from FCM buffer */#define FIR_OP_WS 0x9 /* Write 1 or 2 bytes from MDR[AS] */#define FIR_OP_RB 0xA /* Read FBCR bytes to FCM buffer */#define FIR_OP_RS 0xB /* Read 1 or 2 bytes to MDR[AS] */#define FIR_OP_CW0 0xC /* Wait then issue FCR[CMD0] */#define FIR_OP_CW1 0xD /* Wait then issue FCR[CMD1] */#define FIR_OP_RBW 0xE /* Wait then read FBCR bytes */#define FIR_OP_RSW 0xF /* Wait then read 1 or 2 bytes *//* FCR - Flash Command Register */#define FCR_CMD0 0xFF000000#define FCR_CMD0_SHIFT 24#define FCR_CMD1 0x00FF0000#define FCR_CMD1_SHIFT 16#define FCR_CMD2 0x0000FF00#define FCR_CMD2_SHIFT 8#define FCR_CMD3 0x000000FF#define FCR_CMD3_SHIFT 0/* FBAR - Flash Block Address Register */#define FBAR_BLK 0x00FFFFFF/* FPAR - Flash Page Address Register */#define FPAR_SP_PI 0x00007C00#define FPAR_SP_PI_SHIFT 10#define FPAR_SP_MS 0x00000200#define FPAR_SP_CI 0x000001FF#define FPAR_SP_CI_SHIFT 0#define FPAR_LP_PI 0x0003F000#define FPAR_LP_PI_SHIFT 12#define FPAR_LP_MS 0x00000800#define FPAR_LP_CI 0x000007FF#define FPAR_LP_CI_SHIFT 0/* LTESR - Transfer Error Status Register */#define LTESR_BM 0x80000000#define LTESR_FCT 0x40000000#define LTESR_PAR 0x20000000#define LTESR_WP 0x04000000#define LTESR_ATMW 0x00800000#define LTESR_ATMR 0x00400000#define LTESR_CS 0x00080000#define LTESR_CC 0x00000001/* DDRCDR - DDR Control Driver Register */#define DDRCDR_DHC_EN 0x80000000#define DDRCDR_EN 0x40000000#define DDRCDR_PZ 0x3C000000#define DDRCDR_PZ_MAXZ 0x00000000#define DDRCDR_PZ_HIZ 0x20000000#define DDRCDR_PZ_NOMZ 0x30000000#define DDRCDR_PZ_LOZ 0x38000000#define DDRCDR_PZ_MINZ 0x3C000000#define DDRCDR_NZ 0x3C000000#define DDRCDR_NZ_MAXZ 0x00000000#define DDRCDR_NZ_HIZ 0x02000000#define DDRCDR_NZ_NOMZ 0x03000000#define DDRCDR_NZ_LOZ 0x03800000#define DDRCDR_NZ_MINZ 0x03C00000#define DDRCDR_ODT 0x00080000#define DDRCDR_DDR_CFG 0x00040000#define DDRCDR_M_ODR 0x00000002#define DDRCDR_Q_DRN 0x00000001#ifndef __ASSEMBLY__struct pci_region;void mpc83xx_pci_init(int num_buses, struct pci_region **reg, int warmboot);#endif#endif /* __MPC83XX_H__ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?