📄 immap_5445x.h
字号:
/* * MCF5445x Internal Memory Map * * Copyright (C) 2004-2007 Freescale Semiconductor, Inc. * TsiChung Liew (Tsi-Chung.Liew@freescale.com) * * See file CREDITS for list of people who contributed to this * project. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */#ifndef __IMMAP_5445X__#define __IMMAP_5445X__/* Module Base Addresses */#define MMAP_SCM1 0xFC000000#define MMAP_XBS 0xFC004000#define MMAP_FBCS 0xFC008000#define MMAP_FEC0 0xFC030000#define MMAP_FEC1 0xFC034000#define MMAP_RTC 0xFC03C000#define MMAP_SCM2 0xFC040000#define MMAP_EDMA 0xFC044000#define MMAP_INTC0 0xFC048000#define MMAP_INTC1 0xFC04C000#define MMAP_IACK 0xFC054000#define MMAP_I2C 0xFC058000#define MMAP_DSPI 0xFC05C000#define MMAP_UART0 0xFC060000#define MMAP_UART1 0xFC064000#define MMAP_UART2 0xFC068000#define MMAP_DTMR0 0xFC070000#define MMAP_DTMR1 0xFC074000#define MMAP_DTMR2 0xFC078000#define MMAP_DTMR3 0xFC07C000#define MMAP_PIT0 0xFC080000#define MMAP_PIT1 0xFC084000#define MMAP_PIT2 0xFC088000#define MMAP_PIT3 0xFC08C000#define MMAP_EPORT 0xFC094000#define MMAP_WTM 0xFC098000#define MMAP_SBF 0xFC0A0000#define MMAP_RCM 0xFC0A0000#define MMAP_CCM 0xFC0A0000#define MMAP_GPIO 0xFC0A4000#define MMAP_PCI 0xFC0A8000#define MMAP_PCIARB 0xFC0AC000#define MMAP_RNG 0xFC0B4000#define MMAP_SDRAM 0xFC0B8000#define MMAP_SSI 0xFC0BC000#define MMAP_PLL 0xFC0C4000#define MMAP_ATA 0x90000000#define MMAP_USBHW 0xFC0B0000#define MMAP_USBCAPS 0xFC0B0100#define MMAP_USBEHCI 0xFC0B0140#define MMAP_USBOTG 0xFC0B01A0#include <asm/coldfire/crossbar.h>#include <asm/coldfire/dspi.h>#include <asm/coldfire/edma.h>#include <asm/coldfire/flexbus.h>#include <asm/coldfire/ssi.h>/* ATA */typedef struct atac { /* PIO */ u8 toff; /* 0x00 */ u8 ton; /* 0x01 */ u8 t1; /* 0x02 */ u8 t2w; /* 0x03 */ u8 t2r; /* 0x04 */ u8 ta; /* 0x05 */ u8 trd; /* 0x06 */ u8 t4; /* 0x07 */ u8 t9; /* 0x08 */ /* DMA */ u8 tm; /* 0x09 */ u8 tn; /* 0x0A */ u8 td; /* 0x0B */ u8 tk; /* 0x0C */ u8 tack; /* 0x0D */ u8 tenv; /* 0x0E */ u8 trp; /* 0x0F */ u8 tzah; /* 0x10 */ u8 tmli; /* 0x11 */ u8 tdvh; /* 0x12 */ u8 tdzfs; /* 0x13 */ u8 tdvs; /* 0x14 */ u8 tcvh; /* 0x15 */ u8 tss; /* 0x16 */ u8 tcyc; /* 0x17 */ /* FIFO */ u32 fifo32; /* 0x18 */ u16 fifo16; /* 0x1C */ u8 rsvd0[2]; u8 ffill; /* 0x20 */ u8 rsvd1[3]; /* ATA */ u8 cr; /* 0x24 */ u8 rsvd2[3]; u8 isr; /* 0x28 */ u8 rsvd3[3]; u8 ier; /* 0x2C */ u8 rsvd4[3]; u8 icr; /* 0x30 */ u8 rsvd5[3]; u8 falarm; /* 0x34 */ u8 rsvd6[106];} atac_t;/* Interrupt Controller (INTC) */typedef struct int0_ctrl { u32 iprh0; /* 0x00 Pending Register High */ u32 iprl0; /* 0x04 Pending Register Low */ u32 imrh0; /* 0x08 Mask Register High */ u32 imrl0; /* 0x0C Mask Register Low */ u32 frch0; /* 0x10 Force Register High */ u32 frcl0; /* 0x14 Force Register Low */ u16 res1; /* 0x18 - 0x19 */ u16 icfg0; /* 0x1A Configuration Register */ u8 simr0; /* 0x1C Set Interrupt Mask */ u8 cimr0; /* 0x1D Clear Interrupt Mask */ u8 clmask0; /* 0x1E Current Level Mask */ u8 slmask; /* 0x1F Saved Level Mask */ u32 res2[8]; /* 0x20 - 0x3F */ u8 icr0[64]; /* 0x40 - 0x7F Control registers */ u32 res3[24]; /* 0x80 - 0xDF */ u8 swiack0; /* 0xE0 Software Interrupt Acknowledge */ u8 res4[3]; /* 0xE1 - 0xE3 */ u8 Lniack0_1; /* 0xE4 Level n interrupt acknowledge resister */ u8 res5[3]; /* 0xE5 - 0xE7 */ u8 Lniack0_2; /* 0xE8 Level n interrupt acknowledge resister */ u8 res6[3]; /* 0xE9 - 0xEB */ u8 Lniack0_3; /* 0xEC Level n interrupt acknowledge resister */ u8 res7[3]; /* 0xED - 0xEF */ u8 Lniack0_4; /* 0xF0 Level n interrupt acknowledge resister */ u8 res8[3]; /* 0xF1 - 0xF3 */ u8 Lniack0_5; /* 0xF4 Level n interrupt acknowledge resister */ u8 res9[3]; /* 0xF5 - 0xF7 */ u8 Lniack0_6; /* 0xF8 Level n interrupt acknowledge resister */ u8 resa[3]; /* 0xF9 - 0xFB */ u8 Lniack0_7; /* 0xFC Level n interrupt acknowledge resister */ u8 resb[3]; /* 0xFD - 0xFF */} int0_t;typedef struct int1_ctrl { /* Interrupt Controller 1 */ u32 iprh1; /* 0x00 Pending Register High */ u32 iprl1; /* 0x04 Pending Register Low */ u32 imrh1; /* 0x08 Mask Register High */ u32 imrl1; /* 0x0C Mask Register Low */ u32 frch1; /* 0x10 Force Register High */ u32 frcl1; /* 0x14 Force Register Low */ u16 res1; /* 0x18 */ u16 icfg1; /* 0x1A Configuration Register */ u8 simr1; /* 0x1C Set Interrupt Mask */ u8 cimr1; /* 0x1D Clear Interrupt Mask */ u16 res2; /* 0x1E - 0x1F */ u32 res3[8]; /* 0x20 - 0x3F */ u8 icr1[64]; /* 0x40 - 0x7F */ u32 res4[24]; /* 0x80 - 0xDF */ u8 swiack1; /* 0xE0 Software Interrupt Acknowledge */ u8 res5[3]; /* 0xE1 - 0xE3 */ u8 Lniack1_1; /* 0xE4 Level n interrupt acknowledge resister */ u8 res6[3]; /* 0xE5 - 0xE7 */ u8 Lniack1_2; /* 0xE8 Level n interrupt acknowledge resister */ u8 res7[3]; /* 0xE9 - 0xEB */ u8 Lniack1_3; /* 0xEC Level n interrupt acknowledge resister */ u8 res8[3]; /* 0xED - 0xEF */ u8 Lniack1_4; /* 0xF0 Level n interrupt acknowledge resister */ u8 res9[3]; /* 0xF1 - 0xF3 */ u8 Lniack1_5; /* 0xF4 Level n interrupt acknowledge resister */ u8 resa[3]; /* 0xF5 - 0xF7 */ u8 Lniack1_6; /* 0xF8 Level n interrupt acknowledge resister */ u8 resb[3]; /* 0xF9 - 0xFB */ u8 Lniack1_7; /* 0xFC Level n interrupt acknowledge resister */ u8 resc[3]; /* 0xFD - 0xFF */} int1_t;/* Global Interrupt Acknowledge (IACK) */typedef struct iack { u8 resv0[0xE0]; u8 gswiack; u8 resv1[0x3]; u8 gl1iack; u8 resv2[0x3]; u8 gl2iack; u8 resv3[0x3]; u8 gl3iack; u8 resv4[0x3]; u8 gl4iack; u8 resv5[0x3]; u8 gl5iack; u8 resv6[0x3]; u8 gl6iack; u8 resv7[0x3]; u8 gl7iack;} iack_t;/* Edge Port Module (EPORT) */typedef struct eport { u16 eppar; u8 epddr; u8 epier; u8 epdr; u8 eppdr; u8 epfr;} eport_t;/* Watchdog Timer Modules (WTM) */typedef struct wtm { u16 wcr; u16 wmr; u16 wcntr; u16 wsr;} wtm_t;/* Serial Boot Facility (SBF) */typedef struct sbf { u8 resv0[0x18]; u16 sbfsr; /* Serial Boot Facility Status Register */ u8 resv1[0x6]; u16 sbfcr; /* Serial Boot Facility Control Register */} sbf_t;/* Reset Controller Module (RCM) */typedef struct rcm { u8 rcr; u8 rsr;} rcm_t;/* Chip Configuration Module (CCM) */typedef struct ccm { u8 ccm_resv0[0x4]; u16 ccr; /* Chip Configuration Register (256 TEPBGA, Read-only) */ u8 resv1[0x2]; u16 rcon; /* Reset Configuration (256 TEPBGA, Read-only) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -