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

📄 asc_serial.h.svn-base

📁 u-boot for S3c2443 processor
💻 SVN-BASE
字号:
/* incaAscSio.h - (INCA) ASC UART tty driver header */#ifndef __INCincaAscSioh#define __INCincaAscSioh#include <asm/inca-ip.h>/* channel operating modes */#define	ASCOPT_CSIZE	0x00000003#define	ASCOPT_CS7	0x00000001#define	ASCOPT_CS8	0x00000002#define	ASCOPT_PARENB	0x00000004#define	ASCOPT_STOPB	0x00000008#define	ASCOPT_PARODD	0x00000010#define	ASCOPT_CREAD	0x00000020#define ASC_OPTIONS		(ASCOPT_CREAD | ASCOPT_CS8)/* ASC input select (0 or 1) */#define CONSOLE_TTY	0/* use fractional divider for baudrate settings */#define INCAASC_USE_FDV#ifdef INCAASC_USE_FDV   #define INCAASC_FDV_LOW_BAUDRATE        71   #define INCAASC_FDV_HIGH_BAUDRATE       453#endif /*INCAASC_USE_FDV*/#define INCAASC_TXFIFO_FL       1#define INCAASC_RXFIFO_FL       1#define INCAASC_TXFIFO_FULL     16/* interrupt lines masks for the ASC device interrupts*//* change these macroses if it's necessary */#define INCAASC_IRQ_LINE_ALL        0x000F0000  /* all IRQs */#define INCAASC_IRQ_LINE_TIR            0x00010000      /* TIR - Tx */#define INCAASC_IRQ_LINE_RIR            0x00020000      /* RIR - Rx */#define INCAASC_IRQ_LINE_EIR            0x00040000      /* EIR - Err */#define INCAASC_IRQ_LINE_TBIR           0x00080000      /* TBIR - Tx Buf*//* interrupt controller access macros */#define ASC_INTERRUPTS_ENABLE(X)  \   *((volatile unsigned int*) INCA_IP_ICU_IM2_IER) |= X;#define ASC_INTERRUPTS_DISABLE(X) \   *((volatile unsigned int*) INCA_IP_ICU_IM2_IER) &= ~X;#define ASC_INTERRUPTS_CLEAR(X)   \   *((volatile unsigned int*) INCA_IP_ICU_IM2_ISR) = X;/* CLC register's bits and bitfields */#define ASCCLC_DISR        0x00000001#define ASCCLC_DISS        0x00000002#define ASCCLC_RMCMASK     0x0000FF00#define ASCCLC_RMCOFFSET   8/* CON register's bits and bitfields */#define ASCCON_MODEMASK 0x0007    #define ASCCON_M_8SYNC          0x0    #define ASCCON_M_8ASYNC         0x1    #define ASCCON_M_8IRDAASYNC     0x2    #define ASCCON_M_7ASYNCPAR      0x3    #define ASCCON_M_9ASYNC         0x4    #define ASCCON_M_8WAKEUPASYNC   0x5    #define ASCCON_M_8ASYNCPAR      0x7#define ASCCON_STP      0x0008#define ASCCON_REN      0x0010#define ASCCON_PEN      0x0020#define ASCCON_FEN      0x0040#define ASCCON_OEN      0x0080#define ASCCON_PE       0x0100#define ASCCON_FE       0x0200#define ASCCON_OE       0x0400#define ASCCON_FDE      0x0800#define ASCCON_ODD      0x1000#define ASCCON_BRS      0x2000#define ASCCON_LB       0x4000#define ASCCON_R        0x8000/* WHBCON register's bits and bitfields */#define ASCWHBCON_CLRREN    0x0010#define ASCWHBCON_SETREN    0x0020#define ASCWHBCON_CLRPE     0x0100#define ASCWHBCON_CLRFE     0x0200#define ASCWHBCON_CLROE     0x0400#define ASCWHBCON_SETPE     0x0800#define ASCWHBCON_SETFE     0x1000#define ASCWHBCON_SETOE     0x2000/* ABCON register's bits and bitfields */#define ASCABCON_ABEN       0x0001#define ASCABCON_AUREN      0x0002#define ASCABCON_ABSTEN     0x0004#define ASCABCON_ABDETEN    0x0008#define ASCABCON_FCDETEN    0x0010#define ASCABCON_EMMASK     0x0300    #define ASCABCON_EMOFF          8	#define ASCABCON_EM_DISAB       0x0	#define ASCABCON_EM_DURAB       0x1	#define ASCABCON_EM_ALWAYS      0x2#define ASCABCON_TXINV      0x0400#define ASCABCON_RXINV      0x0800/* FDV register mask, offset and bitfields*/#define ASCFDV_VALUE_MASK     0x000001FF/* WHBABCON register's bits and bitfields */#define ASCWHBABCON_SETABEN     0x0001#define ASCWHBABCON_CLRABEN     0x0002/* ABSTAT register's bits and bitfields */#define ASCABSTAT_FCSDET    0x0001#define ASCABSTAT_FCCDET    0x0002#define ASCABSTAT_SCSDET    0x0004#define ASCABSTAT_SCCDET    0x0008#define ASCABSTAT_DETWAIT   0x0010/* WHBABSTAT register's bits and bitfields */#define ASCWHBABSTAT_CLRFCSDET  0x0001#define ASCWHBABSTAT_SETFCSDET  0x0002#define ASCWHBABSTAT_CLRFCCDET  0x0004#define ASCWHBABSTAT_SETFCCDET  0x0008#define ASCWHBABSTAT_CLRSCSDET  0x0010#define ASCWHBABSTAT_SETSCSDET  0x0020#define ASCWHBABSTAT_SETSCCDET  0x0040#define ASCWHBABSTAT_CLRSCCDET  0x0080#define ASCWHBABSTAT_CLRDETWAIT 0x0100#define ASCWHBABSTAT_SETDETWAIT 0x0200/* TXFCON register's bits and bitfields */#define ASCTXFCON_TXFEN         0x0001#define ASCTXFCON_TXFFLU        0x0002#define ASCTXFCON_TXTMEN        0x0004#define ASCTXFCON_TXFITLMASK    0x3F00#define ASCTXFCON_TXFITLOFF     8/* RXFCON register's bits and bitfields */#define ASCRXFCON_RXFEN         0x0001#define ASCRXFCON_RXFFLU        0x0002#define ASCRXFCON_RXTMEN        0x0004#define ASCRXFCON_RXFITLMASK    0x3F00#define ASCRXFCON_RXFITLOFF     8/* FSTAT register's bits and bitfields */#define ASCFSTAT_RXFFLMASK      0x003F#define ASCFSTAT_TXFFLMASK      0x3F00#define ASCFSTAT_TXFFLOFF       8#define INCAASC_PMU_ENABLE(BIT) *((volatile ulong*)0xBF102000) |= (0x1 << BIT);typedef  struct         /* incaAsc_t */{    volatile unsigned long  asc_clc;                            /*0x0000*/    volatile unsigned long  asc_pisel;                          /*0x0004*/    volatile unsigned long  asc_rsvd1[2];   /* for mapping */   /*0x0008*/    volatile unsigned long  asc_con;                            /*0x0010*/    volatile unsigned long  asc_bg;                             /*0x0014*/    volatile unsigned long  asc_fdv;                            /*0x0018*/    volatile unsigned long  asc_pmw;        /* not used */      /*0x001C*/    volatile unsigned long  asc_tbuf;                           /*0x0020*/    volatile unsigned long  asc_rbuf;                           /*0x0024*/    volatile unsigned long  asc_rsvd2[2];   /* for mapping */   /*0x0028*/    volatile unsigned long  asc_abcon;                          /*0x0030*/    volatile unsigned long  asc_abstat;     /* not used */      /*0x0034*/    volatile unsigned long  asc_rsvd3[2];   /* for mapping */   /*0x0038*/    volatile unsigned long  asc_rxfcon;                         /*0x0040*/    volatile unsigned long  asc_txfcon;                         /*0x0044*/    volatile unsigned long  asc_fstat;                          /*0x0048*/    volatile unsigned long  asc_rsvd4;      /* for mapping */   /*0x004C*/    volatile unsigned long  asc_whbcon;                         /*0x0050*/    volatile unsigned long  asc_whbabcon;                       /*0x0054*/    volatile unsigned long  asc_whbabstat;  /* not used */      /*0x0058*/} incaAsc_t;#endif /* __INCincaAscSioh */

⌨️ 快捷键说明

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