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

📄 uart.h

📁 MIPS下的boottloader yamon 的源代码
💻 H
字号:
/*************************************************
 *
 * UART.H
 *
 * Copyright 2000 Alchemy Semiconductor, Inc.
 * All rights reserved.
 *
*************************************************/

#ifndef _AU1UART_H
#define _AU1UART_H

#define UART0_BASE	0xB1100000
#define UART1_BASE	0xB1200000
#define UART2_BASE	0xB1300000
#define UART3_BASE	0xB1400000

/*
 * UART Register Offsets
 */
#define UART_RXDATA		(0x0000)
#define UART_TXDATA		(0x0004)
#define UART_INTEN		(0x0008)
#define UART_INTCAUSE	(0x000C)
#define UART_FIFOCTRL	(0x0010)
#define UART_LINECTRL	(0x0014)
#define UART_MDMCTRL	(0x0018)
#define UART_LINESTAT	(0x001C)
#define UART_MDMSTAT	(0x0020)
#define UART_CLKDIV		(0x0028)
#define UART_ENABLE		(0x0100)

#ifndef _ASSEMBLER_
typedef volatile struct
{
	UINT32 rxdata;
	UINT32 txdata;
	UINT32 inten;
	UINT32 intcause;
	UINT32 fifoctrl;
	UINT32 linectrl;
	UINT32 mdmctrl;
	UINT32 linestat;
	UINT32 mdmstat;
	UINT32 reserved0;
	UINT32 clkdiv;
	UINT32 reserved1[53];
	UINT32 enable;

} AU1X00_UART;
#endif /* _ASSEMBLER_ */

/*
 * Register content definitions
 */
#define UART_INTEN_MIE			(1<<3)
#define UART_INTEN_LIE			(1<<2)
#define UART_INTEN_TIE			(1<<1)
#define UART_INTEN_RIE			(1<<0)

#define UART_INTCAUSE_IID		(7<<1)
#define UART_INTCAUSE_IP		(1<<0)
#define UART_INTCAUSE_IID_MS	(0<<1)
#define UART_INTCAUSE_IID_TBA	(1<<1)
#define UART_INTCAUSE_IID_RDA	(2<<1)
#define UART_INTCAUSE_IID_RLS	(3<<1)
#define UART_INTCAUSE_IID_CTO	(6<<1)

#define UART_FIFOCTRL_RFT		(3<<6)
#define UART_FIFOCTRL_TFT		(3<<4)
#define UART_FIFOCTRL_MS		(1<<3)
#define UART_FIFOCTRL_TR		(1<<2)
#define UART_FIFOCTRL_RR		(1<<1)
#define UART_FIFOCTRL_FE		(1<<0)
#define UART_FIFOCTRL_RFT_1		(0<<6)
#define UART_FIFOCTRL_RFT_4		(1<<6)
#define UART_FIFOCTRL_RFT_8		(2<<6)
#define UART_FIFOCTRL_RFT_14	(3<<6)
#define UART_FIFOCTRL_TFT_0		(0<<4)
#define UART_FIFOCTRL_TFT_4		(1<<4)
#define UART_FIFOCTRL_TFT_8		(2<<4)
#define UART_FIFOCTRL_TFT_12	(3<<4)

#define UART_LINECTRL_SB		(1<<6)
#define UART_LINECTRL_PAR		(3<<4)
#define UART_LINECTRL_PE		(1<<3)
#define UART_LINECTRL_ST		(1<<2)
#define UART_LINECTRL_WLS		(3<<0)
#define UART_LINECTRL_PAR_O		(0<<4)
#define UART_LINECTRL_PAR_E		(1<<4)
#define UART_LINECTRL_PAR_M		(2<<4)
#define UART_LINECTRL_PAR_Z		(3<<4)
#define UART_LINECTRL_WLS_5		(0<<0)
#define UART_LINECTRL_WLS_6		(1<<0)
#define UART_LINECTRL_WLS_7		(2<<0)
#define UART_LINECTRL_WLS_8		(3<<0)

#define UART_MDMCTRL_LB			(1<<4)
#define UART_MDMCTRL_I1			(1<<3)
#define UART_MDMCTRL_I0			(1<<2)
#define UART_MDMCTRL_RT			(1<<1)
#define UART_MDMCTRL_DT			(1<<0)

#define UART_LINESTAT_RF		(1<<7)
#define UART_LINESTAT_TE		(1<<6)
#define UART_LINESTAT_TT		(1<<5)
#define UART_LINESTAT_BI		(1<<4)
#define UART_LINESTAT_FE		(1<<3)
#define UART_LINESTAT_PE		(1<<2)
#define UART_LINESTAT_OE		(1<<1)
#define UART_LINESTAT_DR		(1<<0)

#define UART_MDMSTAT_CD			(1<<7)
#define UART_MDMSTAT_RI			(1<<6)
#define UART_MDMSTAT_DS			(1<<5)
#define UART_MDMSTAT_CT			(1<<4)
#define UART_MDMSTAT_DD			(1<<3)
#define UART_MDMSTAT_TRI		(1<<2)
#define UART_MDMSTAT_DR			(1<<1)
#define UART_MDMSTAT_DC			(1<<0)

#define UART_ENABLE_E			(1<<1)
#define UART_ENABLE_CE			(1<<0)

#endif /* _AU1UART_H */

⌨️ 快捷键说明

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