xref: /rk3399_rockchip-uboot/drivers/serial/atmel_usart.h (revision 326ea986ac150acdc7656d57fca647db80b50158)
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