11378df79SJean-Christophe PLAGNIOL-VILLARD /* 21378df79SJean-Christophe PLAGNIOL-VILLARD * Register definitions for the Atmel USART3 module. 31378df79SJean-Christophe PLAGNIOL-VILLARD * 41378df79SJean-Christophe PLAGNIOL-VILLARD * Copyright (C) 2005-2006 Atmel Corporation 51378df79SJean-Christophe PLAGNIOL-VILLARD * 6125637c5SAndreas Bießmann * Modified to support C structure SoC access by 7125637c5SAndreas Bießmann * Andreas Bießmann <biessmann@corscience.de> 8125637c5SAndreas Bießmann * 9*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 101378df79SJean-Christophe PLAGNIOL-VILLARD */ 111378df79SJean-Christophe PLAGNIOL-VILLARD #ifndef __DRIVERS_ATMEL_USART_H__ 121378df79SJean-Christophe PLAGNIOL-VILLARD #define __DRIVERS_ATMEL_USART_H__ 131378df79SJean-Christophe PLAGNIOL-VILLARD 14125637c5SAndreas Bießmann /* USART3 register footprint */ 15125637c5SAndreas Bießmann typedef struct atmel_usart3 { 16125637c5SAndreas Bießmann u32 cr; 17125637c5SAndreas Bießmann u32 mr; 18125637c5SAndreas Bießmann u32 ier; 19125637c5SAndreas Bießmann u32 idr; 20125637c5SAndreas Bießmann u32 imr; 21125637c5SAndreas Bießmann u32 csr; 22125637c5SAndreas Bießmann u32 rhr; 23125637c5SAndreas Bießmann u32 thr; 24125637c5SAndreas Bießmann u32 brgr; 25125637c5SAndreas Bießmann u32 rtor; 26125637c5SAndreas Bießmann u32 ttgr; 27125637c5SAndreas Bießmann u32 reserved0[5]; 28125637c5SAndreas Bießmann u32 fidi; 29125637c5SAndreas Bießmann u32 ner; 30125637c5SAndreas Bießmann u32 reserved1; 31125637c5SAndreas Bießmann u32 ifr; 32125637c5SAndreas Bießmann u32 man; 33071bc923SWolfgang Denk u32 reserved2[54]; /* version and PDC not needed */ 34125637c5SAndreas Bießmann } atmel_usart3_t; 351378df79SJean-Christophe PLAGNIOL-VILLARD 361378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in CR */ 371378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RSTRX_OFFSET 2 381378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RSTRX_SIZE 1 391378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RSTTX_OFFSET 3 401378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RSTTX_SIZE 1 411378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXEN_OFFSET 4 421378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXEN_SIZE 1 431378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXDIS_OFFSET 5 441378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXDIS_SIZE 1 451378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXEN_OFFSET 6 461378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXEN_SIZE 1 471378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXDIS_OFFSET 7 481378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXDIS_SIZE 1 491378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RSTSTA_OFFSET 8 501378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RSTSTA_SIZE 1 511378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_STTBRK_OFFSET 9 521378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_STTBRK_SIZE 1 531378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_STPBRK_OFFSET 10 541378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_STPBRK_SIZE 1 551378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_STTTO_OFFSET 11 561378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_STTTO_SIZE 1 571378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_SENDA_OFFSET 12 581378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_SENDA_SIZE 1 591378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RSTIT_OFFSET 13 601378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RSTIT_SIZE 1 611378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RSTNACK_OFFSET 14 621378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RSTNACK_SIZE 1 631378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RETTO_OFFSET 15 641378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RETTO_SIZE 1 651378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DTREN_OFFSET 16 661378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DTREN_SIZE 1 671378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DTRDIS_OFFSET 17 681378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DTRDIS_SIZE 1 691378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RTSEN_OFFSET 18 701378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RTSEN_SIZE 1 711378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RTSDIS_OFFSET 19 721378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RTSDIS_SIZE 1 731378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_COMM_TX_OFFSET 30 741378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_COMM_TX_SIZE 1 751378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_COMM_RX_OFFSET 31 761378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_COMM_RX_SIZE 1 771378df79SJean-Christophe PLAGNIOL-VILLARD 781378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in MR */ 791378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USART_MODE_OFFSET 0 801378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USART_MODE_SIZE 4 811378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USCLKS_OFFSET 4 821378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USCLKS_SIZE 2 831378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CHRL_OFFSET 6 841378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CHRL_SIZE 2 851378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_SYNC_OFFSET 8 861378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_SYNC_SIZE 1 871378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_PAR_OFFSET 9 881378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_PAR_SIZE 3 891378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_NBSTOP_OFFSET 12 901378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_NBSTOP_SIZE 2 911378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CHMODE_OFFSET 14 921378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CHMODE_SIZE 2 931378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_MSBF_OFFSET 16 941378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_MSBF_SIZE 1 951378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_MODE9_OFFSET 17 961378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_MODE9_SIZE 1 971378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CLKO_OFFSET 18 981378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CLKO_SIZE 1 991378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_OVER_OFFSET 19 1001378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_OVER_SIZE 1 1011378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_INACK_OFFSET 20 1021378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_INACK_SIZE 1 1031378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DSNACK_OFFSET 21 1041378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DSNACK_SIZE 1 1051378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_MAX_ITERATION_OFFSET 24 1061378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_MAX_ITERATION_SIZE 3 1071378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_FILTER_OFFSET 28 1081378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_FILTER_SIZE 1 1091378df79SJean-Christophe PLAGNIOL-VILLARD 1101378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in CSR */ 1111378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXRDY_OFFSET 0 1121378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXRDY_SIZE 1 1131378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXRDY_OFFSET 1 1141378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXRDY_SIZE 1 1151378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXBRK_OFFSET 2 1161378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXBRK_SIZE 1 1171378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_ENDRX_OFFSET 3 1181378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_ENDRX_SIZE 1 1191378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_ENDTX_OFFSET 4 1201378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_ENDTX_SIZE 1 1211378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_OVRE_OFFSET 5 1221378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_OVRE_SIZE 1 1231378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_FRAME_OFFSET 6 1241378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_FRAME_SIZE 1 1251378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_PARE_OFFSET 7 1261378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_PARE_SIZE 1 1271378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TIMEOUT_OFFSET 8 1281378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TIMEOUT_SIZE 1 1291378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXEMPTY_OFFSET 9 1301378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXEMPTY_SIZE 1 1311378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_ITERATION_OFFSET 10 1321378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_ITERATION_SIZE 1 1331378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXBUFE_OFFSET 11 1341378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXBUFE_SIZE 1 1351378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXBUFF_OFFSET 12 1361378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXBUFF_SIZE 1 1371378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_NACK_OFFSET 13 1381378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_NACK_SIZE 1 1391378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RIIC_OFFSET 16 1401378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RIIC_SIZE 1 1411378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DSRIC_OFFSET 17 1421378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DSRIC_SIZE 1 1431378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DCDIC_OFFSET 18 1441378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DCDIC_SIZE 1 1451378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CTSIC_OFFSET 19 1461378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CTSIC_SIZE 1 1471378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RI_OFFSET 20 1481378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RI_SIZE 1 1491378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DSR_OFFSET 21 1501378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DSR_SIZE 1 1511378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DCD_OFFSET 22 1521378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_DCD_SIZE 1 1531378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CTS_OFFSET 23 1541378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CTS_SIZE 1 1551378df79SJean-Christophe PLAGNIOL-VILLARD 1561378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in RHR */ 1571378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXCHR_OFFSET 0 1581378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXCHR_SIZE 9 1591378df79SJean-Christophe PLAGNIOL-VILLARD 1601378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in THR */ 1611378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXCHR_OFFSET 0 1621378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXCHR_SIZE 9 1631378df79SJean-Christophe PLAGNIOL-VILLARD 1641378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in BRGR */ 1651378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CD_OFFSET 0 1661378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CD_SIZE 16 1671378df79SJean-Christophe PLAGNIOL-VILLARD 1681378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in RTOR */ 1691378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TO_OFFSET 0 1701378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TO_SIZE 16 1711378df79SJean-Christophe PLAGNIOL-VILLARD 1721378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in TTGR */ 1731378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TG_OFFSET 0 1741378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TG_SIZE 8 1751378df79SJean-Christophe PLAGNIOL-VILLARD 1761378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in FIDI */ 1771378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_FI_DI_RATIO_OFFSET 0 1781378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_FI_DI_RATIO_SIZE 11 1791378df79SJean-Christophe PLAGNIOL-VILLARD 1801378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in NER */ 1811378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_NB_ERRORS_OFFSET 0 1821378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_NB_ERRORS_SIZE 8 1831378df79SJean-Christophe PLAGNIOL-VILLARD 1841378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in XXR */ 1851378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_XOFF_OFFSET 0 1861378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_XOFF_SIZE 8 1871378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_XON_OFFSET 8 1881378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_XON_SIZE 8 1891378df79SJean-Christophe PLAGNIOL-VILLARD 1901378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in IFR */ 1911378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_IRDA_FILTER_OFFSET 0 1921378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_IRDA_FILTER_SIZE 8 1931378df79SJean-Christophe PLAGNIOL-VILLARD 1941378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in RCR */ 1951378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXCTR_OFFSET 0 1961378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXCTR_SIZE 16 1971378df79SJean-Christophe PLAGNIOL-VILLARD 1981378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in TCR */ 1991378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXCTR_OFFSET 0 2001378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXCTR_SIZE 16 2011378df79SJean-Christophe PLAGNIOL-VILLARD 2021378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in RNCR */ 2031378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXNCR_OFFSET 0 2041378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXNCR_SIZE 16 2051378df79SJean-Christophe PLAGNIOL-VILLARD 2061378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in TNCR */ 2071378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXNCR_OFFSET 0 2081378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXNCR_SIZE 16 2091378df79SJean-Christophe PLAGNIOL-VILLARD 2101378df79SJean-Christophe PLAGNIOL-VILLARD /* Bitfields in PTCR */ 2111378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXTEN_OFFSET 0 2121378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXTEN_SIZE 1 2131378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXTDIS_OFFSET 1 2141378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_RXTDIS_SIZE 1 2151378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXTEN_OFFSET 8 2161378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXTEN_SIZE 1 2171378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXTDIS_OFFSET 9 2181378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TXTDIS_SIZE 1 2191378df79SJean-Christophe PLAGNIOL-VILLARD 2201378df79SJean-Christophe PLAGNIOL-VILLARD /* Constants for USART_MODE */ 2211378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USART_MODE_NORMAL 0 2221378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USART_MODE_RS485 1 2231378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USART_MODE_HARDWARE 2 2241378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USART_MODE_MODEM 3 2251378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USART_MODE_ISO7816_T0 4 2261378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USART_MODE_ISO7816_T1 6 2271378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USART_MODE_IRDA 8 2281378df79SJean-Christophe PLAGNIOL-VILLARD 2291378df79SJean-Christophe PLAGNIOL-VILLARD /* Constants for USCLKS */ 2301378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USCLKS_MCK 0 2311378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USCLKS_MCK_DIV 1 2321378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_USCLKS_SCK 3 2331378df79SJean-Christophe PLAGNIOL-VILLARD 2341378df79SJean-Christophe PLAGNIOL-VILLARD /* Constants for CHRL */ 2351378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CHRL_5 0 2361378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CHRL_6 1 2371378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CHRL_7 2 2381378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CHRL_8 3 2391378df79SJean-Christophe PLAGNIOL-VILLARD 2401378df79SJean-Christophe PLAGNIOL-VILLARD /* Constants for PAR */ 2411378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_PAR_EVEN 0 2421378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_PAR_ODD 1 2431378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_PAR_SPACE 2 2441378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_PAR_MARK 3 2451378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_PAR_NONE 4 2461378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_PAR_MULTI 6 2471378df79SJean-Christophe PLAGNIOL-VILLARD 2481378df79SJean-Christophe PLAGNIOL-VILLARD /* Constants for NBSTOP */ 2491378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_NBSTOP_1 0 2501378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_NBSTOP_1_5 1 2511378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_NBSTOP_2 2 2521378df79SJean-Christophe PLAGNIOL-VILLARD 2531378df79SJean-Christophe PLAGNIOL-VILLARD /* Constants for CHMODE */ 2541378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CHMODE_NORMAL 0 2551378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CHMODE_ECHO 1 2561378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CHMODE_LOCAL_LOOP 2 2571378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CHMODE_REMOTE_LOOP 3 2581378df79SJean-Christophe PLAGNIOL-VILLARD 2591378df79SJean-Christophe PLAGNIOL-VILLARD /* Constants for MSBF */ 2601378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_MSBF_LSBF 0 2611378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_MSBF_MSBF 1 2621378df79SJean-Christophe PLAGNIOL-VILLARD 2631378df79SJean-Christophe PLAGNIOL-VILLARD /* Constants for OVER */ 2641378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_OVER_X16 0 2651378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_OVER_X8 1 2661378df79SJean-Christophe PLAGNIOL-VILLARD 2671378df79SJean-Christophe PLAGNIOL-VILLARD /* Constants for CD */ 2681378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CD_DISABLE 0 2691378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_CD_BYPASS 1 2701378df79SJean-Christophe PLAGNIOL-VILLARD 2711378df79SJean-Christophe PLAGNIOL-VILLARD /* Constants for TO */ 2721378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TO_DISABLE 0 2731378df79SJean-Christophe PLAGNIOL-VILLARD 2741378df79SJean-Christophe PLAGNIOL-VILLARD /* Constants for TG */ 2751378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_TG_DISABLE 0 2761378df79SJean-Christophe PLAGNIOL-VILLARD 2771378df79SJean-Christophe PLAGNIOL-VILLARD /* Constants for FI_DI_RATIO */ 2781378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_FI_DI_RATIO_DISABLE 0 2791378df79SJean-Christophe PLAGNIOL-VILLARD 2801378df79SJean-Christophe PLAGNIOL-VILLARD /* Bit manipulation macros */ 2811378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_BIT(name) \ 2821378df79SJean-Christophe PLAGNIOL-VILLARD (1 << USART3_##name##_OFFSET) 2831378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_BF(name,value) \ 2841378df79SJean-Christophe PLAGNIOL-VILLARD (((value) & ((1 << USART3_##name##_SIZE) - 1)) \ 2851378df79SJean-Christophe PLAGNIOL-VILLARD << USART3_##name##_OFFSET) 2861378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_BFEXT(name,value) \ 2871378df79SJean-Christophe PLAGNIOL-VILLARD (((value) >> USART3_##name##_OFFSET) \ 2881378df79SJean-Christophe PLAGNIOL-VILLARD & ((1 << USART3_##name##_SIZE) - 1)) 2891378df79SJean-Christophe PLAGNIOL-VILLARD #define USART3_BFINS(name,value,old) \ 2901378df79SJean-Christophe PLAGNIOL-VILLARD (((old) & ~(((1 << USART3_##name##_SIZE) - 1) \ 2911378df79SJean-Christophe PLAGNIOL-VILLARD << USART3_##name##_OFFSET)) \ 2921378df79SJean-Christophe PLAGNIOL-VILLARD | USART3_BF(name,value)) 2931378df79SJean-Christophe PLAGNIOL-VILLARD 2941378df79SJean-Christophe PLAGNIOL-VILLARD #endif /* __DRIVERS_ATMEL_USART_H__ */ 295