101 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/******************************************************************************
 | 
						|
* Copyright (C) 2002 - 2022 Xilinx, Inc.  All rights reserved.
 | 
						|
* SPDX-License-Identifier: MIT
 | 
						|
******************************************************************************/
 | 
						|
 | 
						|
/****************************************************************************/
 | 
						|
/**
 | 
						|
*
 | 
						|
* @file xuartlite_i.h
 | 
						|
* @addtogroup uartlite_v3_7
 | 
						|
* @{
 | 
						|
*
 | 
						|
* Contains data which is shared between the files of the XUartLite component.
 | 
						|
* It is intended for internal use only.
 | 
						|
*
 | 
						|
* <pre>
 | 
						|
* MODIFICATION HISTORY:
 | 
						|
*
 | 
						|
* Ver   Who  Date     Changes
 | 
						|
* ----- ---- -------- -----------------------------------------------
 | 
						|
* 1.00a ecm  08/31/01 First release
 | 
						|
* 1.00b jhl  02/21/02 Reparitioned the driver for smaller files
 | 
						|
* 1.00b rpm  04/24/02 Moved register definitions to xuartlite_l.h and
 | 
						|
*                     updated macro naming convention
 | 
						|
* 2.00a ktn  10/20/09 The macros have been renamed to remove _m from
 | 
						|
*		      the name. XUartLite_mClearStats macro is removed and
 | 
						|
*		      XUartLite_ClearStats function should be used in its place.
 | 
						|
* 3.6   rna  02/19/21 Added 'XUartLite_GetSR' internal API.
 | 
						|
* </pre>
 | 
						|
*
 | 
						|
*****************************************************************************/
 | 
						|
 | 
						|
#ifndef XUARTLITE_I_H /* prevent circular inclusions */
 | 
						|
#define XUARTLITE_I_H /* by using protection macros */
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
/***************************** Include Files ********************************/
 | 
						|
 | 
						|
#include "xuartlite.h"
 | 
						|
#include "xuartlite_l.h"
 | 
						|
 | 
						|
/************************** Constant Definitions ****************************/
 | 
						|
 | 
						|
/**************************** Type Definitions ******************************/
 | 
						|
 | 
						|
/***************** Macros (Inline Functions) Definitions ********************/
 | 
						|
 | 
						|
/****************************************************************************
 | 
						|
*
 | 
						|
* Update the statistics of the instance.
 | 
						|
*
 | 
						|
* @param	InstancePtr is a pointer to the XUartLite instance.
 | 
						|
* @param	StatusRegister contains the contents of the UART status
 | 
						|
*		register to update the statistics with.
 | 
						|
*
 | 
						|
* @return	None.
 | 
						|
*
 | 
						|
* @note
 | 
						|
*
 | 
						|
* Signature: void XUartLite_UpdateStats(XUartLite *InstancePtr,
 | 
						|
*						u32 StatusRegister)
 | 
						|
*
 | 
						|
*****************************************************************************/
 | 
						|
#define XUartLite_UpdateStats(InstancePtr, StatusRegister)	\
 | 
						|
{								\
 | 
						|
	if ((StatusRegister) & XUL_SR_OVERRUN_ERROR)		\
 | 
						|
	{							\
 | 
						|
		(InstancePtr)->Stats.ReceiveOverrunErrors++;	\
 | 
						|
	}							\
 | 
						|
	if ((StatusRegister) & XUL_SR_PARITY_ERROR)		\
 | 
						|
	{							\
 | 
						|
		(InstancePtr)->Stats.ReceiveParityErrors++;	\
 | 
						|
	}							\
 | 
						|
	if ((StatusRegister) & XUL_SR_FRAMING_ERROR)		\
 | 
						|
	{							\
 | 
						|
		(InstancePtr)->Stats.ReceiveFramingErrors++;	\
 | 
						|
	}							\
 | 
						|
}
 | 
						|
 | 
						|
/************************** Variable Definitions ****************************/
 | 
						|
 | 
						|
/* the configuration table */
 | 
						|
extern XUartLite_Config XUartLite_ConfigTable[];
 | 
						|
 | 
						|
/************************** Function Prototypes *****************************/
 | 
						|
 | 
						|
unsigned int XUartLite_SendBuffer(XUartLite *InstancePtr);
 | 
						|
unsigned int XUartLite_ReceiveBuffer(XUartLite *InstancePtr);
 | 
						|
u8 XUartLite_GetSR(XUartLite *InstancePtr);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif		/* end of protection macro */
 | 
						|
 | 
						|
/** @} */
 |