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

📄 immap_8260.h

📁 u-boot-1.1.6 源码包
💻 H
字号:
/* * MPC8260 Internal Memory Map * Copyright (c) 1999 Dan Malek (dmalek@jlc.net) * * The Internal Memory Map of the 8260.	 I don't know how generic * this will be, as I don't have any knowledge of the subsequent * parts at this time.	I copied this from the 8xx_immap.h. */#ifndef __IMMAP_82XX__#define __IMMAP_82XX__/* System configuration registers.*/typedef struct sys_conf {	uint	sc_siumcr;	uint	sc_sypcr;	char	res1[6];	ushort	sc_swsr;	char	res2[20];	uint	sc_bcr;	u_char	sc_ppc_acr;	char	res3[3];	uint	sc_ppc_alrh;	uint	sc_ppc_alrl;	u_char	sc_lcl_acr;	char	res4[3];	uint	sc_lcl_alrh;	uint	sc_lcl_alrl;	uint	sc_tescr1;	uint	sc_tescr2;	uint	sc_ltescr1;	uint	sc_ltescr2;	uint	sc_pdtea;	u_char	sc_pdtem;	char	res5[3];	uint	sc_ldtea;	u_char	sc_ldtem;	char	res6[163];} sysconf8260_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;	uint	memc_br4;	uint	memc_or4;	uint	memc_br5;	uint	memc_or5;	uint	memc_br6;	uint	memc_or6;	uint	memc_br7;	uint	memc_or7;	uint	memc_br8;	uint	memc_or8;	uint	memc_br9;	uint	memc_or9;	uint	memc_br10;	uint	memc_or10;	uint	memc_br11;	uint	memc_or11;	char	res1[8];	uint	memc_mar;	char	res2[4];	uint	memc_mamr;	uint	memc_mbmr;	uint	memc_mcmr;	char	res3[8];	ushort	memc_mptpr;	char	res4[2];	uint	memc_mdr;	char	res5[4];	uint	memc_psdmr;	uint	memc_lsdmr;	u_char	memc_purt;	char	res6[3];	u_char	memc_psrt;	char	res7[3];	u_char	memc_lurt;	char	res8[3];	u_char	memc_lsrt;	char	res9[3];	uint	memc_immr;	uint	memc_pcibr0;	uint	memc_pcibr1;	char	res10[16];	uint	memc_pcimsk0;	uint	memc_pcimsk1;	char	res11[52];} memctl8260_t;/* System Integration Timers.*/typedef struct	sys_int_timers {	char	res1[32];	ushort	sit_tmcntsc;	char	res2[2];	uint	sit_tmcnt;	char	res3[4];	uint	sit_tmcntal;	char	res4[16];	ushort	sit_piscr;	char	res5[2];	uint	sit_pitc;	uint	sit_pitr;	char	res6[94];	char	res7[390];} sit8260_t;/* PCI */typedef struct pci_config {	uint	pci_omisr;	uint	pci_ominr;	char	res1[8];	uint	pci_ifqpr;	uint	pci_ofqpr;	char	res2[8];	uint	pci_imr0;	uint	pci_imr1;	uint	pci_omr0;	uint	pci_omr1;	uint	pci_odr;	char	res3[4];	uint	pci_idr;	char	res4[20];	uint	pci_imisr;	uint	pci_imimr;	char	res5[24];	uint	pci_ifhpr;	char	res5_2[4];	uint	pci_iftpr;	char	res6[4];	uint	pci_iphpr;	char	res6_2[4];	uint	pci_iptpr;	char	res7[4];	uint	pci_ofhpr;	char	res7_2[4];	uint	pci_oftpr;	char	res8[4];	uint	pci_ophpr;	char	res8_2[4];	uint	pci_optpr;	char	res9[8];	uint	pci_mucr;	char	res10[8];	uint	pci_qbar;	char	res11[12];	uint	pci_dmamr0;	uint	pci_dmasr0;	uint	pci_dmacdar0;	char	res12[4];	uint	pci_dmasar0;	char	res13[4];	uint	pci_dmadar0;	char	res14[4];	uint	pci_dmabcr0;	uint	pci_dmandar0;	char	res15[88];	uint	pci_dmamr1;	uint	pci_dmasr1;	uint	pci_dmacdar1;	char	res16[4];	uint	pci_dmasar1;	char	res17[4];	uint	pci_dmadar1;	char	res18[4];	uint	pci_dmabcr1;	uint	pci_dmandar1;	char	res19[88];	uint	pci_dmamr2;	uint	pci_dmasr2;	uint	pci_dmacdar2;	char	res20[4];	uint	pci_dmasar2;	char	res21[4];	uint	pci_dmadar2;	char	res22[4];	uint	pci_dmabcr2;	uint	pci_dmandar2;	char	res23[88];	uint	pci_dmamr3;	uint	pci_dmasr3;	uint	pci_dmacdar3;	char	res24[4];	uint	pci_dmasar3;	char	res25[4];	uint	pci_dmadar3;	char	res26[4];	uint	pci_dmabcr3;	uint	pci_dmandar3;	char	res27[344];	uint	pci_potar0;	char	res28[4];	uint	pci_pobar0;	char	res29[4];	uint	pci_pocmr0;	char	res30[4];	uint	pci_potar1;	char	res31[4];	uint	pci_pobar1;	char	res32[4];	uint	pci_pocmr1;	char	res33[4];	uint	pci_potar2;	char	res34[4];	uint	pci_pobar2;	char	res35[4];	uint	pci_pocmr2;	char	res36[52];	uint	pci_ptcr;	uint	pci_gpcr;	uint	pci_gcr;	uint	pci_esr;	uint	pci_emr;	uint	pci_ecr;	uint	pci_eacr;	char	res37[4];	uint	pci_edcr;	char	res38[4];	uint	pci_eccr;	char	res39[44];	uint	pci_pitar1;	char	res40[4];	uint	pci_pibar1;	char	res41[4];	uint	pci_picmr1;	char	res42[4];	uint	pci_pitar0;	char	res43[4];	uint	pci_pibar0;	char	res44[4];	uint	pci_picmr0;	char	res45[4];	uint	pci_cfg_addr;	uint	pci_cfg_data;	uint	pci_int_ack;	char	res46[756];}pci8260_t;#define PISCR_PIRQ_MASK		((ushort)0xff00)#define PISCR_PS		((ushort)0x0080)#define PISCR_PIE		((ushort)0x0004)#define PISCR_PTF		((ushort)0x0002)#define PISCR_PTE		((ushort)0x0001)/* Interrupt Controller.*/typedef struct interrupt_controller {	ushort	ic_sicr;	char	res1[2];	uint	ic_sivec;	uint	ic_sipnrh;	uint	ic_sipnrl;	uint	ic_siprr;	uint	ic_scprrh;	uint	ic_scprrl;	uint	ic_simrh;	uint	ic_simrl;	uint	ic_siexr;	char	res2[88];} intctl8260_t;/* Clocks and Reset.*/typedef struct clk_and_reset {	uint	car_sccr;	char	res1[4];	uint	car_scmr;	char	res2[4];	uint	car_rsr;	uint	car_rmr;	char	res[104];} car8260_t;/* Input/Output Port control/status registers. * Names consistent with processor manual, although they are different * from the original 8xx names....... */typedef struct io_port {	uint	iop_pdira;	uint	iop_ppara;	uint	iop_psora;	uint	iop_podra;	uint	iop_pdata;	char	res1[12];	uint	iop_pdirb;	uint	iop_pparb;	uint	iop_psorb;	uint	iop_podrb;	uint	iop_pdatb;	char	res2[12];	uint	iop_pdirc;	uint	iop_pparc;	uint	iop_psorc;	uint	iop_podrc;	uint	iop_pdatc;	char	res3[12];	uint	iop_pdird;	uint	iop_ppard;	uint	iop_psord;	uint	iop_podrd;	uint	iop_pdatd;	char	res4[12];} iop8260_t;/* Communication Processor Module Timers*/typedef struct cpm_timers {	u_char	cpmt_tgcr1;	char	res1[3];	u_char	cpmt_tgcr2;	char	res2[11];	ushort	cpmt_tmr1;	ushort	cpmt_tmr2;	ushort	cpmt_trr1;	ushort	cpmt_trr2;	ushort	cpmt_tcr1;	ushort	cpmt_tcr2;	ushort	cpmt_tcn1;	ushort	cpmt_tcn2;	ushort	cpmt_tmr3;	ushort	cpmt_tmr4;	ushort	cpmt_trr3;	ushort	cpmt_trr4;	ushort	cpmt_tcr3;	ushort	cpmt_tcr4;	ushort	cpmt_tcn3;	ushort	cpmt_tcn4;	ushort	cpmt_ter1;	ushort	cpmt_ter2;	ushort	cpmt_ter3;	ushort	cpmt_ter4;	char	res3[584];} cpmtimer8260_t;/* DMA control/status registers.*/typedef struct sdma_csr {	char	res0[24];	u_char	sdma_sdsr;	char	res1[3];	u_char	sdma_sdmr;	char	res2[3];	u_char	sdma_idsr1;	char	res3[3];	u_char	sdma_idmr1;	char	res4[3];	u_char	sdma_idsr2;	char	res5[3];	u_char	sdma_idmr2;	char	res6[3];	u_char	sdma_idsr3;	char	res7[3];	u_char	sdma_idmr3;	char	res8[3];	u_char	sdma_idsr4;	char	res9[3];	u_char	sdma_idmr4;	char	res10[707];} sdma8260_t;/* Fast controllers*/typedef struct fcc {	uint	fcc_gfmr;	uint	fcc_fpsmr;	ushort	fcc_ftodr;	char	res1[2];	ushort	fcc_fdsr;	char	res2[2];	ushort	fcc_fcce;	char	res3[2];	ushort	fcc_fccm;	char	res4[2];	u_char	fcc_fccs;	char	res5[3];	u_char	fcc_ftirr_phy[4];} fcc_t;/* Fast controllers continued */typedef struct fcc_c {	uint	fcc_firper;	uint	fcc_firer;	uint	fcc_firsr_hi;	uint	fcc_firsr_lo;	u_char	fcc_gfemr;	char	res1[15];} fcc_c_t;/* TC Layer */typedef struct tclayer {	ushort	tc_tcmode;	ushort	tc_cdsmr;	ushort	tc_tcer;	ushort	tc_rcc;	ushort	tc_tcmr;	ushort	tc_fcc;	ushort	tc_ccc;	ushort	tc_icc;	ushort	tc_tcc;	ushort	tc_ecc;	char	res1[12];} tclayer_t;/* I2C*/typedef struct i2c {	u_char	i2c_i2mod;	char	res1[3];	u_char	i2c_i2add;	char	res2[3];	u_char	i2c_i2brg;	char	res3[3];	u_char	i2c_i2com;	char	res4[3];	u_char	i2c_i2cer;	char	res5[3];	u_char	i2c_i2cmr;	char	res6[331];} i2c8260_t;typedef struct scc {		/* Serial communication channels */	uint	scc_gsmrl;	uint	scc_gsmrh;	ushort	scc_psmr;	char	res1[2];	ushort	scc_todr;	ushort	scc_dsr;	ushort	scc_scce;	char	res2[2];	ushort	scc_sccm;	char	res3;	u_char	scc_sccs;	char	res4[8];} scc_t;typedef struct smc {		/* Serial management channels */	char	res1[2];	ushort	smc_smcmr;	char	res2[2];	u_char	smc_smce;	char	res3[3];	u_char	smc_smcm;	char	res4[5];} smc_t;/* Serial Peripheral Interface.*/typedef struct im_spi {	ushort	spi_spmode;	char	res1[4];	u_char	spi_spie;	char	res2[3];	u_char	spi_spim;	char	res3[2];	u_char	spi_spcom;	char	res4[82];} im_spi_t;/* CPM Mux.*/typedef struct cpmux {	u_char	cmx_si1cr;	char	res1;	u_char	cmx_si2cr;	char	res2;	uint	cmx_fcr;	uint	cmx_scr;	u_char	cmx_smr;	char	res3;	ushort	cmx_uar;	char	res4[16];} cpmux_t;/* SIRAM control*/typedef struct siram {	ushort	si_amr;	ushort	si_bmr;	ushort	si_cmr;	ushort	si_dmr;	u_char	si_gmr;	char	res1;	u_char	si_cmdr;	char	res2;	u_char	si_str;	char	res3;	ushort	si_rsr;} siramctl_t;typedef struct mcc {	ushort	mcc_mcce;	char	res1[2];	ushort	mcc_mccm;	char	res2[2];	u_char	mcc_mccf;	char	res3[7];} mcc_t;typedef struct comm_proc {	uint	cp_cpcr;	uint	cp_rccr;	char	res1[14];	ushort	cp_rter;	char	res2[2];	ushort	cp_rtmr;	ushort	cp_rtscr;	char	res3[2];	uint	cp_rtsr;	char	res4[12];} cpm8260_t;/* ...and the whole thing wrapped up....*/typedef struct immap {	/* Some references are into the unique and known dpram spaces,	 * others are from the generic base.	 */#define im_dprambase	im_dpram1	u_char		im_dpram1[16*1024];	char		res1[16*1024];	u_char		im_dpram2[4*1024];	char		res2[8*1024];	u_char		im_dpram3[4*1024];	char		res3[16*1024];	sysconf8260_t	im_siu_conf;	/* SIU Configuration */	memctl8260_t	im_memctl;	/* Memory Controller */	sit8260_t	im_sit;		/* System Integration Timers */	pci8260_t	im_pci;		/* PCI Configuration */	intctl8260_t	im_intctl;	/* Interrupt Controller */	car8260_t	im_clkrst;	/* Clocks and reset */	iop8260_t	im_ioport;	/* IO Port control/status */	cpmtimer8260_t	im_cpmtimer;	/* CPM timers */	sdma8260_t	im_sdma;	/* SDMA control/status */	fcc_t		im_fcc[3];	/* Three FCCs */	char		res4[32];	fcc_c_t		im_fcc_c[3];	/* Continued FCCs */	char		res4a[32];	tclayer_t	im_tclayer[8];	/* Eight TCLayers */	ushort		tc_tcgsr;	ushort		tc_tcger;	/* First set of baud rate generators.	*/	char		res4b[236];	uint		im_brgc5;	uint		im_brgc6;	uint		im_brgc7;	uint		im_brgc8;	char		res5[608];	i2c8260_t	im_i2c;		/* I2C control/status */	cpm8260_t	im_cpm;		/* Communication processor */	/* Second set of baud rate generators.	*/	uint		im_brgc1;	uint		im_brgc2;	uint		im_brgc3;	uint		im_brgc4;	scc_t		im_scc[4];	/* Four SCCs */	smc_t		im_smc[2];	/* Couple of SMCs */	im_spi_t	im_spi;		/* A SPI */	cpmux_t		im_cpmux;	/* CPM clock route mux */	siramctl_t	im_siramctl1;	/* First SI RAM Control */	mcc_t		im_mcc1;	/* First MCC */	siramctl_t	im_siramctl2;	/* Second SI RAM Control */	mcc_t		im_mcc2;	/* Second MCC */	char		res6[1184];	ushort		im_si1txram[256];	char		res7[512];	ushort		im_si1rxram[256];	char		res8[512];	ushort		im_si2txram[256];	char		res9[512];	ushort		im_si2rxram[256];	char		res10[512];	char		res11[4096];} immap_t;#endif /* __IMMAP_82XX__ */

⌨️ 快捷键说明

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