mcf5272.h

来自「umon bootloader source code, support mip」· C头文件 代码 · 共 1,559 行 · 第 1/5 页

H
1,559
字号
#define MCF5272_SIM_PMR_UART0PDN    0x00010000
#define MCF5272_SIM_PMR_USBWK       0x00000400
#define MCF5272_SIM_PMR_UART1WK     0x00000200
#define MCF5272_SIM_PMR_UART0WK     0x00000100
#define MCF5272_SIM_PMR_MOS         0x00000020
#define MCF5272_SIM_PMR_SLPEN       0x00000010

/**********************************************************************
*
* Interrupt Controller Registers
*
***********************************************************************/

/* Offsets of the registers from the MBAR */
#define MCF5272_SIM_ICR1		(0x0020)
#define MCF5272_SIM_ICR2		(0x0024)
#define MCF5272_SIM_ICR3		(0x0028)
#define MCF5272_SIM_ICR4		(0x002C)
#define MCF5272_SIM_ISR			(0x0030)
#define MCF5272_SIM_PITR		(0x0034)
#define MCF5272_SIM_PIWR		(0x0038)
#define MCF5272_SIM_PIVR		(0x003F)

/* Read access macros for general use */
#define MCF5272_RD_SIM_ICR1(IMMP)	Mcf5272_iord32(IMMP,MCF5272_SIM_ICR1)
#define MCF5272_RD_SIM_ICR2(IMMP)	Mcf5272_iord32(IMMP,MCF5272_SIM_ICR2)
#define MCF5272_RD_SIM_ICR3(IMMP)	Mcf5272_iord32(IMMP,MCF5272_SIM_ICR3)
#define MCF5272_RD_SIM_ICR4(IMMP)	Mcf5272_iord32(IMMP,MCF5272_SIM_ICR4)
#define MCF5272_RD_SIM_ISR(IMMP)	Mcf5272_iord32(IMMP,MCF5272_SIM_ISR)
#define MCF5272_RD_SIM_PITR(IMMP)	Mcf5272_iord32(IMMP,MCF5272_SIM_PITR)
#define MCF5272_RD_SIM_PIWR(IMMP)	Mcf5272_iord32(IMMP,MCF5272_SIM_PIWR)
#define MCF5272_RD_SIM_PIVR(IMMP)	Mcf5272_iord8(IMMP,MCF5272_SIM_PIVR)

/* Write access macros for general use */
#define MCF5272_WR_SIM_ICR1(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_SIM_ICR1,DATA)
#define MCF5272_WR_SIM_ICR2(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_SIM_ICR2,DATA)
#define MCF5272_WR_SIM_ICR3(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_SIM_ICR3,DATA)
#define MCF5272_WR_SIM_ICR4(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_SIM_ICR4,DATA)
#define MCF5272_WR_SIM_PITR(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_SIM_PITR,DATA)
#define MCF5272_WR_SIM_PIWR(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_SIM_PIWR,DATA)
#define MCF5272_WR_SIM_PIVR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_SIM_PIVR,DATA)

/* Bit level definitions and macros */
#define MCF5272_SIM_ICR_INT1_IL(a)	( 0x80000000 | (((a)&0x07)<<28)	)
#define MCF5272_SIM_ICR_INT2_IL(a)	( 0x08000000 | (((a)&0x07)<<24)	)
#define MCF5272_SIM_ICR_INT3_IL(a)	( 0x00800000 | (((a)&0x07)<<20)	)
#define MCF5272_SIM_ICR_INT4_IL(a)	( 0x00080000 | (((a)&0x07)<<16)	)
#define MCF5272_SIM_ICR_TMR0_IL(a)	( 0x00008000 | (((a)&0x07)<<12)	)
#define MCF5272_SIM_ICR_TMR1_IL(a)	( 0x00000800 | (((a)&0x07)<<8) )
#define MCF5272_SIM_ICR_TMR2_IL(a)	( 0x00000080 | (((a)&0x07)<<4) )
#define MCF5272_SIM_ICR_TMR3_IL(a)	( 0x00000008 | ((a)&0x07) )
#define MCF5272_SIM_ICR_TMR_IL(a,x)	( (0x8 | ((a)&0x07)) << ((3-x)*4))

#define MCF5272_SIM_ICR_UART0_IL(a)	( 0x80000000 | (((a)&0x07)<<28)	)
#define MCF5272_SIM_ICR_UART1_IL(a)	( 0x08000000 | (((a)&0x07)<<24)	)
#define MCF5272_SIM_ICR_PLIP_IL(a)	( 0x00800000 | (((a)&0x07)<<20)	)
#define MCF5272_SIM_ICR_PLIA_IL(a)	( 0x00080000 | (((a)&0x07)<<16)	)
#define MCF5272_SIM_ICR_USB0_IL(a)	( 0x00008000 | (((a)&0x07)<<12)	)
#define MCF5272_SIM_ICR_USB1_IL(a)	( 0x00000800 | (((a)&0x07)<<8) )
#define MCF5272_SIM_ICR_USB2_IL(a)	( 0x00000800 | (((a)&0x07)<<4) )
#define MCF5272_SIM_ICR_USB3_IL(a)	( 0x00000800 | ((a)&0x07) )

#define MCF5272_SIM_ICR_USB4_IL(a)	( 0x80000000 | (((a)&0x07)<<28)	)
#define MCF5272_SIM_ICR_USB5_IL(a)	( 0x08000000 | (((a)&0x07)<<24)	)
#define MCF5272_SIM_ICR_USB6_IL(a)	( 0x00800000 | (((a)&0x07)<<20)	)
#define MCF5272_SIM_ICR_USB7_IL(a)	( 0x00080000 | (((a)&0x07)<<16)	)
#define MCF5272_SIM_ICR_DMA_IL(a)	( 0x00008000 | (((a)&0x07)<<12)	)
#define MCF5272_SIM_ICR_ERX_IL(a)	( 0x00000800 | (((a)&0x07)<<8) )
#define MCF5272_SIM_ICR_ETX_IL(a)	( 0x00000080 | (((a)&0x07)<<4) )
#define MCF5272_SIM_ICR_ENTC_IL(a)	( 0x00000008 | ((a)&0x07) )

#define MCF5272_SIM_ICR_QSPI_IL(a)	( 0x80000000 | (((a)&0x07)<<28)	)
#define MCF5272_SIM_ICR_INT5_IL(a)	( 0x08000000 | (((a)&0x07)<<24)	)
#define MCF5272_SIM_ICR_INT6_IL(a)	( 0x00800000 | (((a)&0x07)<<20)	)
#define MCF5272_SIM_ICR_SWTO_IL(a)	( 0x00080000 | (((a)&0x07)<<16)	)

#define MCF5272_SIM_PITR_POS_EDGE	(0xF0000060)
#define MCF5272_SIM_PITR_NEG_EDGE	(0x00000000)

#define MCF5272_SIM_PIWR_INT1			(0x80000000)
#define MCF5272_SIM_PIWR_INT2			(0x40000000)
#define MCF5272_SIM_PIWR_INT3			(0x20000000)
#define MCF5272_SIM_PIWR_INT4			(0x10000000)
#define MCF5272_SIM_PIWR_TMR0			(0x08000000)
#define MCF5272_SIM_PIWR_TMR1			(0x04000000)
#define MCF5272_SIM_PIWR_TMR2			(0x02000000)
#define MCF5272_SIM_PIWR_TMR3			(0x01000000)
#define MCF5272_SIM_PIWR_UART0		(0x00800000)
#define MCF5272_SIM_PIWR_UART1		(0x00400000)
#define MCF5272_SIM_PIWR_PLIP			(0x00200000)
#define MCF5272_SIM_PIWR_PLIA			(0x00100000)
#define MCF5272_SIM_PIWR_USB_0			(0x00080000)
#define MCF5272_SIM_PIWR_USB_1			(0x00040000)
#define MCF5272_SIM_PIWR_USB_2			(0x00020000)
#define MCF5272_SIM_PIWR_USB_3			(0x00010000)
#define MCF5272_SIM_PIWR_USB_4			(0x00008000)
#define MCF5272_SIM_PIWR_USB_5			(0x00004000)
#define MCF5272_SIM_PIWR_USB_6			(0x00002000)
#define MCF5272_SIM_PIWR_USB_7			(0x00001000)
#define MCF5272_SIM_PIWR_DMA			(0x00000800)
#define MCF5272_SIM_PIWR_ERx			(0x00000400)
#define MCF5272_SIM_PIWR_ETx			(0x00000200)
#define MCF5272_SIM_PIWR_ENTC			(0x00000100)
#define MCF5272_SIM_PIWR_QSPI			(0x00000080)
#define MCF5272_SIM_PIWR_INT5			(0x00000040)
#define MCF5272_SIM_PIWR_INT6			(0x00000020)
#define MCF5272_SIM_PIWR_SWTO			(0x00000010)

#define MCF5272_SIM_PIVR_IL(a)		(((a)&0x07)<<5)
#define MCF5272_SIM_PIVR_NORMAL		(0x40)

/**********************************************************************
*
* Chip Select Registers
*
***********************************************************************/

/* Offsets of the registers from the MBAR */
#define MCF5272_CS_CSBR0	(0x0040)
#define MCF5272_CS_CSOR0	(0x0044)
#define MCF5272_CS_CSBR1	(0x0048)
#define MCF5272_CS_CSOR1	(0x004C)
#define MCF5272_CS_CSBR2	(0x0050)
#define MCF5272_CS_CSOR2	(0x0054)
#define MCF5272_CS_CSBR3	(0x0058)
#define MCF5272_CS_CSOR3	(0x005C)
#define MCF5272_CS_CSBR4	(0x0060)
#define MCF5272_CS_CSOR4	(0x0064)
#define MCF5272_CS_CSBR5	(0x0068)
#define MCF5272_CS_CSOR5	(0x006C)
#define MCF5272_CS_CSBR6	(0x0070)
#define MCF5272_CS_CSOR6	(0x0074)
#define MCF5272_CS_CSBR7	(0x0078)
#define MCF5272_CS_CSOR7	(0x007C)

/* Read access macros for general use */
#define MCF5272_RD_CS_CSBR0(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSBR0)
#define MCF5272_RD_CS_CSOR0(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSOR0)
#define MCF5272_RD_CS_CSBR1(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSBR1)
#define MCF5272_RD_CS_CSOR1(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSOR1)
#define MCF5272_RD_CS_CSBR2(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSBR2)
#define MCF5272_RD_CS_CSOR2(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSOR2)
#define MCF5272_RD_CS_CSBR3(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSBR3)
#define MCF5272_RD_CS_CSOR3(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSOR3)
#define MCF5272_RD_CS_CSBR4(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSBR4)
#define MCF5272_RD_CS_CSOR4(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSOR4)
#define MCF5272_RD_CS_CSBR5(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSBR5)
#define MCF5272_RD_CS_CSOR5(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSOR5)
#define MCF5272_RD_CS_CSBR6(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSBR6)
#define MCF5272_RD_CS_CSOR6(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSOR6)
#define MCF5272_RD_CS_CSBR7(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSBR7)
#define MCF5272_RD_CS_CSOR7(IMMP)	Mcf5272_iord32(IMMP,MCF5272_CS_CSOR7)

/* Write access macros for general use */
#define MCF5272_WR_CS_CSBR0(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSBR0,DATA)
#define MCF5272_WR_CS_CSOR0(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSOR0,DATA)
#define MCF5272_WR_CS_CSBR1(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSBR1,DATA)
#define MCF5272_WR_CS_CSOR1(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSOR1,DATA)
#define MCF5272_WR_CS_CSBR2(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSBR2,DATA)
#define MCF5272_WR_CS_CSOR2(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSOR2,DATA)
#define MCF5272_WR_CS_CSBR3(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSBR3,DATA)
#define MCF5272_WR_CS_CSOR3(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSOR3,DATA)
#define MCF5272_WR_CS_CSBR4(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSBR4,DATA)
#define MCF5272_WR_CS_CSOR4(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSOR4,DATA)
#define MCF5272_WR_CS_CSBR5(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSBR5,DATA)
#define MCF5272_WR_CS_CSOR5(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSOR5,DATA)
#define MCF5272_WR_CS_CSBR6(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSBR6,DATA)
#define MCF5272_WR_CS_CSOR6(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSOR6,DATA)
#define MCF5272_WR_CS_CSBR7(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSBR7,DATA)
#define MCF5272_WR_CS_CSOR7(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_CS_CSOR7,DATA)

/* Bit level definitions and macros */
#define MCF5272_CS_BR_BASE(a)			((a)&0xFFFFF000)

#define MCF5272_CS_OR_MASK_32M			(0xFE000000)
#define MCF5272_CS_OR_MASK_16M			(0xFF000000)
#define MCF5272_CS_OR_MASK_8M			(0xFF800000)
#define MCF5272_CS_OR_MASK_4M			(0xFFC00000)
#define MCF5272_CS_OR_MASK_2M			(0xFFE00000)
#define MCF5272_CS_OR_MASK_1M			(0xFFF00000)
#define MCF5272_CS_OR_MASK_512K			(0xFFF80000)
#define MCF5272_CS_OR_MASK_256K			(0xFFFC0000)
#define MCF5272_CS_OR_MASK_128K			(0xFFFE0000)
#define MCF5272_CS_OR_MASK_64K			(0xFFFF0000)
#define MCF5272_CS_OR_MASK_32K			(0xFFFF8000)
#define MCF5272_CS_OR_MASK_16K			(0xFFFFC000)
#define MCF5272_CS_OR_MASK_8K			(0xFFFFE000)
#define MCF5272_CS_OR_MASK_4K			(0xFFFFF000)
#define MCF5272_CS_OR_WS_MASK			(0x007C)
#define MCF5272_CS_OR_WS(a)				(((a)&0x1F)<<2)
#define MCF5272_CS_OR_ASET				(0x8000)
#define MCF5272_CS_OR_RDAH				(0x4000)
#define MCF5272_CS_OR_WRAH				(0x2000)
#define MCF5272_CS_OR_BRST				(0x0100)
#define MCF5272_CS_OR_RD				(0x0003)
#define MCF5272_CS_OR_WR				(0x0001)

#define MCF5272_CS_BR_PS_8				(0x0100)
#define MCF5272_CS_BR_PS_16				(0x0200)
#define MCF5272_CS_BR_PS_32				(0x0000)
#define MCF5272_CS_BR_PS_LINE			(0x0300)
#define MCF5272_CS_BR_ROM				(0x0000)
#define MCF5272_CS_BR_SRAM				(0x0000)
#define MCF5272_CS_BR_SRAM_8			(0x0C00)
#define MCF5272_CS_BR_SDRAM				(0x0400)
#define MCF5272_CS_BR_ISA				(0x0800)
#define MCF5272_CS_BR_SV				(0x0080)
#define MCF5272_CS_BR_EN				(0x0001)

/**********************************************************************
*
* Ports Registers Description
*
***********************************************************************/

/* Offsets of the registers from the MBAR */
#define MCF5272_GPIO_PACNT		(0x0080)
#define MCF5272_GPIO_PADDR		(0x0084)
#define MCF5272_GPIO_PADAT		(0x0086)
#define MCF5272_GPIO_PBCNT		(0x0088)
#define MCF5272_GPIO_PBDDR		(0x008C)
#define MCF5272_GPIO_PBDAT		(0x008E)
#define MCF5272_GPIO_PCDDR		(0x0094)
#define MCF5272_GPIO_PCDAT		(0x0096)
#define MCF5272_GPIO_PDCNT		(0x0098)

/* Read access macros for general use */
#define MCF5272_RD_GPIO_PACNT(IMMP)	Mcf5272_iord32(IMMP,MCF5272_GPIO_PACNT)
#define MCF5272_RD_GPIO_PADDR(IMMP)	Mcf5272_iord16(IMMP,MCF5272_GPIO_PADDR)
#define MCF5272_RD_GPIO_PADAT(IMMP)	Mcf5272_iord16(IMMP,MCF5272_GPIO_PADAT)
#define MCF5272_RD_GPIO_PBCNT(IMMP)	Mcf5272_iord32(IMMP,MCF5272_GPIO_PBCNT)
#define MCF5272_RD_GPIO_PBDDR(IMMP)	Mcf5272_iord16(IMMP,MCF5272_GPIO_PBDDR)
#define MCF5272_RD_GPIO_PBDAT(IMMP)	Mcf5272_iord16(IMMP,MCF5272_GPIO_PBDAT)
#define MCF5272_RD_GPIO_PCDDR(IMMP)	Mcf5272_iord16(IMMP,MCF5272_GPIO_PCDDR)
#define MCF5272_RD_GPIO_PCDAT(IMMP)	Mcf5272_iord16(IMMP,MCF5272_GPIO_PCDAT)
#define MCF5272_RD_GPIO_PDCNT(IMMP)	Mcf5272_iord32(IMMP,MCF5272_GPIO_PDCNT)

/* Write access macros for general use */
#define MCF5272_WR_GPIO_PACNT(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_GPIO_PACNT,DATA)
#define MCF5272_WR_GPIO_PADDR(IMMP,DATA)	\
	Mcf5272_iowr16(IMMP,MCF5272_GPIO_PADDR,DATA)
#define MCF5272_WR_GPIO_PADAT(IMMP,DATA)	\
	Mcf5272_iowr16(IMMP,MCF5272_GPIO_PADAT,DATA)
#define MCF5272_WR_GPIO_PBCNT(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_GPIO_PBCNT,DATA)
#define MCF5272_WR_GPIO_PBDDR(IMMP,DATA)	\
	Mcf5272_iowr16(IMMP,MCF5272_GPIO_PBDDR,DATA)
#define MCF5272_WR_GPIO_PBDAT(IMMP,DATA)	\
	Mcf5272_iowr16(IMMP,MCF5272_GPIO_PBDAT,DATA)
#define MCF5272_WR_GPIO_PCDDR(IMMP,DATA)	\
	Mcf5272_iowr16(IMMP,MCF5272_GPIO_PCDDR,DATA)
#define MCF5272_WR_GPIO_PCDAT(IMMP,DATA)	\
	Mcf5272_iowr16(IMMP,MCF5272_GPIO_PCDAT,DATA)
#define MCF5272_WR_GPIO_PDCNT(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_GPIO_PDCNT,DATA)

/* Bit level definitions and macros */
#define MCF5272_GPIO_DDR15_INPUT	(~0x80)
#define MCF5272_GPIO_DDR15_OUTPUT	( 0x80)
#define MCF5272_GPIO_DDR14_INPUT	(~0x40)
#define MCF5272_GPIO_DDR14_OUTPUT	( 0x40)
#define MCF5272_GPIO_DDR13_INPUT	(~0x20)
#define MCF5272_GPIO_DDR13_OUTPUT	( 0x20)
#define MCF5272_GPIO_DDR12_INPUT	(~0x10)
#define MCF5272_GPIO_DDR12_OUTPUT	( 0x10)
#define MCF5272_GPIO_DDR11_INPUT	(~0x08)
#define MCF5272_GPIO_DDR11_OUTPUT	( 0x08)
#define MCF5272_GPIO_DDR10_INPUT	(~0x04)
#define MCF5272_GPIO_DDR10_OUTPUT	( 0x04)
#define MCF5272_GPIO_DDR9_INPUT		(~0x02)
#define MCF5272_GPIO_DDR9_OUTPUT	( 0x02)
#define MCF5272_GPIO_DDR8_INPUT		(~0x01)
#define MCF5272_GPIO_DDR8_OUTPUT	( 0x01)
#define MCF5272_GPIO_DDR7_INPUT		(~0x80)
#define MCF5272_GPIO_DDR7_OUTPUT	( 0x80)
#define MCF5272_GPIO_DDR6_INPUT		(~0x40)
#define MCF5272_GPIO_DDR6_OUTPUT	( 0x40)
#define MCF5272_GPIO_DDR5_INPUT		(~0x20)
#define MCF5272_GPIO_DDR5_OUTPUT	( 0x20)
#define MCF5272_GPIO_DDR4_INPUT		(~0x10)
#define MCF5272_GPIO_DDR4_OUTPUT	( 0x10)
#define MCF5272_GPIO_DDR3_INPUT		(~0x08)
#define MCF5272_GPIO_DDR3_OUTPUT	( 0x08)
#define MCF5272_GPIO_DDR2_INPUT		(~0x04)
#define MCF5272_GPIO_DDR2_OUTPUT	( 0x04)
#define MCF5272_GPIO_DDR1_INPUT		(~0x02)
#define MCF5272_GPIO_DDR1_OUTPUT	( 0x02)
#define MCF5272_GPIO_DDR0_INPUT		(~0x01)

⌨️ 快捷键说明

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