54#include "tistdtypes.h"
59#include "Cdd_Uart_Priv.h"
60#include "SchM_Cdd_Uart.h"
72#define UART_FIFO_SIZE (64U)
79#define UART_TRANSMITEMPTY_TRIALCOUNT (3000U)
93#define CDD_UART_MODULE_ID 255U
95#define CDD_UART_VENDOR_ID 44U
97#define CDD_UART_INSTANCE_ID 0U
107#define CDD_UART_SW_MAJOR_VERSION CDD_UART_MAJOR_VERSION
109#define CDD_UART_SW_MINOR_VERSION CDD_UART_MINOR_VERSION
111#define CDD_UART_SW_PATCH_VERSION CDD_UART_CFG_PATCH_VERSION
120#define CDD_UART_AR_RELEASE_MAJOR_VERSION 4U
122#define CDD_UART_AR_RELEASE_MINOR_VERSION 3U
124#define CDD_UART_AR_RELEASE_REVISION_VERSION 1U
135#define CDD_UART_INIT_SERVICE_ID 0x01U
137#define CDD_UART_GETVERSIONINFO_SERVICE_ID 0x02U
139#define CDD_UART_REGISTERREADBACK_SERVICE_ID 0x0DU
141#define CDD_UART_READDATA_SERVICE_ID 0x03U
143#define CDD_UART_WRITEDATA_SERVICE_ID 0x04U
145#define CDD_UART_ERROR_SERVICE_ID 0x05U
147#define CDD_UART_CANCEL_SERVICE_ID 0x06U
149#define CDD_UART_GETREMAININGWORDS_SERVICE_ID 0x07U
151#define CDD_UART_READNOTIF_SERVICE_ID 0x08U
153#define CDD_UART_WRITENOTIF_SERVICE_ID 0x09U
155#define CDD_UART_ERRORNOTIF_SERVICE_ID 0x0AU
157#define CDD_UART_DEINIT_SERVICE_ID 0x0BU
159#define CDD_UART_INTERNAL_ISR_ID 0x0CU
170#define CDD_UART_E_UNINIT 0x01U
173#define CDD_UART_E_INVALID_EVENT 0x02U
176#define CDD_UART_E_READ_LOCKED 0x03U
179#define CDD_UART_E_WRITE_LOCKED 0x04U
182#define CDD_UART_E_PARAM_POINTER 0x05U
185#define CDD_UART_E_ALREADY_INITIALIZED 0x06U
188#define CDD_UART_E_PARAM_VALUE 0x07U
191#define CDD_UART_E_PARAM_LENGTH 0x08U
194#define CDD_UART_E_INVALID_CHANNEL 0x09U
197#define CDD_UART_E_INVALID_CONFIG 0x0AU
208#define UART_TX_FIFO_NOT_FULL ( \
209 UART_SSR_TX_FIFO_FULL_TX_FIFO_FULL_VALUE_0)
210#define UART_TX_FIFO_FULL ( \
211 UART_SSR_TX_FIFO_FULL_TX_FIFO_FULL_VALUE_1)
222#define UART_INTID_MODEM_STAT (UART_IIR_IT_TYPE_IT_TYPE_VALUE_0 \
224 UART_IIR_IT_TYPE_SHIFT)
225#define UART_INTID_TX_THRES_REACH (UART_IIR_IT_TYPE_IT_TYPE_VALUE_1 \
227 UART_IIR_IT_TYPE_SHIFT)
228#define UART_INTID_RX_THRES_REACH (UART_IIR_IT_TYPE_IT_TYPE_VALUE_2 \
230 UART_IIR_IT_TYPE_SHIFT)
231#define UART_INTID_RX_LINE_STAT_ERROR (UART_IIR_IT_TYPE_IT_TYPE_VALUE_3 \
233 UART_IIR_IT_TYPE_SHIFT)
234#define UART_INTID_CHAR_TIMEOUT (UART_IIR_IT_TYPE_IT_TYPE_VALUE_6 \
236 UART_IIR_IT_TYPE_SHIFT)
237#define UART_INTID_XOFF_SPEC_CHAR_DETECT (UART_IIR_IT_TYPE_IT_TYPE_VALUE_8 \
239 UART_IIR_IT_TYPE_SHIFT)
240#define UART_INTID_MODEM_SIG_STATE_CHANGE (UART_IIR_IT_TYPE_IT_TYPE_VALUE_10 \
242 UART_IIR_IT_TYPE_SHIFT)
245#define UART_INTR_PENDING (0U)
246#define UART_NO_INTR_PENDING (1U)
256#define UART_INTR_CTS (UART_IER_CTS_IT_MASK)
257#define UART_INTR_RTS (UART_IER_RTS_IT_MASK)
258#define UART_INTR_XOFF (UART_IER_XOFF_IT_MASK)
259#define UART_INTR_SLEEPMODE (UART_IER_SLEEP_MODE_MASK)
260#define UART_INTR_MODEM_STAT (UART_IER_MODEM_STS_IT_MASK)
261#define UART_INTR_LINE_STAT (UART_IER_LINE_STS_IT_MASK)
262#define UART_INTR_THR (UART_IER_THR_IT_MASK)
263#define UART_INTR_RHR_CTI (UART_IER_RHR_IT_MASK)
265#define UART_INTR2_RX_EMPTY (UART_IER2_EN_RXFIFO_EMPTY_MASK)
266#define UART_INTR2_TX_EMPTY (UART_IER2_EN_TXFIFO_EMPTY_MASK)
276#define UART_FIFO_PE_FE_BI_DETECTED (UART_LSR_RX_FIFO_STS_MASK)
277#define UART_BREAK_DETECTED_ERROR (UART_LSR_RX_BI_MASK)
278#define UART_FRAMING_ERROR (UART_LSR_RX_FE_MASK)
279#define UART_PARITY_ERROR (UART_LSR_RX_PE_MASK)
280#define UART_OVERRUN_ERROR (UART_LSR_RX_OE_MASK)
283#define UART_STATE_RX_DISABLED (0x0U)
284#define UART_STATE_RX_ENABLED (0x1U)
287#define IS_DATA_LENGTH_VALID(dataLength) ((dataLength == CDD_UART_WORD_LENGTH_5) || \
288 (dataLength == CDD_UART_WORD_LENGTH_6) || \
289 (dataLength == CDD_UART_WORD_LENGTH_7) || \
290 (dataLength == CDD_UART_WORD_LENGTH_8))
293#define IS_STOP_BITS_VALID(stopBits) ((stopBits == CDD_UART_STOP_BIT_1) || \
294 (stopBits == CDD_UART_STOP_BITS_2))
297#define IS_PARITY_TYPE_VALID(parityType) ((parityType == CDD_UART_PARITY_NONE) || \
298 (parityType == CDD_UART_PARITY_ODD) || \
299 (parityType == CDD_UART_PARITY_EVEN))
302#define IS_OPER_MODE_VALID(operMode) ((operMode == CDD_UART_16x_OPER) || \
303 (operMode == CDD_UART_16x_AUTO_OPER) || \
304 (operMode == CDD_UART_13x_OPER))
307#define IS_RXTRIG_LVL_VALID(rxTrigLvl) ((rxTrigLvl == CDD_UART_TRIGGER_LEVEL_1) || \
308 (rxTrigLvl == CDD_UART_TRIGGER_LEVEL_8) || \
309 (rxTrigLvl == CDD_UART_TRIGGER_LEVEL_16) || \
310 (rxTrigLvl == CDD_UART_TRIGGER_LEVEL_56) || \
311 (rxTrigLvl == CDD_UART_TRIGGER_LEVEL_60))
314#define IS_TXTRIG_LVL_VALID(txTrigLvl) ((txTrigLvl == CDD_UART_TRIGGER_LEVEL_1) || \
315 (txTrigLvl == CDD_UART_TRIGGER_LEVEL_8) || \
316 (txTrigLvl == CDD_UART_TRIGGER_LEVEL_16) || \
317 (txTrigLvl == CDD_UART_TRIGGER_LEVEL_32) || \
318 (txTrigLvl == CDD_UART_TRIGGER_LEVEL_56))
323#define MCAL_STATE_RESET (0U)
324#define MCAL_STATE_READY (1U)
325#define MCAL_STATE_BUSY (2U)
326#define MCAL_STATE_ERROR (3U)
363#if (STD_ON == CDD_UART_VERSION_INFO_API)
365 P2VAR(Std_VersionInfoType, AUTOMATIC, CDD_UART_APPL_DATA) VersionInfoPtr);
387#if (STD_ON == CDD_UART_REGISTER_READBACK_API)
388FUNC(Std_ReturnType, CDD_UART_CODE)
Cdd_Uart_RegisterReadback(uint8 ChannelID, P2VAR(CddUart_RegisterReadbackType, AUTOMATIC, CDD_UART_CFG) RegisterSetPtr);
431#if (STD_ON == CDD_UART_DEINIT_API)
461#if (STD_ON == CDD_UART_WRITE_API)
463 P2VAR(
CddUartDataBufferType, AUTOMATIC, CDD_UART_APPL_DATA) SrcBufferPtr, uint32 Count, uint32 Timeout);
491#if (STD_ON == CDD_UART_READ_API)
493 P2VAR(
CddUartDataBufferType, AUTOMATIC, CDD_UART_APPL_DATA) DestBufferPtr, uint32 Count, uint32 Timeout);
518#if (STD_ON == CDD_UART_CANCEL_API)
544#if (STD_ON == CDD_UART_GETREMAININGWORDS_API)
This file contains generated configuration file for UART Complex Device Driver.
boolean Cdd_Uart_Cancel(uint8 ChannelID, CddUartDataDirectionType TransferType)
Service to cancel an ongoing transaction with UART.
void Cdd_Uart_Init(const Cdd_Uart_CfgType *ConfigurationPtr)
Service for CDD UART Initialization.
uint8 CddUartDataBufferType
Typedef for the data buffer elements.
Definition Cdd_Uart.h:329
Std_ReturnType Cdd_Uart_Read(uint8 ChannelID, CddUartDataBufferType *DestBufferPtr, uint32 Count, uint32 Timeout)
Service to read message or command from the UART.
uint8_least CddUartDataDirectionType
Type for defining the direction of data transfer, i.e., sending or receival.
Definition Cdd_Uart.h:332
uint32 Cdd_Uart_GetRemainingWords(uint8 ChannelID, CddUartDataDirectionType TransferType)
Service to get remaining words to be transmitted from the UART for any ongoing transaction.
void Cdd_Uart_GetVersionInfo(Std_VersionInfoType *VersionInfoPtr)
Service for getting CDD UART version.
Std_ReturnType Cdd_Uart_RegisterReadback(uint8 ChannelID, CddUart_RegisterReadbackType *RegisterSetPtr)
Service for reading HW IP registers of a CDD UART instance.
void Cdd_Uart_DeInit(void)
Service for deinitializing CDD UART.
Std_ReturnType Cdd_Uart_Write(uint8 ChannelID, CddUartDataBufferType *SrcBufferPtr, uint32 Count, uint32 Timeout)
Service to transmit message using UART.
Definition Cdd_Uart_Cfg.h:288