immap_512x.h

来自「最新版的u-boot,2008-10-18发布」· C头文件 代码 · 共 619 行 · 第 1/2 页

H
619
字号
/* * MSCAN */typedef struct mscan512x {	u8 fixme[0x100];} mscan512x_t;/* * BDLC */typedef struct bdlc512x {	u8 fixme[0x100];} bdlc512x_t;/* * SDHC */typedef struct sdhc512x {	u8 fixme[0x100];} sdhc512x_t;/* * SPDIF */typedef struct spdif512x {	u8 fixme[0x100];} spdif512x_t;/* * I2C */typedef struct i2c512x_dev {	volatile u32 madr;		/* I2Cn + 0x00 */	volatile u32 mfdr;		/* I2Cn + 0x04 */	volatile u32 mcr;		/* I2Cn + 0x08 */	volatile u32 msr;		/* I2Cn + 0x0C */	volatile u32 mdr;		/* I2Cn + 0x10 */	u8 res0[0x0C];} i2c512x_dev_t;typedef struct i2c512x {	i2c512x_dev_t dev[3];	volatile u32 icr;	volatile u32 mifr;	u8 res0[0x98];} i2c512x_t;/* * AXE */typedef struct axe512x {	u8 fixme[0x100];} axe512x_t;/* * DIU */typedef struct diu512x {	u8 fixme[0x100];} diu512x_t;/* * CFM */typedef struct cfm512x {	u8 fixme[0x100];} cfm512x_t;/* * FEC */typedef struct fec512x {	u8 fixme[0x800];} fec512x_t;/* * ULPI */typedef struct ulpi512x {	u8 fixme[0x600];} ulpi512x_t;/* * UTMI */typedef struct utmi512x {	u8 fixme[0x3000];} utmi512x_t;/* * PCI DMA */typedef struct pcidma512x {	u8 fixme[0x300];} pcidma512x_t;/* * IO Control */typedef struct ioctrl512x {	u32 regs[0x400];} ioctrl512x_t;/* * IIM */typedef struct iim512x {	u8 fixme[0x1000];} iim512x_t;/* * LPC */typedef struct lpc512x {	u32	cs_cfg[8];	/* Chip Select N Configuration Registers				   No dedicated entry for CS Boot as == CS0 */	u32	cs_cr;		/* Chip Select Control Register */	u32	cs_sr;		/* Chip Select Status Register */	u32	cs_bcr;		/* Chip Select Burst Control Register */	u32	cs_dccr;	/* Chip Select Deadcycle Control Register */	u32	cs_hccr;	/* Chip Select Holdcycle Control Register */	u8	res0[0xcc];	u32	sclpc_psr;	/* SCLPC Packet Size Register */	u32	sclpc_sar;	/* SCLPC Start Address Register */	u32	sclpc_cr;	/* SCLPC Control Register */	u32	sclpc_er;	/* SCLPC Enable Register */	u32	sclpc_nar;	/* SCLPC NextAddress Register */	u32	sclpc_sr;	/* SCLPC Status Register */	u32	sclpc_bdr;	/* SCLPC Bytes Done Register */	u32	emb_scr;	/* EMB Share Counter Register */	u32	emb_pcr;	/* EMB Pause Control Register */	u8	res1[0x1c];	u32	lpc_fdwr;	/* LPC RX/TX FIFO Data Word Register */	u32	lpc_fsr;	/* LPC RX/TX FIFO Status Register */	u32	lpc_cr;		/* LPC RX/TX FIFO Control Register */	u32	lpc_ar;		/* LPC RX/TX FIFO Alarm Register */	u8	res2[0xb0];} lpc512x_t;/* * PATA */typedef struct pata512x {	u8 fixme[0x100];} pata512x_t;/* * PSC */typedef struct psc512x {	volatile u8	mode;		/* PSC + 0x00 */	volatile u8	res0[3];	union {				/* PSC + 0x04 */		volatile u16	status;		volatile u16	clock_select;	} sr_csr;#define psc_status	sr_csr.status#define psc_clock_select sr_csr.clock_select	volatile u16	res1;	volatile u8	command;	/* PSC + 0x08 */	volatile u8	res2[3];	union {				/* PSC + 0x0c */		volatile u8	buffer_8;		volatile u16	buffer_16;		volatile u32	buffer_32;	} buffer;#define psc_buffer_8	buffer.buffer_8#define psc_buffer_16	buffer.buffer_16#define psc_buffer_32	buffer.buffer_32	union {				/* PSC + 0x10 */		volatile u8	ipcr;		volatile u8	acr;	} ipcr_acr;#define psc_ipcr	ipcr_acr.ipcr#define psc_acr		ipcr_acr.acr	volatile u8	res3[3];	union {				/* PSC + 0x14 */		volatile u16	isr;		volatile u16	imr;	} isr_imr;#define psc_isr		isr_imr.isr#define psc_imr		isr_imr.imr	volatile u16	res4;	volatile u8	ctur;		/* PSC + 0x18 */	volatile u8	res5[3];	volatile u8	ctlr;		/* PSC + 0x1c */	volatile u8	res6[3];	volatile u32	ccr;		/* PSC + 0x20 */	volatile u8	res7[12];	volatile u8	ivr;		/* PSC + 0x30 */	volatile u8	res8[3];	volatile u8	ip;		/* PSC + 0x34 */	volatile u8	res9[3];	volatile u8	op1;		/* PSC + 0x38 */	volatile u8	res10[3];	volatile u8	op0;		/* PSC + 0x3c */	volatile u8	res11[3];	volatile u32	sicr;		/* PSC + 0x40 */	volatile u8	res12[60];	volatile u32	tfcmd;		/* PSC + 0x80 */	volatile u32	tfalarm;	/* PSC + 0x84 */	volatile u32	tfstat;		/* PSC + 0x88 */	volatile u32	tfintstat;	/* PSC + 0x8C */	volatile u32	tfintmask;	/* PSC + 0x90 */	volatile u32	tfcount;	/* PSC + 0x94 */	volatile u16	tfwptr;		/* PSC + 0x98 */	volatile u16	tfrptr;		/* PSC + 0x9A */	volatile u32	tfsize;		/* PSC + 0x9C */	volatile u8	res13[28];	union {				/* PSC + 0xBC */		volatile u8	buffer_8;		volatile u16	buffer_16;		volatile u32	buffer_32;	} tfdata_buffer;#define tfdata_8	tfdata_buffer.buffer_8#define tfdata_16	tfdata_buffer.buffer_16#define tfdata_32	tfdata_buffer.buffer_32	volatile u32	rfcmd;		/* PSC + 0xC0 */	volatile u32	rfalarm;	/* PSC + 0xC4 */	volatile u32	rfstat;		/* PSC + 0xC8 */	volatile u32	rfintstat;	/* PSC + 0xCC */	volatile u32	rfintmask;	/* PSC + 0xD0 */	volatile u32	rfcount;	/* PSC + 0xD4 */	volatile u16	rfwptr;		/* PSC + 0xD8 */	volatile u16	rfrptr;		/* PSC + 0xDA */	volatile u32	rfsize;		/* PSC + 0xDC */	volatile u8	res18[28];	union {				/* PSC + 0xFC */		volatile u8	buffer_8;		volatile u16	buffer_16;		volatile u32	buffer_32;	} rfdata_buffer;#define rfdata_8	rfdata_buffer.buffer_8#define rfdata_16	rfdata_buffer.buffer_16#define rfdata_32	rfdata_buffer.buffer_32} psc512x_t;/* * FIFOC */typedef struct fifoc512x {	u32 fifoc_cmd;	u32 fifoc_int;	u32 fifoc_dma;	u32 fifoc_axe;	u32 fifoc_debug;	u8 fixme[0xEC];} fifoc512x_t;/* * SATA */typedef struct sata512x {	u8 fixme[0x2000];} sata512x_t;typedef struct immap {	sysconf512x_t		sysconf;	/* System configuration */	u8			res0[0x700];	wdt512x_t		wdt;		/* Watch Dog Timer (WDT) */	rtclk512x_t		rtc;		/* Real Time Clock Module */	gpt512x_t		gpt;		/* General Purpose Timer */	ipic512x_t		ipic;		/* Integrated Programmable Interrupt Controller */	arbiter512x_t		arbiter;	/* CSB Arbiter */	reset512x_t		reset;		/* Reset Module */	clk512x_t		clk;		/* Clock Module */	pmc512x_t		pmc;		/* Power Management Control Module */	gpio512x_t		gpio;		/* General purpose I/O module */	u8			res1[0x100];	mscan512x_t		mscan;		/* MSCAN */	bdlc512x_t		bdlc;		/* BDLC */	sdhc512x_t		sdhc;		/* SDHC */	spdif512x_t		spdif;		/* SPDIF */	i2c512x_t		i2c;		/* I2C Controllers */	u8			res2[0x800];	axe512x_t		axe;		/* AXE */	diu512x_t		diu;		/* Display Interface Unit */	cfm512x_t		cfm;		/* Clock Frequency Measurement */	u8			res3[0x500];	fec512x_t		fec;		/* Fast Ethernet Controller */	ulpi512x_t		ulpi;		/* USB ULPI */	u8			res4[0xa00];	utmi512x_t		utmi;		/* USB UTMI */	u8			res5[0x1000];	pcidma512x_t		pci_dma;	/* PCI DMA */	pciconf512x_t		pci_conf;	/* PCI Configuration */	u8			res6[0x80];	ios512x_t		ios;		/* PCI Sequencer */	pcictrl512x_t		pci_ctrl;	/* PCI Controller Control and Status */	u8			res7[0xa00];	ddr512x_t		mddrc;		/* Multi-port DDR Memory Controller */	ioctrl512x_t		io_ctrl;	/* IO Control */	iim512x_t		iim;		/* IC Identification module */	u8			res8[0x4000];	lpc512x_t		lpc;		/* LocalPlus Controller */	pata512x_t		pata;		/* Parallel ATA */	u8			res9[0xd00];	psc512x_t		psc[12];	/* PSCs */	u8			res10[0x300];	fifoc512x_t		fifoc;		/* FIFO Controller */	u8			res11[0x2000];	dma512x_t		dma;		/* DMA */	u8			res12[0xa800];	sata512x_t		sata;		/* Serial ATA */	u8			res13[0xde000];} immap_t;#endif /* __IMMAP_512x__ */

⌨️ 快捷键说明

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