/* Coldfire C Header File * Copyright Freescale Semiconductor Inc * All rights reserved. * * 2008/05/23 Revision: 0.95 * * (c) Copyright UNIS, a.s. 1997-2008 * UNIS, a.s. * Jundrovska 33 * 624 00 Brno * Czech Republic * http : www.processorexpert.com * mail : info@processorexpert.com */ #ifndef __MCF52221_UART_H__ #define __MCF52221_UART_H__ /********************************************************************* * * Universal Asynchronous Receiver Transmitter (UART) * *********************************************************************/ /* Register read/write macros */ #define MCF_UART0_UMR1 (*(vuint8 *)(0x40000200)) #define MCF_UART0_UMR2 (*(vuint8 *)(0x40000200)) #define MCF_UART0_USR (*(vuint8 *)(0x40000204)) #define MCF_UART0_UCSR (*(vuint8 *)(0x40000204)) #define MCF_UART0_UCR (*(vuint8 *)(0x40000208)) #define MCF_UART0_URB (*(vuint8 *)(0x4000020C)) #define MCF_UART0_UTB (*(vuint8 *)(0x4000020C)) #define MCF_UART0_UIPCR (*(vuint8 *)(0x40000210)) #define MCF_UART0_UACR (*(vuint8 *)(0x40000210)) #define MCF_UART0_UIMR (*(vuint8 *)(0x40000214)) #define MCF_UART0_UISR (*(vuint8 *)(0x40000214)) #define MCF_UART0_UBG1 (*(vuint8 *)(0x40000218)) #define MCF_UART0_UBG2 (*(vuint8 *)(0x4000021C)) #define MCF_UART0_UIP (*(vuint8 *)(0x40000234)) #define MCF_UART0_UOP1 (*(vuint8 *)(0x40000238)) #define MCF_UART0_UOP0 (*(vuint8 *)(0x4000023C)) #define MCF_UART1_UMR1 (*(vuint8 *)(0x40000240)) #define MCF_UART1_UMR2 (*(vuint8 *)(0x40000240)) #define MCF_UART1_USR (*(vuint8 *)(0x40000244)) #define MCF_UART1_UCSR (*(vuint8 *)(0x40000244)) #define MCF_UART1_UCR (*(vuint8 *)(0x40000248)) #define MCF_UART1_URB (*(vuint8 *)(0x4000024C)) #define MCF_UART1_UTB (*(vuint8 *)(0x4000024C)) #define MCF_UART1_UIPCR (*(vuint8 *)(0x40000250)) #define MCF_UART1_UACR (*(vuint8 *)(0x40000250)) #define MCF_UART1_UIMR (*(vuint8 *)(0x40000254)) #define MCF_UART1_UISR (*(vuint8 *)(0x40000254)) #define MCF_UART1_UBG1 (*(vuint8 *)(0x40000258)) #define MCF_UART1_UBG2 (*(vuint8 *)(0x4000025C)) #define MCF_UART1_UIP (*(vuint8 *)(0x40000274)) #define MCF_UART1_UOP1 (*(vuint8 *)(0x40000278)) #define MCF_UART1_UOP0 (*(vuint8 *)(0x4000027C)) #define MCF_UART2_UMR1 (*(vuint8 *)(0x40000280)) #define MCF_UART2_UMR2 (*(vuint8 *)(0x40000280)) #define MCF_UART2_USR (*(vuint8 *)(0x40000284)) #define MCF_UART2_UCSR (*(vuint8 *)(0x40000284)) #define MCF_UART2_UCR (*(vuint8 *)(0x40000288)) #define MCF_UART2_URB (*(vuint8 *)(0x4000028C)) #define MCF_UART2_UTB (*(vuint8 *)(0x4000028C)) #define MCF_UART2_UIPCR (*(vuint8 *)(0x40000290)) #define MCF_UART2_UACR (*(vuint8 *)(0x40000290)) #define MCF_UART2_UIMR (*(vuint8 *)(0x40000294)) #define MCF_UART2_UISR (*(vuint8 *)(0x40000294)) #define MCF_UART2_UBG1 (*(vuint8 *)(0x40000298)) #define MCF_UART2_UBG2 (*(vuint8 *)(0x4000029C)) #define MCF_UART2_UIP (*(vuint8 *)(0x400002B4)) #define MCF_UART2_UOP1 (*(vuint8 *)(0x400002B8)) #define MCF_UART2_UOP0 (*(vuint8 *)(0x400002BC)) #define MCF_UART_UMR(x) (*(vuint8 *)(0x40000200 + ((x)*0x40))) #define MCF_UART_USR(x) (*(vuint8 *)(0x40000204 + ((x)*0x40))) #define MCF_UART_UCSR(x) (*(vuint8 *)(0x40000204 + ((x)*0x40))) #define MCF_UART_UCR(x) (*(vuint8 *)(0x40000208 + ((x)*0x40))) #define MCF_UART_URB(x) (*(vuint8 *)(0x4000020C + ((x)*0x40))) #define MCF_UART_UTB(x) (*(vuint8 *)(0x4000020C + ((x)*0x40))) #define MCF_UART_UIPCR(x) (*(vuint8 *)(0x40000210 + ((x)*0x40))) #define MCF_UART_UACR(x) (*(vuint8 *)(0x40000210 + ((x)*0x40))) #define MCF_UART_UIMR(x) (*(vuint8 *)(0x40000214 + ((x)*0x40))) #define MCF_UART_UISR(x) (*(vuint8 *)(0x40000214 + ((x)*0x40))) #define MCF_UART_UBG1(x) (*(vuint8 *)(0x40000218 + ((x)*0x40))) #define MCF_UART_UBG2(x) (*(vuint8 *)(0x4000021C + ((x)*0x40))) #define MCF_UART_UIP(x) (*(vuint8 *)(0x40000234 + ((x)*0x40))) #define MCF_UART_UOP1(x) (*(vuint8 *)(0x40000238 + ((x)*0x40))) #define MCF_UART_UOP0(x) (*(vuint8 *)(0x4000023C + ((x)*0x40))) /* Bit definitions and macros for MCF_UART_UMR */ #define MCF_UART_UMR_BC(x) (((x)&0x3)<<0) #define MCF_UART_UMR_BC_5 (0) #define MCF_UART_UMR_BC_6 (0x1) #define MCF_UART_UMR_BC_7 (0x2) #define MCF_UART_UMR_BC_8 (0x3) #define MCF_UART_UMR_PT (0x4) #define MCF_UART_UMR_PM(x) (((x)&0x3)<<0x3) #define MCF_UART_UMR_ERR (0x20) #define MCF_UART_UMR_RXIRQ (0x40) #define MCF_UART_UMR_RXRTS (0x80) #define MCF_UART_UMR_PM_MULTI_ADDR (0x1C) #define MCF_UART_UMR_PM_MULTI_DATA (0x18) #define MCF_UART_UMR_PM_NONE (0x10) #define MCF_UART_UMR_PM_FORCE_HI (0xC) #define MCF_UART_UMR_PM_FORCE_LO (0x8) #define MCF_UART_UMR_PM_ODD (0x4) #define MCF_UART_UMR_PM_EVEN (0) #define MCF_UART_UMR_SB(x) (((x)&0xF)<<0) #define MCF_UART_UMR_SB_STOP_BITS_1 (0x7) #define MCF_UART_UMR_SB_STOP_BITS_15 (0x8) #define MCF_UART_UMR_SB_STOP_BITS_2 (0xF) #define MCF_UART_UMR_TXCTS (0x10) #define MCF_UART_UMR_TXRTS (0x20) #define MCF_UART_UMR_CM(x) (((x)&0x3)<<0x6) #define MCF_UART_UMR_CM_NORMAL (0) #define MCF_UART_UMR_CM_ECHO (0x40) #define MCF_UART_UMR_CM_LOCAL_LOOP (0x80) #define MCF_UART_UMR_CM_REMOTE_LOOP (0xC0) /* Bit definitions and macros for MCF_UART_USR */ #define MCF_UART_USR_RXRDY (0x1) #define MCF_UART_USR_FFULL (0x2) #define MCF_UART_USR_TXRDY (0x4) #define MCF_UART_USR_TXEMP (0x8) #define MCF_UART_USR_OE (0x10) #define MCF_UART_USR_PE (0x20) #define MCF_UART_USR_FE (0x40) #define MCF_UART_USR_RB (0x80) /* Bit definitions and macros for MCF_UART_UCSR */ #define MCF_UART_UCSR_TCS(x) (((x)&0xF)<<0) #define MCF_UART_UCSR_TCS_SYS_CLK (0xD) #define MCF_UART_UCSR_TCS_CTM16 (0xE) #define MCF_UART_UCSR_TCS_CTM (0xF) #define MCF_UART_UCSR_RCS(x) (((x)&0xF)<<0x4) #define MCF_UART_UCSR_RCS_SYS_CLK (0xD0) #define MCF_UART_UCSR_RCS_CTM16 (0xE0) #define MCF_UART_UCSR_RCS_CTM (0xF0) /* Bit definitions and macros for MCF_UART_UCR */ #define MCF_UART_UCR_RC(x) (((x)&0x3)<<0) #define MCF_UART_UCR_RX_ENABLED (0x1) #define MCF_UART_UCR_RX_DISABLED (0x2) #define MCF_UART_UCR_TC(x) (((x)&0x3)<<0x2) #define MCF_UART_UCR_TX_ENABLED (0x4) #define MCF_UART_UCR_TX_DISABLED (0x8) #define MCF_UART_UCR_MISC(x) (((x)&0x7)<<0x4) #define MCF_UART_UCR_NONE (0) #define MCF_UART_UCR_RESET_MR (0x10) #define MCF_UART_UCR_RESET_RX (0x20) #define MCF_UART_UCR_RESET_TX (0x30) #define MCF_UART_UCR_RESET_ERROR (0x40) #define MCF_UART_UCR_RESET_BKCHGINT (0x50) #define MCF_UART_UCR_START_BREAK (0x60) #define MCF_UART_UCR_STOP_BREAK (0x70) /* Bit definitions and macros for MCF_UART_URB */ #define MCF_UART_URB_RB(x) (((x)&0xFF)<<0) /* Bit definitions and macros for MCF_UART_UTB */ #define MCF_UART_UTB_TB(x) (((x)&0xFF)<<0) /* Bit definitions and macros for MCF_UART_UIPCR */ #define MCF_UART_UIPCR_CTS (0x1) #define MCF_UART_UIPCR_COS (0x10) /* Bit definitions and macros for MCF_UART_UACR */ #define MCF_UART_UACR_IEC (0x1) /* Bit definitions and macros for MCF_UART_UIMR */ #define MCF_UART_UIMR_TXRDY (0x1) #define MCF_UART_UIMR_FFULL_RXRDY (0x2) #define MCF_UART_UIMR_DB (0x4) #define MCF_UART_UIMR_COS (0x80) /* Bit definitions and macros for MCF_UART_UISR */ #define MCF_UART_UISR_TXRDY (0x1) #define MCF_UART_UISR_FFULL_RXRDY (0x2) #define MCF_UART_UISR_DB (0x4) #define MCF_UART_UISR_COS (0x80) /* Bit definitions and macros for MCF_UART_UBG1 */ #define MCF_UART_UBG1_Divider_MSB(x) (((x)&0xFF)<<0) /* Bit definitions and macros for MCF_UART_UBG2 */ #define MCF_UART_UBG2_Divider_LSB(x) (((x)&0xFF)<<0) /* Bit definitions and macros for MCF_UART_UIP */ #define MCF_UART_UIP_CTS (0x1) /* Bit definitions and macros for MCF_UART_UOP1 */ #define MCF_UART_UOP1_RTS (0x1) /* Bit definitions and macros for MCF_UART_UOP0 */ #define MCF_UART_UOP0_RTS (0x1) #endif /* __MCF52221_UART_H__ */