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

📄 5xx_immap.h

📁 AT91RM9200的完整启动代码:包括loader, boot及U-boot三部分均已编译通过!欢迎下载使用!
💻 H
字号:
/* * (C) Copyright 2003 * Martin Winistoerfer, martinwinistoerfer@gmx.ch. * * 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,  *//* * File:		5xx_immap.h *  * Discription:		MPC555 Internal Memory Map *  */ #ifndef __IMMAP_5XX__#define __IMMAP_5XX__/* System Configuration Registers.*/typedef	struct sys_conf {        uint sc_siumcr;        uint sc_sypcr;        char res1[6];        ushort sc_swsr;        uint sc_sipend;        uint sc_simask;        uint sc_siel;        uint sc_sivec;        uint sc_tesr;        uint sc_sgpiodt1;        uint sc_sgpiodt2;        uint sc_sgpiocr;        uint sc_emcr;        uint sc_res1aa;        uint sc_res1ab;        uint sc_pdmcr;        char res3[192];} sysconf5xx_t;/* Memory Controller Registers.*/typedef struct	mem_ctlr {        uint memc_br0;        uint memc_or0;        uint memc_br1;        uint memc_or1;        uint memc_br2;        uint memc_or2;        uint memc_br3;        uint memc_or3;        char res1[32];        uint memc_dmbr;        uint memc_dmor;         char res2[48];                ushort memc_mstat;        ushort memc_res4a;        char res3[132];} memctl5xx_t;/* System Integration Timers.*/typedef struct	sys_int_timers {        ushort sit_tbscr;        char res1[2];        uint sit_tbref0;        uint sit_tbref1;        char res2[20];        ushort sit_rtcsc;        char res3[2];        uint sit_rtc;        uint sit_rtsec;        uint sit_rtcal;        char res4[16];        ushort sit_piscr;        char res5[2];        uint sit_pitc;        uint sit_pitr;        char res6[52];} sit5xx_t;/* Clocks and Reset*/typedef struct clk_and_reset {        uint car_sccr;        uint car_plprcr;        ushort car_rsr;        ushort car_res7a;        ushort car_colir;        ushort car_res7b;        ushort car_vsrmcr;        ushort car_res7c;        char res1[108];} car5xx_t;#define TBSCR_TBE		((ushort)0x0001)/* System Integration Timer Keys*/typedef struct sitk {        uint sitk_tbscrk;        uint sitk_tbref0k;        uint sitk_tbref1k;        uint sitk_tbk;        char res1[16];        uint sitk_rtcsck;        uint sitk_rtck;        uint sitk_rtseck;        uint sitk_rtcalk;        char res2[16];        uint sitk_piscrk;        uint sitk_pitck;        char res3[56];} sitk5xx_t;/* Clocks and Reset Keys.*/typedef struct cark {	uint	cark_sccrk;	uint	cark_plprcrk;	uint	cark_rsrk;	char	res1[1140];} cark8xx_t;/* The key to unlock registers maintained by keep-alive power.*/#define KAPWR_KEY	((unsigned int)0x55ccaa33)/* Flash Configuration*/typedef struct fl {        uint fl_cmfmcr;        uint fl_cmftst;        uint fl_cmfctl;        char res1[52];} fl5xx_t;/* Dpram Control*/typedef struct dprc {		        ushort dprc_dptmcr;        ushort dprc_ramtst;        ushort dprc_rambar;        ushort dprc_misrh;        ushort dprc_misrl;        ushort dprc_miscnt;} dprc5xx_t;/* Time Processor Unit*/typedef struct tpu {        ushort tpu_tpumcr;        ushort tpu_tcr;        ushort tpu_dscr;        ushort tpu_dssr;        ushort tpu_ticr;        ushort tpu_cier;        ushort tpu_cfsr0;        ushort tpu_cfsr1;        ushort tpu_cfsr2;        ushort tpu_cfsr3;        ushort tpu_hsqr0;        ushort tpu_hsqr1;        ushort tpu_hsrr0;        ushort tpu_hsrr1;        ushort tpu_cpr0;        ushort tpu_cpr1;        ushort tpu_cisr;        ushort tpu_lr;        ushort tpu_sglr;        ushort tpu_dcnr;        ushort tpu_tpumcr2;        ushort tpu_tpumcr3;        ushort tpu_isdr;        ushort tpu_iscr;        char   res1[208];        char   tpu[16][16];        char   res2[512];} tpu5xx_t;/* QADC*/typedef struct qadc {        ushort qadc_64mcr;        ushort qadc_64test;        ushort qadc_64int;        u_char  qadc_portqa;        u_char  qadc_portqb;        ushort qadc_ddrqa;        ushort qadc_qacr0;        ushort qadc_qacr1;        ushort qadc_qacr2;        ushort qadc_qasr0;        ushort qadc_qasr1;        char   res1[492];       /* command convertion word table */        ushort qadc_ccw[64];       /* result word table, unsigned right justified */        ushort qadc_rjurr[64];       /* result word table, signed left justified */        ushort qadc_ljsrr[64];       /* result word table, unsigned left justified */        ushort qadc_ljurr[64];} qadc5xx_t;/* QSMCM*/typedef struct qsmcm {        ushort qsmcm_qsmcr;        ushort qsmcm_qtest;        ushort qsmcm_qdsci_il;        ushort qsmcm_qspi_il;        ushort qsmcm_scc1r0;        ushort qsmcm_scc1r1;        ushort qsmcm_sc1sr;        ushort qsmcm_sc1dr;        char   res1[2];        char   res2[2];        ushort qsmcm_portqs;        u_char qsmcm_pqspar;        u_char qsmcm_ddrqs;        ushort qsmcm_spcr0;        ushort qsmcm_spcr1;        ushort qsmcm_spcr2;        u_char qsmcm_spcr3;        u_char qsmcm_spsr;        ushort qsmcm_scc2r0;        ushort qsmcm_scc2r1;        ushort qsmcm_sc2sr;        ushort qsmcm_sc2dr;        ushort qsmcm_qsci1cr;        ushort qsmcm_qsci1sr;        ushort qsmcm_sctq[16];        ushort qsmcm_scrq[16];        char   res3[212];        ushort qsmcm_recram[32];        ushort qsmcm_tranram[32];        u_char qsmcm_comdram[32];        char   res[3616];} qsmcm5xx_t;/* MIOS*/typedef struct mios {        ushort mios_mpwmsm0perr;                 /* mpwmsm0 */        ushort mios_mpwmsm0pulr;        ushort mios_mpwmsm0cntr;        ushort mios_mpwmsm0scr;        ushort mios_mpwmsm1perr;                 /* mpwmsm1 */        ushort mios_mpwmsm1pulr;        ushort mios_mpwmsm1cntr;        ushort mios_mpwmsm1scr;        ushort mios_mpwmsm2perr;                 /* mpwmsm2 */        ushort mios_mpwmsm2pulr;        ushort mios_mpwmsm2cntr;        ushort mios_mpwmsm2scr;        ushort mios_mpwmsm3perr;                 /* mpwmsm3 */        ushort mios_mpwmsm3pulr;        ushort mios_mpwmsm3cntr;        ushort mios_mpwmsm3scr;        char res1[16];        ushort mios_mmcsm6cnt;                   /* mmcsm6 */        ushort mios_mmcsm6mlr;        ushort mios_mmcsm6scrd, mmcsm6scr;        char res2[32];        ushort mios_mdasm11ar;                   /* mdasm11 */        ushort mios_mdasm11br;        ushort mios_mdasm11scrd, mdasm11scr;        ushort mios_mdasm12ar;                   /* mdasm12 */        ushort mios_mdasm12br;        ushort mios_mdasm12scrd, mdasm12scr;        ushort mios_mdasm13ar;                   /* mdasm13 */        ushort mios_mdasm13br;        ushort mios_mdasm13scrd, mdasm13scr;        ushort mios_mdasm14ar;                   /* mdasm14 */        ushort mios_mdasm14br;        ushort mios_mdasm14scrd, mdasm14scr;        ushort mios_mdasm15ar;                   /* mdasm15 */        ushort mios_mdasm15br;        ushort mios_mdasm15scrd, mdasm15scr;        ushort mios_mpwmsm16perr;                /* mpwmsm16 */        ushort mios_mpwmsm16pulr;        ushort mios_mpwmsm16cntr;        ushort mios_mpwmsm16scr;        ushort mios_mpwmsm17perr;                /* mpwmsm17 */        ushort mios_mpwmsm17pulr;        ushort mios_mpwmsm17cntr;        ushort mios_mpwmsm17scr;        ushort mios_mpwmsm18perr;                /* mpwmsm18 */        ushort mios_mpwmsm18pulr;        ushort mios_mpwmsm18cntr;        ushort mios_mpwmsm18scr;        ushort mios_mpwmsm19perr;                /* mpwmsm19 */        ushort mios_mpwmsm19pulr;        ushort mios_mpwmsm19cntr;        ushort mios_mpwmsm19scr;        char res3[16];        ushort mios_mmcsm22cnt;                  /* mmcsm22 */        ushort mios_mmcsm22mlr;        ushort mios_mmcsm22scrd, mmcsm22scr;        char res4[32];        ushort mios_mdasm27ar;                   /* mdasm27 */        ushort mios_mdasm27br;        ushort mios_mdasm27scrd, mdasm27scr;        ushort mios_mdasm28ar;                   /*mdasm28 */        ushort mios_mdasm28br;        ushort mios_mdasm28scrd, mdasm28scr;        ushort mios_mdasm29ar;                   /* mdasm29 */        ushort mios_mdasm29br;        ushort mios_mdasm29scrd, mdasm29scr;        ushort mios_mdasm30ar;                   /* mdasm30 */        ushort mios_mdasm30br;        ushort mios_mdasm30scrd, mdasm30scr;        ushort mios_mdasm31ar;                   /* mdasm31 */        ushort mios_mdasm31br;        ushort mios_mdasm31scrd, mdasm31scr;        ushort mios_mpiosm32dr;        ushort mios_mpiosm32ddr;        char res5[1788];        ushort mios_mios1tpcr;        char mios_res13[2];        ushort mios_mios1vnr;        ushort mios_mios1mcr;        char res6[12];        ushort mios_res42z;        ushort mios_mcpsmscr;        char res7[1000];        ushort mios_mios1sr0;        char res12[2];        ushort mios_mios1er0;        ushort mios_mios1rpr0;        char res8[40];        ushort mios_mios1lvl0;        char res9[14];        ushort mios_mios1sr1;        char res10[2];        ushort mios_mios1er1;        ushort mios_mios1rpr1;        char res11[40];        ushort mios_mios1lvl1;        char res13[1038];} mios5xx_t;/* Toucan Module*/typedef struct tcan {        ushort tcan_tcnmcr;        ushort tcan_cantcr;        ushort tcan_canicr;        u_char tcan_canctrl0;        u_char tcan_canctrl1;        u_char tcan_presdiv;        u_char tcan_canctrl2;        ushort tcan_timer;        char res1[4];        ushort tcan_rxgmskhi;        ushort tcan_rxgmsklo;        ushort tcan_rx14mskhi;        ushort tcan_rx14msklo;        ushort tcan_rx15mskhi;        ushort tcan_rx15msklo;        char res2[4];        ushort tcan_estat;        ushort tcan_imask;        ushort tcan_iflag;        u_char tcan_rxectr;        u_char tcan_txectr;        char res3[88];        struct {               ushort scr;               ushort id_high;               ushort id_low;               u_char data[8];	           char res4[2];	    } tcan_mbuff[16];	    char res5[640];} tcan5xx_t;/* UIMB*/typedef struct uimb {        uint uimb_umcr;        char res1[12];        uint uimb_utstcreg;        char res2[12];        uint uimb_uipend;} uimb5xx_t;/* Internal Memory Map MPC555*/typedef struct immap {        char               res1[262144];       	/* CMF Flash A 256 Kbytes */        char               res2[196608];       	/* CMF Flash B 192 Kbytes */        char               res3[2670592];      	/* Reserved for Flash */        sysconf5xx_t       im_siu_conf;        	/* SIU Configuration */        memctl5xx_t	   im_memctl;		/* Memory Controller */        sit5xx_t           im_sit;		/* System Integration Timers */        car5xx_t	   im_clkrst;		/* Clocks and Reset */        sitk5xx_t          im_sitk;            	/* System Integration Timer Keys*/        cark8xx_t          im_clkrstk;         	/* Clocks and Resert Keys */        fl5xx_t	           im_fla;	        /* Flash Module A */        fl5xx_t	           im_flb;	        /* Flash Module B */        char               res4[14208];        	/* Reserved for SIU */        dprc5xx_t	   im_dprc;            	/* Dpram Control Register */        char               res5[8180];         	/* Reserved */        char               dptram[6144];       	/* Dptram */        char               res6[2048];         	/* Reserved */        tpu5xx_t	   im_tpua;		/* Time Proessing Unit A */        tpu5xx_t	   im_tpub;  	      	/* Time Processing Unit B */        qadc5xx_t	   im_qadca;           	/* QADC A */        qadc5xx_t	   im_qadcb;           	/* QADC B */        qsmcm5xx_t	   im_qsmcm;		/* SCI and SPI */        mios5xx_t      	   im_mios;		/* MIOS */        tcan5xx_t          im_tcana;           	/* Toucan A */        tcan5xx_t          im_tcanb;	       	/* Toucan B */        char               res7[1792];         	/* Reserved */        uimb5xx_t          im_uimb;	        /* UIMB */} immap_t;#endif /* __IMMAP_5XX__ */

⌨️ 快捷键说明

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