📄 immap_85xx.h
字号:
/* * MPC85xx Internal Memory Map * * Copyright(c) 2002,2003 Motorola Inc. * Xianghua Xiao (x.xiao@motorola.com) * */#ifndef __IMMAP_85xx__#define __IMMAP_85xx__/* * Local-Access Registers and ECM Registers(0x0000-0x2000) */typedef struct ccsr_local_ecm { uint ccsrbar; /* 0x0 - Control Configuration Status Registers Base Address Register */ char res1[4]; uint altcbar; /* 0x8 - Alternate Configuration Base Address Register */ char res2[4]; uint altcar; /* 0x10 - Alternate Configuration Attribute Register */ char res3[12]; uint bptr; /* 0x20 - Boot Page Translation Register */ char res4[3044]; uint lawbar0; /* 0xc08 - Local Access Window 0 Base Address Register */ char res5[4]; uint lawar0; /* 0xc10 - Local Access Window 0 Attributes Register */ char res6[20]; uint lawbar1; /* 0xc28 - Local Access Window 1 Base Address Register */ char res7[4]; uint lawar1; /* 0xc30 - Local Access Window 1 Attributes Register */ char res8[20]; uint lawbar2; /* 0xc48 - Local Access Window 2 Base Address Register */ char res9[4]; uint lawar2; /* 0xc50 - Local Access Window 2 Attributes Register */ char res10[20]; uint lawbar3; /* 0xc68 - Local Access Window 3 Base Address Register */ char res11[4]; uint lawar3; /* 0xc70 - Local Access Window 3 Attributes Register */ char res12[20]; uint lawbar4; /* 0xc88 - Local Access Window 4 Base Address Register */ char res13[4]; uint lawar4; /* 0xc90 - Local Access Window 4 Attributes Register */ char res14[20]; uint lawbar5; /* 0xca8 - Local Access Window 5 Base Address Register */ char res15[4]; uint lawar5; /* 0xcb0 - Local Access Window 5 Attributes Register */ char res16[20]; uint lawbar6; /* 0xcc8 - Local Access Window 6 Base Address Register */ char res17[4]; uint lawar6; /* 0xcd0 - Local Access Window 6 Attributes Register */ char res18[20]; uint lawbar7; /* 0xce8 - Local Access Window 7 Base Address Register */ char res19[4]; uint lawar7; /* 0xcf0 - Local Access Window 7 Attributes Register */ char res20[780]; uint eebacr; /* 0x1000 - ECM CCB Address Configuration Register */ char res21[12]; uint eebpcr; /* 0x1010 - ECM CCB Port Configuration Register */ char res22[3564]; uint eedr; /* 0x1e00 - ECM Error Detect Register */ char res23[4]; uint eeer; /* 0x1e08 - ECM Error Enable Register */ uint eeatr; /* 0x1e0c - ECM Error Attributes Capture Register */ uint eeadr; /* 0x1e10 - ECM Error Address Capture Register */ char res24[492];} ccsr_local_ecm_t;/* * DDR memory controller registers(0x2000-0x3000) */typedef struct ccsr_ddr { uint cs0_bnds; /* 0x2000 - DDR Chip Select 0 Memory Bounds */ char res1[4]; uint cs1_bnds; /* 0x2008 - DDR Chip Select 1 Memory Bounds */ char res2[4]; uint cs2_bnds; /* 0x2010 - DDR Chip Select 2 Memory Bounds */ char res3[4]; uint cs3_bnds; /* 0x2018 - DDR Chip Select 3 Memory Bounds */ char res4[100]; uint cs0_config; /* 0x2080 - DDR Chip Select Configuration */ uint cs1_config; /* 0x2084 - DDR Chip Select Configuration */ uint cs2_config; /* 0x2088 - DDR Chip Select Configuration */ uint cs3_config; /* 0x208c - DDR Chip Select Configuration */ char res5[112]; uint ext_refrec; /* 0x2100 - DDR SDRAM Extended Refresh Recovery */ uint timing_cfg_0; /* 0x2104 - DDR SDRAM Timing Configuration Register 0 */ uint timing_cfg_1; /* 0x2108 - DDR SDRAM Timing Configuration Register 1 */ uint timing_cfg_2; /* 0x210c - DDR SDRAM Timing Configuration Register 2 */ uint sdram_cfg; /* 0x2110 - DDR SDRAM Control Configuration */ uint sdram_cfg_2; /* 0x2114 - DDR SDRAM Control Configuration 2 */ uint sdram_mode; /* 0x2118 - DDR SDRAM Mode Configuration */ uint sdram_mode_2; /* 0x211c - DDR SDRAM Mode Configuration 2*/ uint sdram_md_cntl; /* 0x2120 - DDR SDRAM Mode Control */ uint sdram_interval; /* 0x2124 - DDR SDRAM Interval Configuration */ uint sdram_data_init; /* 0x2128 - DDR SDRAM Data initialization */ char res6[4]; uint sdram_clk_cntl; /* 0x2130 - DDR SDRAM Clock Control */ char res7[20]; uint init_address; /* 0x2148 - DDR training initialization address */ uint init_ext_address; /* 0x214C - DDR training initialization extended address */ char res8_1[2728]; uint ip_rev1; /* 0x2BF8 - DDR IP Block Revision 1 */ uint ip_rev2; /* 0x2BFC - DDR IP Block Revision 2 */ char res8_2[512]; uint data_err_inject_hi; /* 0x2e00 - DDR Memory Data Path Error Injection Mask High */ uint data_err_inject_lo; /* 0x2e04 - DDR Memory Data Path Error Injection Mask Low */ uint ecc_err_inject; /* 0x2e08 - DDR Memory Data Path Error Injection Mask ECC */ char res9[20]; uint capture_data_hi; /* 0x2e20 - DDR Memory Data Path Read Capture High */ uint capture_data_lo; /* 0x2e24 - DDR Memory Data Path Read Capture Low */ uint capture_ecc; /* 0x2e28 - DDR Memory Data Path Read Capture ECC */ char res10[20]; uint err_detect; /* 0x2e40 - DDR Memory Error Detect */ uint err_disable; /* 0x2e44 - DDR Memory Error Disable */ uint err_int_en; /* 0x2e48 - DDR */ uint capture_attributes; /* 0x2e4c - DDR Memory Error Attributes Capture */ uint capture_address; /* 0x2e50 - DDR Memory Error Address Capture */ uint capture_ext_address; /* 0x2e54 - DDR Memory Error Extended Address Capture */ uint err_sbe; /* 0x2e58 - DDR Memory Single-Bit ECC Error Management */ char res11[164]; uint debug_1; /* 0x2f00 */ uint debug_2; uint debug_3; uint debug_4; char res12[240];} ccsr_ddr_t;/* * I2C Registers(0x3000-0x4000) */typedef struct ccsr_i2c { u_char i2cadr; /* 0x3000 - I2C Address Register */#define MPC85xx_I2CADR_MASK 0xFE char res1[3]; u_char i2cfdr; /* 0x3004 - I2C Frequency Divider Register */#define MPC85xx_I2CFDR_MASK 0x3F char res2[3]; u_char i2ccr; /* 0x3008 - I2C Control Register */#define MPC85xx_I2CCR_MEN 0x80#define MPC85xx_I2CCR_MIEN 0x40#define MPC85xx_I2CCR_MSTA 0x20#define MPC85xx_I2CCR_MTX 0x10#define MPC85xx_I2CCR_TXAK 0x08#define MPC85xx_I2CCR_RSTA 0x04#define MPC85xx_I2CCR_BCST 0x01 char res3[3]; u_char i2csr; /* 0x300c - I2C Status Register */#define MPC85xx_I2CSR_MCF 0x80#define MPC85xx_I2CSR_MAAS 0x40#define MPC85xx_I2CSR_MBB 0x20#define MPC85xx_I2CSR_MAL 0x10#define MPC85xx_I2CSR_BCSTM 0x08#define MPC85xx_I2CSR_SRW 0x04#define MPC85xx_I2CSR_MIF 0x02#define MPC85xx_I2CSR_RXAK 0x01 char res4[3]; u_char i2cdr; /* 0x3010 - I2C Data Register */#define MPC85xx_I2CDR_DATA 0xFF char res5[3]; u_char i2cdfsrr; /* 0x3014 - I2C Digital Filtering Sampling Rate Register */#define MPC85xx_I2CDFSRR 0x3F char res6[4075];} ccsr_i2c_t;#if defined(CONFIG_MPC8540) \ || defined(CONFIG_MPC8541) \ || defined(CONFIG_MPC8548) \ || defined(CONFIG_MPC8555)/* DUART Registers(0x4000-0x5000) */typedef struct ccsr_duart { char res1[1280]; u_char urbr1_uthr1_udlb1;/* 0x4500 - URBR1, UTHR1, UDLB1 with the same address offset of 0x04500 */ u_char uier1_udmb1; /* 0x4501 - UIER1, UDMB1 with the same address offset of 0x04501 */ u_char uiir1_ufcr1_uafr1;/* 0x4502 - UIIR1, UFCR1, UAFR1 with the same address offset of 0x04502 */ u_char ulcr1; /* 0x4503 - UART1 Line Control Register */ u_char umcr1; /* 0x4504 - UART1 Modem Control Register */ u_char ulsr1; /* 0x4505 - UART1 Line Status Register */ u_char umsr1; /* 0x4506 - UART1 Modem Status Register */ u_char uscr1; /* 0x4507 - UART1 Scratch Register */ char res2[8]; u_char udsr1; /* 0x4510 - UART1 DMA Status Register */ char res3[239]; u_char urbr2_uthr2_udlb2;/* 0x4600 - URBR2, UTHR2, UDLB2 with the same address offset of 0x04600 */ u_char uier2_udmb2; /* 0x4601 - UIER2, UDMB2 with the same address offset of 0x04601 */ u_char uiir2_ufcr2_uafr2;/* 0x4602 - UIIR2, UFCR2, UAFR2 with the same address offset of 0x04602 */ u_char ulcr2; /* 0x4603 - UART2 Line Control Register */ u_char umcr2; /* 0x4604 - UART2 Modem Control Register */ u_char ulsr2; /* 0x4605 - UART2 Line Status Register */ u_char umsr2; /* 0x4606 - UART2 Modem Status Register */ u_char uscr2; /* 0x4607 - UART2 Scratch Register */ char res4[8]; u_char udsr2; /* 0x4610 - UART2 DMA Status Register */ char res5[2543];} ccsr_duart_t;#else /* MPC8560 uses UART on its CPM */typedef struct ccsr_duart { char res[4096];} ccsr_duart_t;#endif/* Local Bus Controller Registers(0x5000-0x6000) *//* Omitting OCeaN(0x6000) and Reserved(0x7000) block */typedef struct ccsr_lbc { uint br0; /* 0x5000 - LBC Base Register 0 */ uint or0; /* 0x5004 - LBC Options Register 0 */ uint br1; /* 0x5008 - LBC Base Register 1 */ uint or1; /* 0x500c - LBC Options Register 1 */ uint br2; /* 0x5010 - LBC Base Register 2 */ uint or2; /* 0x5014 - LBC Options Register 2 */ uint br3; /* 0x5018 - LBC Base Register 3 */ uint or3; /* 0x501c - LBC Options Register 3 */ uint br4; /* 0x5020 - LBC Base Register 4 */ uint or4; /* 0x5024 - LBC Options Register 4 */ uint br5; /* 0x5028 - LBC Base Register 5 */ uint or5; /* 0x502c - LBC Options Register 5 */ uint br6; /* 0x5030 - LBC Base Register 6 */ uint or6; /* 0x5034 - LBC Options Register 6 */ uint br7; /* 0x5038 - LBC Base Register 7 */ uint or7; /* 0x503c - LBC Options Register 7 */ char res1[40]; uint mar; /* 0x5068 - LBC UPM Address Register */ char res2[4]; uint mamr; /* 0x5070 - LBC UPMA Mode Register */ uint mbmr; /* 0x5074 - LBC UPMB Mode Register */ uint mcmr; /* 0x5078 - LBC UPMC Mode Register */ char res3[8]; uint mrtpr; /* 0x5084 - LBC Memory Refresh Timer Prescaler Register */ uint mdr; /* 0x5088 - LBC UPM Data Register */ char res4[8]; uint lsdmr; /* 0x5094 - LBC SDRAM Mode Register */ char res5[8]; uint lurt; /* 0x50a0 - LBC UPM Refresh Timer */ uint lsrt; /* 0x50a4 - LBC SDRAM Refresh Timer */ char res6[8]; uint ltesr; /* 0x50b0 - LBC Transfer Error Status Register */ uint ltedr; /* 0x50b4 - LBC Transfer Error Disable Register */ uint lteir; /* 0x50b8 - LBC Transfer Error Interrupt Register */ uint lteatr; /* 0x50bc - LBC Transfer Error Attributes Register */ uint ltear; /* 0x50c0 - LBC Transfer Error Address Register */ char res7[12]; uint lbcr; /* 0x50d0 - LBC Configuration Register */ uint lcrr; /* 0x50d4 - LBC Clock Ratio Register */ char res8[12072];} ccsr_lbc_t;/* * PCI Registers(0x8000-0x9000) * Omitting Reserved(0x9000-0x2_0000) */typedef struct ccsr_pcix { uint cfg_addr; /* 0x8000 - PCIX Configuration Address Register */ uint cfg_data; /* 0x8004 - PCIX Configuration Data Register */ uint int_ack; /* 0x8008 - PCIX Interrupt Acknowledge Register */ char res1[3060]; uint potar0; /* 0x8c00 - PCIX Outbound Transaction Address Register 0 */ uint potear0; /* 0x8c04 - PCIX Outbound Translation Extended Address Register 0 */ uint powbar0; /* 0x8c08 - PCIX Outbound Window Base Address Register 0 */ uint powbear0; /* 0x8c0c - PCIX Outbound Window Base Extended Address Register 0 */ uint powar0; /* 0x8c10 - PCIX Outbound Window Attributes Register 0 */ char res2[12]; uint potar1; /* 0x8c20 - PCIX Outbound Transaction Address Register 1 */ uint potear1; /* 0x8c24 - PCIX Outbound Translation Extended Address Register 1 */ uint powbar1; /* 0x8c28 - PCIX Outbound Window Base Address Register 1 */ uint powbear1; /* 0x8c2c - PCIX Outbound Window Base Extended Address Register 1 */ uint powar1; /* 0x8c30 - PCIX Outbound Window Attributes Register 1 */ char res3[12]; uint potar2; /* 0x8c40 - PCIX Outbound Transaction Address Register 2 */ uint potear2; /* 0x8c44 - PCIX Outbound Translation Extended Address Register 2 */ uint powbar2; /* 0x8c48 - PCIX Outbound Window Base Address Register 2 */ uint powbear2; /* 0x8c4c - PCIX Outbound Window Base Extended Address Register 2 */ uint powar2; /* 0x8c50 - PCIX Outbound Window Attributes Register 2 */ char res4[12]; uint potar3; /* 0x8c60 - PCIX Outbound Transaction Address Register 3 */ uint potear3; /* 0x8c64 - PCIX Outbound Translation Extended Address Register 3 */ uint powbar3; /* 0x8c68 - PCIX Outbound Window Base Address Register 3 */ uint powbear3; /* 0x8c6c - PCIX Outbound Window Base Extended Address Register 3 */ uint powar3; /* 0x8c70 - PCIX Outbound Window Attributes Register 3 */ char res5[12]; uint potar4; /* 0x8c80 - PCIX Outbound Transaction Address Register 4 */ uint potear4; /* 0x8c84 - PCIX Outbound Translation Extended Address Register 4 */ uint powbar4; /* 0x8c88 - PCIX Outbound Window Base Address Register 4 */ uint powbear4; /* 0x8c8c - PCIX Outbound Window Base Extended Address Register 4 */ uint powar4; /* 0x8c90 - PCIX Outbound Window Attributes Register 4 */ char res6[268]; uint pitar3; /* 0x8da0 - PCIX Inbound Translation Address Register 3 */ uint pitear3; /* 0x8da4 - PCIX Inbound Translation Extended Address Register 3 */ uint piwbar3; /* 0x8da8 - PCIX Inbound Window Base Address Register 3 */ uint piwbear3; /* 0x8dac - PCIX Inbound Window Base Extended Address Register 3 */ uint piwar3; /* 0x8db0 - PCIX Inbound Window Attributes Register 3 */ char res7[12]; uint pitar2; /* 0x8dc0 - PCIX Inbound Translation Address Register 2 */ uint pitear2; /* 0x8dc4 - PCIX Inbound Translation Extended Address Register 2 */ uint piwbar2; /* 0x8dc8 - PCIX Inbound Window Base Address Register 2 */ uint piwbear2; /* 0x8dcc - PCIX Inbound Window Base Extended Address Register 2 */ uint piwar2; /* 0x8dd0 - PCIX Inbound Window Attributes Register 2 */ char res8[12]; uint pitar1; /* 0x8de0 - PCIX Inbound Translation Address Register 1 */ uint pitear1; /* 0x8de4 - PCIX Inbound Translation Extended Address Register 1 */ uint piwbar1; /* 0x8de8 - PCIX Inbound Window Base Address Register 1 */ char res9[4]; uint piwar1; /* 0x8df0 - PCIX Inbound Window Attributes Register 1 */ char res10[12]; uint pedr; /* 0x8e00 - PCIX Error Detect Register */ uint pecdr; /* 0x8e04 - PCIX Error Capture Disable Register */ uint peer; /* 0x8e08 - PCIX Error Enable Register */ uint peattrcr; /* 0x8e0c - PCIX Error Attributes Capture Register */ uint peaddrcr; /* 0x8e10 - PCIX Error Address Capture Register */ uint peextaddrcr; /* 0x8e14 - PCIX Error Extended Address Capture Register */ uint pedlcr; /* 0x8e18 - PCIX Error Data Low Capture Register */ uint pedhcr; /* 0x8e1c - PCIX Error Error Data High Capture Register */ char res11[94688];} ccsr_pcix_t;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -