mcf5272.h

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

H
1,559
字号
#define MCF5272_GPIO_DDR0_OUTPUT	( 0x01)

#define MCF5272_GPIO_DAT15			( 0x80)
#define MCF5272_GPIO_DAT14			( 0x40)
#define MCF5272_GPIO_DAT13			( 0x20)
#define MCF5272_GPIO_DAT12			( 0x10)
#define MCF5272_GPIO_DAT11			( 0x08)
#define MCF5272_GPIO_DAT10			( 0x04)
#define MCF5272_GPIO_DAT9			( 0x02)
#define MCF5272_GPIO_DAT8			( 0x01)
#define MCF5272_GPIO_DAT7			( 0x80)
#define MCF5272_GPIO_DAT6			( 0x40)
#define MCF5272_GPIO_DAT5			( 0x20)
#define MCF5272_GPIO_DAT4			( 0x10)
#define MCF5272_GPIO_DAT3			( 0x08)
#define MCF5272_GPIO_DAT2			( 0x04)
#define MCF5272_GPIO_DAT1			( 0x02)
#define MCF5272_GPIO_DAT0			( 0x01)


/**********************************************************************
*
* QSPI Module Registers Description
*
***********************************************************************/

/* Offsets of the registers from the MBAR */
#define MCF5272_QSPI_QMR		(0x00A0)
#define MCF5272_QSPI_QDLYR		(0x00A4)
#define MCF5272_QSPI_QWR		(0x00A8)
#define MCF5272_QSPI_QIR		(0x00AC)
#define MCF5272_QSPI_QAR		(0x00B0)
#define MCF5272_QSPI_QDR		(0x00B4)

/* Read access macros for general use */
#define MCF5272_RD_QSPI_QMR(IMMP)	\
	Mcf5272_iord16(IMMP,MCF5272_QSPI_QMR)
#define MCF5272_RD_QSPI_QDLYR(IMMP)	\
	Mcf5272_iord16(IMMP,MCF5272_QSPI_QDLYR)
#define MCF5272_RD_QSPI_QWR(IMMP)	\
	Mcf5272_iord16(IMMP,MCF5272_QSPI_QWR)
#define MCF5272_RD_QSPI_QIR(IMMP)		\
	Mcf5272_iord16(IMMP,MCF5272_QSPI_QIR)
#define MCF5272_RD_QSPI_QAR(IMMP)	\
	Mcf5272_iord16(IMMP,MCF5272_QSPI_QAR)
#define MCF5272_RD_QSPI_QDR(IMMP)	\
	Mcf5272_iord16(IMMP,MCF5272_QSPI_QDR)

/* Write access macros for general use */
#define MCF5272_WR_QSPI_QMR(IMMP,DATA)	\
	Mcf5272_iowr16(IMMP,MCF5272_QSPI_QMR,DATA)
#define MCF5272_WR_QSPI_QDLYR(IMMP,DATA)	\
	Mcf5272_iowr16(IMMP,MCF5272_QSPI_QDLYR,DATA)
#define MCF5272_WR_QSPI_QWR(IMMP,DATA)	\
	Mcf5272_iowr16(IMMP,MCF5272_QSPI_QWR,DATA)
#define MCF5272_WR_QSPI_QIR(IMMP,DATA)		\
	Mcf5272_iowr16(IMMP,MCF5272_QSPI_QIR,DATA)
#define MCF5272_WR_QSPI_QAR(IMMP,DATA)	\
	Mcf5272_iowr16(IMMP,MCF5272_QSPI_QAR,DATA)
#define MCF5272_WR_QSPI_QDR(IMMP,DATA)	\
	Mcf5272_iowr16(IMMP,MCF5272_QSPI_QDR,DATA)


/**********************************************************************
*
* PWM Module Registers Description
*
***********************************************************************/

/* Offsets of the registers from the MBAR */
#define MCF5272_PWM_PWMCR1		(0x00C0)
#define MCF5272_PWM_PWMCR2		(0x00C4)
#define MCF5272_PWM_PWMCR3		(0x00C8)
#define MCF5272_PWM_PWMWD1		(0x00D0)
#define MCF5272_PWM_PWMWD2		(0x00D4)
#define MCF5272_PWM_PWMWD3		(0x00D8)

/* Read access macros for general use */
#define MCF5272_RD_PWM_PWMCR1(IMMP)	Mcf5272_iord8(IMMP,MCF5272_PWM_PWMCR1)
#define MCF5272_RD_PWM_PWMCR2(IMMP)	Mcf5272_iord8(IMMP,MCF5272_PWM_PWMCR2)
#define MCF5272_RD_PWM_PWMCR3(IMMP)	Mcf5272_iord8(IMMP,MCF5272_PWM_PWMCR3)
#define MCF5272_RD_PWM_PWMWD1(IMMP)	Mcf5272_iord8(IMMP,MCF5272_PWM_PWMWD1)
#define MCF5272_RD_PWM_PWMWD2(IMMP)	Mcf5272_iord8(IMMP,MCF5272_PWM_PWMWD2)
#define MCF5272_RD_PWM_PWMWD3(IMMP)	Mcf5272_iord8(IMMP,MCF5272_PWM_PWMWD3)

/* Write access macros for general use */
#define MCF5272_WR_PWM_PWMCR1(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_PWM_PWMCR1,DATA)
#define MCF5272_WR_PWM_PWMCR2(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_PWM_PWMCR2,DATA)
#define MCF5272_WR_PWM_PWMCR3(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_PWM_PWMCR3,DATA)
#define MCF5272_WR_PWM_PWMWD1(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_PWM_PWMWD1,DATA)
#define MCF5272_WR_PWM_PWMWD2(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_PWM_PWMWD2,DATA)
#define MCF5272_WR_PWM_PWMWD3(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_PWM_PWMWD3,DATA)

/**********************************************************************
*
* DMA Module Registers Description
*
***********************************************************************/

/* Offsets of the registers from the MBAR */
#define MCF5272_DMA_DCMR		(0x00E0)
#define MCF5272_DMA_DCIR		(0x00E6)
#define MCF5272_DMA_DBCR		(0x00E8)
#define MCF5272_DMA_DSAR		(0x00EC)
#define MCF5272_DMA_DDAR		(0x00F0)

/* Read access macros for general use */
#define MCF5272_RD_DMA_DCMR(IMMP)	Mcf5272_iord32(IMMP,MCF5272_DMA_DCMR)
#define MCF5272_RD_DMA_DCIR(IMMP)	Mcf5272_iord16(IMMP,MCF5272_DMA_DCIR)
#define MCF5272_RD_DMA_DBCR(IMMP)	Mcf5272_iord32(IMMP,MCF5272_DMA_DBCR)
#define MCF5272_RD_DMA_DSAR(IMMP)	Mcf5272_iord32(IMMP,MCF5272_DMA_DSAR)
#define MCF5272_RD_DMA_DDAR(IMMP)	Mcf5272_iord32(IMMP,MCF5272_DMA_DDAR)

/* Write access macros for general use */
#define MCF5272_WR_DMA_DCMR(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_DMA_DCMR,DATA)
#define MCF5272_WR_DMA_DCIR(IMMP,DATA)	\
	Mcf5272_iowr16(IMMP,MCF5272_DMA_DCIR,DATA)
#define MCF5272_WR_DMA_DBCR(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_DMA_DBCR,DATA)
#define MCF5272_WR_DMA_DSAR(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_DMA_DSAR,DATA)
#define MCF5272_WR_DMA_DDAR(IMMP,DATA)	\
	Mcf5272_iowr32(IMMP,MCF5272_DMA_DDAR,DATA)

/**********************************************************************
*
* USART Module Registers Description
*
***********************************************************************/

/* Offsets of the registers from the MBAR */
#define MCF5272_UART0_UMR		(0x0100)	/* RW */
#define MCF5272_UART0_USR		(0x0104)	/* USR RO, UCSR WO */
#define MCF5272_UART0_UCR		(0x0108)	/* WO */
#define MCF5272_UART0_UBUF		(0x010C)	/* URB RO, UTB WO */
#define MCF5272_UART0_UCCR		(0x0110)	/* UCCR RO, UACR WO */
#define MCF5272_UART0_UISR		(0x0114)	/* UISR RO, UIMR WO */
#define MCF5272_UART0_UBG1		(0x0118)	/* WO */
#define MCF5272_UART0_UBG2		(0x011C)	/* WO */
#define MCF5272_UART0_UABR1		(0x0120)	/* RO */
#define MCF5272_UART0_UABR2		(0x0124)	/* RO */
#define MCF5272_UART0_UTFCSR	(0x0128)	/* RW */
#define MCF5272_UART0_URFCSR	(0x012C)	/* RW */
#define MCF5272_UART0_UIP		(0x0134)	/* RO */
#define MCF5272_UART0_UOP1		(0x0138)	/* WO */
#define MCF5272_UART0_UOP0		(0x013C)	/* WO */

#define MCF5272_UART1_UMR		(0x0140)	/* RW */
#define MCF5272_UART1_USR		(0x0144)	/* USR RO, UCSR WO */
#define MCF5272_UART1_UCR		(0x0148)	/* WO */
#define MCF5272_UART1_UBUF		(0x014C)	/* URB RO, UTB WO */
#define MCF5272_UART1_UCCR		(0x0150)	/* UCCR RO, UACR WO */
#define MCF5272_UART1_UISR		(0x0154)	/* UISR RO, UIMR WO */
#define MCF5272_UART1_UBG1		(0x0158)	/* WO */
#define MCF5272_UART1_UBG2		(0x015C)	/* WO */
#define MCF5272_UART1_UABR1		(0x0160)	/* RO */
#define MCF5272_UART1_UABR2		(0x0164)	/* RO */
#define MCF5272_UART1_UTFCSR	(0x0168)	/* RW */
#define MCF5272_UART1_URFCSR	(0x016C)	/* RW */
#define MCF5272_UART1_UIP		(0x0174)	/* RO */
#define MCF5272_UART1_UOP1		(0x0178)	/* WO */
#define MCF5272_UART1_UOP0		(0x017C)	/* WO */

/* Read access macros for general use */
#define MCF5272_RD_UART0_UMR(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART0_UMR)
#define MCF5272_RD_UART0_USR(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART0_USR)
#define MCF5272_RD_UART0_URB(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART0_UBUF)
#define MCF5272_RD_UART0_UCCR(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART0_UCCR)
#define MCF5272_RD_UART0_UISR(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART0_UISR)
#define MCF5272_RD_UART0_UABR1(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART0_UABR1)
#define MCF5272_RD_UART0_UABR2(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART1_UABR2)
#define MCF5272_RD_UART0_UTFCSR(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART0_UTFCSR)
#define MCF5272_RD_UART0_URFCSR(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART0_URFCSR)
#define MCF5272_RD_UART0_UIP(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART0_UIP)

#define MCF5272_RD_UART1_UMR(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART1_UMR)
#define MCF5272_RD_UART1_USR(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART1_USR)
#define MCF5272_RD_UART1_URB(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART1_UBUF)
#define MCF5272_RD_UART1_UCCR(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART1_UCCR)
#define MCF5272_RD_UART1_UISR(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART1_UISR)
#define MCF5272_RD_UART1_UABR1(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART1_UABR1)
#define MCF5272_RD_UART1_UABR2(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART1_UABR2)
#define MCF5272_RD_UART1_UTFCSR(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART1_UTFCSR)
#define MCF5272_RD_UART1_URFCSR(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART1_URFCSR)
#define MCF5272_RD_UART1_UIP(IMMP)	\
	Mcf5272_iord8(IMMP,MCF5272_UART1_UIP)

/* Write access macros for general use */
#define MCF5272_WR_UART0_UMR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART0_UMR,DATA)
#define MCF5272_WR_UART0_UCSR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART0_USR,DATA)
#define MCF5272_WR_UART0_UCR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART0_UCR,DATA)
#define MCF5272_WR_UART0_UTB(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART0_UBUF,DATA)
#define MCF5272_WR_UART0_UACR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART0_UCCR,DATA)
#define MCF5272_WR_UART0_UIMR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART0_UISR,DATA)
#define MCF5272_WR_UART0_UBG1(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART0_UBG1,DATA)
#define MCF5272_WR_UART0_UBG2(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART0_UBG2,DATA)
#define MCF5272_WR_UART0_UTFCSR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART0_UTFCSR,DATA)
#define MCF5272_WR_UART0_URFCSR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART0_URFCSR,DATA)
#define MCF5272_WR_UART0_UOP1(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART0_UOP1,DATA)
#define MCF5272_WR_UART0_UOP0(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART0_UOP0,DATA)

#define MCF5272_WR_UART1_UMR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART1_UMR,DATA)
#define MCF5272_WR_UART1_UCSR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART1_USR,DATA)
#define MCF5272_WR_UART1_UCR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART1_UCR,DATA)
#define MCF5272_WR_UART1_UTB(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART1_UBUF,DATA)
#define MCF5272_WR_UART1_UACR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART1_UCCR,DATA)
#define MCF5272_WR_UART1_UIMR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART1_UISR,DATA)
#define MCF5272_WR_UART1_UBG1(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART1_UBG1,DATA)
#define MCF5272_WR_UART1_UBG2(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART1_UBG2,DATA)
#define MCF5272_WR_UART1_UTFCSR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART1_UTFCSR,DATA)
#define MCF5272_WR_UART1_URFCSR(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART1_URFCSR,DATA)
#define MCF5272_WR_UART1_UOP1(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART1_UOP1,DATA)
#define MCF5272_WR_UART1_UOP0(IMMP,DATA)	\
	Mcf5272_iowr8(IMMP,MCF5272_UART1_UOP0,DATA)

/* Bit level definitions and macros */
#define MCF5272_UART_UMR1_RXRTS			(0x80)
#define MCF5272_UART_UMR1_RXIRQ			(0x40)
#define MCF5272_UART_UMR1_ERR			(0x20)
#define MCF5272_UART_UMR1_PM_MULTI_ADDR	(0x1C)
#define MCF5272_UART_UMR1_PM_MULTI_DATA	(0x18)
#define MCF5272_UART_UMR1_PM_NONE		(0x10)
#define MCF5272_UART_UMR1_PM_FORCE_HI	(0x0C)
#define MCF5272_UART_UMR1_PM_FORCE_LO	(0x08)
#define MCF5272_UART_UMR1_PM_ODD		(0x04)
#define MCF5272_UART_UMR1_PM_EVEN		(0x00)
#define MCF5272_UART_UMR1_BC_5			(0x00)
#define MCF5272_UART_UMR1_BC_6			(0x01)
#define MCF5272_UART_UMR1_BC_7			(0x02)
#define MCF5272_UART_UMR1_BC_8			(0x03)

#define MCF5272_UART_UMR2_CM_NORMAL	  	(0x00)
#define MCF5272_UART_UMR2_CM_ECHO	  	(0x40)
#define MCF5272_UART_UMR2_CM_LOCAL_LOOP	(0x80)
#define MCF5272_UART_UMR2_CM_REMOTE_LOOP	(0xC0)
#define MCF5272_UART_UMR2_TXRTS		 	(0x20)
#define MCF5272_UART_UMR2_TXCTS		 	(0x10)
#define MCF5272_UART_UMR2_STOP_BITS_1 	(0x07)
#define MCF5272_UART_UMR2_STOP_BITS_15	(0x08)
#define MCF5272_UART_UMR2_STOP_BITS_2 	(0x0F)
#define MCF5272_UART_UMR2_STOP_BITS(a)   ((a)&0x0f)	/* Stop Bit Length */

#define MCF5272_UART_USR_RB				(0x80)
#define MCF5272_UART_USR_FE				(0x40)
#define MCF5272_UART_USR_PE				(0x20)
#define MCF5272_UART_USR_OE				(0x10)
#define MCF5272_UART_USR_TXEMP			(0x08)
#define MCF5272_UART_USR_TXRDY			(0x04)
#define MCF5272_UART_USR_FFULL			(0x02)
#define MCF5272_UART_USR_RXRDY			(0x01)

#define MCF5272_UART_UCSR_RCS(a)	(((a)&0x0f)<<4)	/* Rx Clk Select */
#define MCF5272_UART_UCSR_TCS(a)		((a)&0x0f)	/* Tx Clk Select */


#define MCF5272_UART_UCR_NONE			(0x00)
#define MCF5272_UART_UCR_STOP_BREAK		(0x70)
#define MCF5272_UART_UCR_START_BREAK	(0x60)
#define MCF5272_UART_UCR_RESET_BKCHGINT	(0x50)
#define MCF5272_UART_UCR_RESET_ERROR	(0x40)
#define MCF5272_UART_UCR_RESET_TX		(0x30)
#define MCF5272_UART_UCR_RESET_RX		(0x20)
#define MCF5272_UART_UCR_RESET_MR		(0x10)

⌨️ 快捷键说明

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