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

📄 immap_5272.h

📁 u-boot-1.1.6 源码包
💻 H
字号:
/* * MCF5272 Internal Memory Map * * Copyright (c) 2003 Josef Baumgartner <josef.baumgartner@telex.de> * * 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_5272__#define __IMMAP_5272__/* System configuration registers*/typedef	struct sys_ctrl {	uint	sc_mbar;	ushort	sc_scr;	ushort	sc_spr;	uint	sc_pmr;	char	res1[2];	ushort	sc_alpr;	uint	sc_dir;	char	res2[12];} sysctrl_t;/* Interrupt module registers*/typedef struct int_ctrl {	uint	int_icr1;	uint	int_icr2;	uint	int_icr3;	uint	int_icr4;	uint	int_isr;	uint	int_pitr;	uint	int_piwr;	uchar	res1[3];	uchar	int_pivr;} intctrl_t;/* Chip select module registers.*/typedef struct	cs_ctlr {	uint	cs_br0;	uint	cs_or0;	uint	cs_br1;	uint	cs_or1;	uint	cs_br2;	uint	cs_or2;	uint	cs_br3;	uint	cs_or3;	uint	cs_br4;	uint	cs_or4;	uint	cs_br5;	uint	cs_or5;	uint	cs_br6;	uint	cs_or6;	uint	cs_br7;	uint	cs_or7;} csctrl_t;/* GPIO port registers*/typedef struct	gpio_ctrl {	uint	gpio_pacnt;	ushort	gpio_paddr;	ushort	gpio_padat;	uint	gpio_pbcnt;	ushort	gpio_pbddr;	ushort	gpio_pbdat;	uchar	res1[4];	ushort	gpio_pcddr;	ushort	gpio_pcdat;	uint	gpio_pdcnt;	uchar	res2[4];} gpio_t;/* QSPI module registers */typedef struct	qspi_ctrl {	ushort	qspi_qmr;	uchar	res1[2];	ushort	qspi_qdlyr;	uchar	res2[2];	ushort	qspi_qwr;	uchar	res3[2];	ushort	qspi_qir;	uchar	res4[2];	ushort	qspi_qar;	uchar	res5[2];	ushort	qspi_qdr;	uchar	res6[10];} qspi_t;/* PWM module registers */typedef struct	pwm_ctrl {	uchar	pwm_pwcr0;	uchar	res1[3];	uchar	pwm_pwcr1;	uchar	res2[3];	uchar	pwm_pwcr2;	uchar	res3[7];	uchar	pwm_pwwd0;	uchar	res4[3];	uchar	pwm_pwwd1;	uchar	res5[3];	uchar	pwm_pwwd2;	uchar	res6[7];} pwm_t;/* DMA module registers */typedef struct	dma_ctrl {	ulong	dma_dmr;	uchar	res1[2];	ushort	dma_dir;	ulong	dma_dbcr;	ulong	dma_dsar;	ulong	dma_ddar;	uchar	res2[12];} dma_t;/* UART module registers */typedef struct uart_ctrl {	uchar	uart_umr;	uchar	res1[3];	uchar	uart_usr_ucsr;	uchar	res2[3];	uchar	uart_ucr;	uchar	res3[3];	uchar	uart_urb_utb;	uchar	res4[3];	uchar	uart_uipcr_uacr;	uchar	res5[3];	uchar	uart_uisr_uimr;	uchar	res6[3];	uchar	uart_udu;	uchar	res7[3];	uchar	uart_udl;	uchar	res8[3];	uchar	uart_uabu;	uchar	res9[3];	uchar	uart_uabl;	uchar	res10[3];	uchar	uart_utf;	uchar	res11[3];	uchar	uart_urf;	uchar	res12[3];	uchar	uart_ufpd;	uchar	res13[3];	uchar	uart_uip;	uchar	res14[3];	uchar	uart_uop1;	uchar	res15[3];	uchar	uart_uop0;	uchar	res16[3];} uart_t;/* SDRAM controller registers, offset: 0x180 */typedef struct sdram_ctrl {	uchar   res1[2];	ushort	sdram_sdcr;	uchar	res2[2];	ushort	sdram_sdtr;	uchar	res3[120];} sdramctrl_t;/* Timer module registers */typedef struct timer_ctrl {	ushort	timer_tmr;	ushort	res1;	ushort	timer_trr;	ushort	res2;	ushort	timer_tcap;	ushort	res3;	ushort	timer_tcn;	ushort	res4;	ushort	timer_ter;	uchar	res5[14];} timer_t;/* Watchdog registers */typedef struct wdog_ctrl {	ushort	wdog_wrrr;	ushort	res1;	ushort	wdog_wirr;	ushort	res2;	ushort	wdog_wcr;	ushort	res3;	ushort	wdog_wer;	uchar	res4[114];} wdog_t;/* PLIC module registers */typedef struct plic_ctrl {	ulong	plic_p0b1rr;	ulong	plic_p1b1rr;	ulong	plic_p2b1rr;	ulong	plic_p3b1rr;	ulong	plic_p0b2rr;	ulong	plic_p1b2rr;	ulong	plic_p2b2rr;	ulong	plic_p3b2rr;	uchar	plic_p0drr;	uchar	plic_p1drr;	uchar	plic_p2drr;	uchar	plic_p3drr;	uchar	res1[4];	ulong	plic_p0b1tr;	ulong	plic_p1b1tr;	ulong	plic_p2b1tr;	ulong	plic_p3b1tr;	ulong	plic_p0b2tr;	ulong	plic_p1b2tr;	ulong	plic_p2b2tr;	ulong	plic_p3b2tr;	uchar	plic_p0dtr;	uchar	plic_p1dtr;	uchar	plic_p2dtr;	uchar	plic_p3dtr;	uchar	res2[4];	ushort	plic_p0cr;	ushort	plic_p1cr;	ushort	plic_p2cr;	ushort	plic_p3cr;	ushort	plic_p0icr;	ushort	plic_p1icr;	ushort	plic_p2icr;	ushort	plic_p3icr;	ushort	plic_p0gmr;	ushort	plic_p1gmr;	ushort	plic_p2gmr;	ushort	plic_p3gmr;	ushort	plic_p0gmt;	ushort	plic_p1gmt;	ushort	plic_p2gmt;	ushort	plic_p3gmt;	uchar	res3;	uchar	plic_pgmts;	uchar	plic_pgmta;	uchar	res4;	uchar	plic_p0gcir;	uchar	plic_p1gcir;	uchar	plic_p2gcir;	uchar	plic_p3gcir;	uchar	plic_p0gcit;	uchar	plic_p1gcit;	uchar	plic_p2gcit;	uchar	plic_p3gcit;	uchar	res5[3];	uchar	plic_pgcitsr;	uchar	res6[3];	uchar	plic_pdcsr;	ushort	plic_p0psr;	ushort	plic_p1psr;	ushort	plic_p2psr;	ushort	plic_p3psr;	ushort	plic_pasr;	uchar	res7;	uchar	plic_plcr;	ushort	res8;	ushort	plic_pdrqr;	ushort	plic_p0sdr;	ushort	plic_p1sdr;	ushort	plic_p2sdr;	ushort	plic_p3sdr;	ushort	res9;	ushort	plic_pcsr;	uchar	res10[1184];} plic_t;/* Fast ethernet controller registers */typedef struct fec {	uint	fec_ecntrl;		/* ethernet control register		*/	uint	fec_ievent;		/* interrupt event register		*/	uint	fec_imask;		/* interrupt mask register		*/	uint	fec_ivec;		/* interrupt level and vector status	*/	uint	fec_r_des_active;	/* Rx ring updated flag			*/	uint	fec_x_des_active;	/* Tx ring updated flag			*/	uint	res3[10];		/* reserved				*/	uint	fec_mii_data;		/* MII data register			*/	uint	fec_mii_speed;		/* MII speed control register		*/	uint	res4[17];		/* reserved				*/	uint	fec_r_bound;		/* end of RAM (read-only)		*/	uint	fec_r_fstart;		/* Rx FIFO start address		*/	uint	res5[6];		/* reserved				*/	uint	fec_x_fstart;		/* Tx FIFO start address		*/	uint	res7[21];		/* reserved				*/	uint	fec_r_cntrl;		/* Rx control register			*/	uint	fec_r_hash;		/* Rx hash register			*/	uint	res8[14];		/* reserved				*/	uint	fec_x_cntrl;		/* Tx control register			*/	uint	res9[0x9e];		/* reserved				*/	uint	fec_addr_low;		/* lower 32 bits of station address	*/	uint	fec_addr_high;		/* upper 16 bits of station address	*/	uint	fec_hash_table_high;	/* upper 32-bits of hash table		*/	uint	fec_hash_table_low;	/* lower 32-bits of hash table		*/	uint	fec_r_des_start;	/* beginning of Rx descriptor ring	*/	uint	fec_x_des_start;	/* beginning of Tx descriptor ring	*/	uint	fec_r_buff_size;	/* Rx buffer size			*/	uint	res2[9];		/* reserved				*/	uchar	fec_fifo[960];		/* fifo RAM				*/} fec_t;/* USB module registers*/typedef struct usb {	ushort	res1;	ushort	usb_fnr;	ushort	res2;	ushort	usb_fnmr;	ushort	res3;	ushort	usb_rfmr;	ushort	res4;	ushort	usb_rfmmr;	uchar	res5[3];	uchar	usb_far;	ulong	usb_asr;	ulong	usb_drr1;	ulong	usb_drr2;	ushort	res6;	ushort	usb_specr;	ushort	res7;	ushort	usb_ep0sr;	ulong	usb_iep0cfg;	ulong	usb_oep0cfg;	ulong	usb_ep1cfg;	ulong	usb_ep2cfg;	ulong	usb_ep3cfg;	ulong	usb_ep4cfg;	ulong	usb_ep5cfg;	ulong	usb_ep6cfg;	ulong	usb_ep7cfg;	ulong	usb_ep0ctl;	ushort	res8;	ushort	usb_ep1ctl;	ushort	res9;	ushort	usb_ep2ctl;	ushort	res10;	ushort	usb_ep3ctl;	ushort	res11;	ushort	usb_ep4ctl;	ushort	res12;	ushort	usb_ep5ctl;	ushort	res13;	ushort	usb_ep6ctl;	ushort	res14;	ushort	usb_ep7ctl;	ulong	usb_ep0isr;	ushort	res15;	ushort	usb_ep1isr;	ushort	res16;	ushort	usb_ep2isr;	ushort	res17;	ushort	usb_ep3isr;	ushort	res18;	ushort	usb_ep4isr;	ushort	res19;	ushort	usb_ep5isr;	ushort	res20;	ushort	usb_ep6isr;	ushort	res21;	ushort	usb_ep7isr;	ulong	usb_ep0imr;	ushort	res22;	ushort	usb_ep1imr;	ushort	res23;	ushort	usb_ep2imr;	ushort	res24;	ushort	usb_ep3imr;	ushort	res25;	ushort	usb_ep4imr;	ushort	res26;	ushort	usb_ep5imr;	ushort	res27;	ushort	usb_ep6imr;	ushort	res28;	ushort	usb_ep7imr;	ulong	usb_ep0dr;	ulong	usb_ep1dr;	ulong	usb_ep2dr;	ulong	usb_ep3dr;	ulong	usb_ep4dr;	ulong	usb_ep5dr;	ulong	usb_ep6dr;	ulong	usb_ep7dr;	ushort	res29;	ushort	usb_ep0dpr;	ushort	res30;	ushort	usb_ep1dpr;	ushort	res31;	ushort	usb_ep2dpr;	ushort	res32;	ushort	usb_ep3dpr;	ushort	res33;	ushort	usb_ep4dpr;	ushort	res34;	ushort	usb_ep5dpr;	ushort	res35;	ushort	usb_ep6dpr;	ushort	res36;	ushort	usb_ep7dpr;	uchar	res37[788];	uchar	usb_cfgram[1024];} usb_t;/* Internal memory map.*/typedef struct immap {	sysctrl_t	sysctrl_reg;	/* System configuration registers */	intctrl_t	intctrl_reg;	/* Interrupt controller registers */	csctrl_t	csctrl_reg;	/* Chip select controller registers */	gpio_t		gpio_reg;	/* GPIO controller registers */	qspi_t		qspi_reg;	/* QSPI controller registers */	pwm_t		pwm_reg;	/* Pulse width modulation registers */	dma_t		dma_reg;	/* DMA registers */	uart_t		uart_reg[2];	/* UART registers */	sdramctrl_t	sdram_reg;	/* SDRAM controller registers */	timer_t		timer_reg[4];	/* Timer registers */	wdog_t		wdog_reg;	/* Watchdog registers */	plic_t		plic_reg;	/* Physical layer interface registers */	fec_t		fec_reg;	/* Fast ethernet controller registers */	usb_t		usb_reg;	/* USB controller registers */} immap_t;#endif /* __IMMAP_5272__ */

⌨️ 快捷键说明

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