Functions
CANFD Driver Internal Functions

The section has a list of all the internal functions used by the driver. More...

Functions

static void CANFD_MCANInt0Isr (uintptr_t arg)
 
static void CANFD_MCANInt1Isr (uintptr_t arg)
 
void MCAN_reset (uint32_t baseAddr)
 This API is used to initiate reset for MCAN module. More...
 
uint32_t MCAN_isInReset (uint32_t baseAddr)
 This function checks if the MCAN module is in Reset. More...
 
uint32_t MCAN_isFDOpEnable (uint32_t baseAddr)
 This API will return flexible data rate operation status MCAN module. More...
 
uint32_t MCAN_isMemInitDone (uint32_t baseAddr)
 This function checks if the memory initialization is done for MCAN module. More...
 
void MCAN_setOpMode (uint32_t baseAddr, uint32_t mode)
 This API will set MCAN module mode of operation. More...
 
uint32_t MCAN_getOpMode (uint32_t baseAddr)
 This API will return MCAN module mode of operation. More...
 
int32_t MCAN_init (uint32_t baseAddr, const CANFD_MCANInitParams *initParams)
 This API will initialize MCAN module. More...
 
int32_t MCAN_config (uint32_t baseAddr, const CANFD_MCANInitParams *configParams)
 This API will configure MCAN module. More...
 
void MCAN_eccConfig (uint32_t baseAddr, const CANFD_MCANECCConfigParams *configParams)
 This API will enable/disable ECC on the Message RAM. More...
 
int32_t MCAN_setBitTime (uint32_t baseAddr, const MCAN_BitTimingParams *configParams)
 This API will configure a bit timings for MCAN module. More...
 
int32_t MCAN_msgRAMConfig (uint32_t baseAddr, const MCAN_MsgRAMConfigParams *msgRAMConfigParams)
 This API will configure Different sections of Message RAM. More...
 
int32_t MCAN_setExtIDAndMask (uint32_t baseAddr, uint32_t idMask)
 This API will configure Extended ID AND Mask. More...
 
void MCAN_writeMsgRam (uint32_t baseAddr, uint32_t memType, uint32_t bufNum, const MCAN_TxBufElement *elem)
 This API is used to write Tx message to message RAM. More...
 
int32_t MCAN_txBufAddReq (uint32_t baseAddr, uint32_t bufNum)
 This API will set Tx Buffer Add Request. More...
 
void MCAN_getNewDataStatus (uint32_t baseAddr, MCAN_RxNewDataStatus *newDataStatus)
 This API will return New Data Message Status. More...
 
void MCAN_clearNewDataStatus (uint32_t baseAddr, const MCAN_RxNewDataStatus *newDataStatus)
 This API clear New Data Message Status. More...
 
void MCAN_readMsgRam (uint32_t baseAddr, uint32_t memType, uint32_t bufNum, uint32_t fifoNum, MCAN_RxBufElement *elem)
 This API is used to read received message form message RAM. More...
 
void MCAN_addStdMsgIDFilter (uint32_t baseAddr, uint32_t filtNum, const MCAN_StdMsgIDFilterElement *elem)
 This API is used to add Standard Message ID Filter Element. More...
 
void MCAN_addExtMsgIDFilter (uint32_t baseAddr, uint32_t filtNum, const MCAN_ExtMsgIDFilterElement *elem)
 This API is used to add Extended Message ID Filter Element. More...
 
void MCAN_lpbkModeEnable (uint32_t baseAddr, uint32_t lpbkMode, uint32_t enable)
 This API will enable/disable Loop Back Test Mode for MCAN module. More...
 
void MCAN_getErrCounters (uint32_t baseAddr, CANFD_MCANErrCntStatus *errCounter)
 This API will return error counter status for MCAN module. More...
 
void MCAN_getProtocolStatus (uint32_t baseAddr, CANFD_MCANProtocolStatus *protStatus)
 This API will return protocol status for MCAN module. More...
 
void MCAN_enableIntr (uint32_t baseAddr, uint32_t intrMask, uint32_t enable)
 This API is used to enable/disable interrupts. More...
 
void MCAN_selectIntrLine (uint32_t baseAddr, uint32_t intrMask, uint32_t lineNum)
 This API is used to select interrupt line. More...
 
void MCAN_enableIntrLine (uint32_t baseAddr, uint32_t lineNum, uint32_t enable)
 This API is used to enable/disable selected interrupt line. More...
 
uint32_t MCAN_getIntrStatus (uint32_t baseAddr)
 This API will return interrupt status. More...
 
void MCAN_clearIntrStatus (uint32_t baseAddr, uint32_t intrMask)
 This API is used to clear the interrupt status. More...
 
void MCAN_getHighPriorityMsgStatus (uint32_t baseAddr, MCAN_HighPriorityMsgInfo *hpm)
 This API will return High Priority Message Status. More...
 
void MCAN_getRxFIFOStatus (uint32_t baseAddr, MCAN_RxFIFOStatus *fifoStatus)
 This API will Rx FIFO status. More...
 
int32_t MCAN_writeRxFIFOAck (uint32_t baseAddr, uint32_t fifoNum, uint32_t idx)
 This API will write Rx FIFO Acknowledgement. More...
 
void MCAN_getTxFIFOQueStatus (uint32_t baseAddr, MCAN_TxFIFOStatus *fifoStatus)
 This API will Tx FIFO status. More...
 
uint32_t MCAN_getTxBufReqPend (uint32_t baseAddr)
 This API will return Tx Buffer Request Pending status. More...
 
int32_t MCAN_txBufCancellationReq (uint32_t baseAddr, uint32_t buffNum)
 This API will set Tx Buffer Cancellation Request. More...
 
uint32_t MCAN_getTxBufTransmissionStatus (uint32_t baseAddr)
 This API will return Tx Buffer Transmission Occurred status. More...
 
uint32_t MCAN_txBufCancellationStatus (uint32_t baseAddr)
 This API will return Transmit Buffer Cancellation Finished status. More...
 
int32_t MCAN_txBufTransIntrEnable (uint32_t baseAddr, uint32_t bufNum, uint32_t enable)
 This API is used to enable/disable Tx Buffer Transmission Interrupt. More...
 
int32_t MCAN_getTxBufCancellationIntrEnable (uint32_t baseAddr, uint32_t bufNum, uint32_t enable)
 This API is used to enable/disable Tx Buffer Cancellation Finished Interrupt. More...
 
void MCAN_addClockStopRequest (uint32_t baseAddr, uint32_t enable)
 This API add clock stop request for MCAN module to put it in power down mode. More...
 
void MCAN_getTxEventFIFOStatus (uint32_t baseAddr, MCAN_TxEventFIFOStatus *fifoStatus)
 This API will Tx Event FIFO status. More...
 
int32_t MCAN_writeTxEventFIFOAck (uint32_t baseAddr, uint32_t idx)
 This API will write Event FIFO Acknowledge Index. More...
 
void MCAN_eccForceError (uint32_t baseAddr, const CANFD_MCANECCErrForceParams *eccErr)
 This API will Force Error on ECC. More...
 
void MCAN_eccGetErrorStatus (uint32_t baseAddr, CANFD_MCANECCErrStatus *eccErr)
 This API will return ECC Error status. More...
 
void MCAN_eccClearErrorStatus (uint32_t baseAddr, uint32_t errType)
 This API is used to clear the ECC Error status. More...
 
void MCAN_eccWriteEOI (uint32_t baseAddr, uint32_t errType)
 This API is used to write End of Interrupt for ECC interrupt. More...
 
void MCAN_eccEnableIntr (uint32_t baseAddr, uint32_t errType, uint32_t enable)
 This API is used to enable ECC interrupt. More...
 
uint32_t MCAN_eccGetIntrStatus (uint32_t baseAddr, uint32_t errType)
 This API is used to get ECC interrupt status. More...
 
void MCAN_eccClearIntrStatus (uint32_t baseAddr, uint32_t errType)
 This API is used to clear ECC interrupt status. More...
 
void MCAN_extTSCounterConfig (uint32_t baseAddr, uint32_t prescalar)
 This API will configure external timestamp counter for MCAN module. More...
 
void MCAN_extTSCounterEnable (uint32_t baseAddr, uint32_t enable)
 This API will enable/disable fast external time stamp counter for MCAN module. More...
 
void MCAN_extTSEnableIntr (uint32_t baseAddr, uint32_t enable)
 This API will enable/disable External TimeStamp Counter Overflow Interrupt for MCAN module. More...
 
void MCAN_extTSWriteEOI (uint32_t baseAddr)
 This API is used to write End of Interrupt for External TimeStamp Counter Overflow Interrupt. More...
 
uint32_t MCAN_extTSGetUnservicedIntrCount (uint32_t baseAddr)
 This API returns Number of unserviced rollover/overflow interrupts for external TimeStamp counter. More...
 
void MCAN_getRevisionId (uint32_t baseAddr, MCAN_RevisionId *revId)
 This API is used get the MCAN revision ID. More...
 
uint32_t MCAN_getClockStopAck (uint32_t baseAddr)
 This API get clock stop acknowledgement for MCAN module. It return whether MCAN is power down mode or not. More...
 
void MCAN_extTSSetRawStatus (uint32_t baseAddr)
 This API will set External TimeStamp Counter Overflow Interrupt Raw status for MCAN module. More...
 
void MCAN_extTSClearRawStatus (uint32_t baseAddr)
 This API will clear External TimeStamp Counter Overflow Interrupt raw status for MCAN module. More...
 
uint32_t MCAN_getRxPinState (uint32_t baseAddr)
 This API will return Rx pin state of MCAN module. More...
 
void MCAN_setTxPinState (uint32_t baseAddr, uint32_t state)
 This API will set Tx pin state of MCAN module. More...
 
uint32_t MCAN_getTxPinState (uint32_t baseAddr)
 This API will return Tx pin state of MCAN module. More...
 
uint32_t MCAN_getTSCounterVal (uint32_t baseAddr)
 This API will return current timestamp counter value. More...
 
uint32_t MCAN_getClkStopAck (uint32_t baseAddr)
 This API will return clock stop acknowledgement for MCAN module. More...
 
void MCAN_getBitTime (uint32_t baseAddr, MCAN_BitTimingParams *configParams)
 This API will get the configured bit timings for MCAN module. More...
 
void MCAN_resetTSCounter (uint32_t baseAddr)
 This API will reset timestamp counter value. More...
 
uint32_t MCAN_getTOCounterVal (uint32_t baseAddr)
 This API will return current time-out counter value. More...
 
void MCAN_eccAggrGetRevisionId (uint32_t baseAddr, MCAN_ECCAggrRevisionId *revId)
 This API is used get the ECC AGGR revision ID. More...
 
void MCAN_eccWrapGetRevisionId (uint32_t baseAddr, MCAN_ECCWrapRevisionId *revId)
 This API is used get the ECC Wrapper revision ID. More...
 
uint32_t MCAN_extTSIsIntrEnable (uint32_t baseAddr)
 This API returns External TimeStamp Counter Overflow Interrupt enable status for MCAN module. More...
 
uint32_t MCAN_getEndianVal (uint32_t baseAddr)
 This function return endianness value of MCAN module. More...
 
uint32_t MCAN_getExtIDANDMassk (uint32_t baseAddr)
 This API will get the configured Extended ID AND Mask. More...
 

Detailed Description

The section has a list of all the internal functions used by the driver.

Function Documentation

static void CANFD_MCANInt0Isr ( uintptr_t  arg)
static

Description
The function is the registered interrupt 0 ISR for the CANFD Driver.

Parameters
[in]argArgument which is registered with the OS while registering the ISR
Return values
Notapplicable
static void CANFD_MCANInt1Isr ( uintptr_t  arg)
static

Description
The function is the registered interrupt 1 ISR for the CANFD Driver.

Parameters
[in]argArgument which is registered with the OS while registering the ISR
Return values
Notapplicable
void MCAN_addClockStopRequest ( uint32_t  baseAddr,
uint32_t  enable 
)

This API add clock stop request for MCAN module to put it in power down mode.

Parameters
baseAddrBase Address of the MCAN Registers.
enableAdd CLock Stop Request. Adds Clock Clock stop Request is TRUE otherwise removes it.
Returns
None.
void MCAN_addExtMsgIDFilter ( uint32_t  baseAddr,
uint32_t  filtNum,
const MCAN_ExtMsgIDFilterElement *  elem 
)

This API is used to add Extended Message ID Filter Element.

Parameters
baseAddrBase Address of the MCAN Registers.
filtNumFilter number.
elemFilter Object. Refer struct MCAN_ExtMsgIDFilterElement.
Returns
None.
void MCAN_addStdMsgIDFilter ( uint32_t  baseAddr,
uint32_t  filtNum,
const MCAN_StdMsgIDFilterElement *  elem 
)

This API is used to add Standard Message ID Filter Element.

Parameters
baseAddrBase Address of the MCAN Registers.
filtNumFilter number.
elemFilter Object. Refer struct MCAN_StdMsgIDFilterElement.
Returns
None.
void MCAN_clearIntrStatus ( uint32_t  baseAddr,
uint32_t  intrMask 
)

This API is used to clear the interrupt status.

Parameters
baseAddrBase Address of the MCAN Registers.
intrMaskInterrupts to clear status.
Returns
None.
void MCAN_clearNewDataStatus ( uint32_t  baseAddr,
const MCAN_RxNewDataStatus *  newDataStatus 
)

This API clear New Data Message Status.

Parameters
baseAddrBase Address of the MCAN Registers.
newDataStatusRx Buffer new data status. Refer struct MCAN_RxNewDataStatus.
Returns
None.
int32_t MCAN_config ( uint32_t  baseAddr,
const CANFD_MCANInitParams *  configParams 
)

This API will configure MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
configParamsconfiguration parameters. Refer struct CANFD_MCANInitParams.
Returns
status Configuration status.
void MCAN_eccAggrGetRevisionId ( uint32_t  baseAddr,
MCAN_ECCAggrRevisionId *  revId 
)

This API is used get the ECC AGGR revision ID.

Parameters
baseAddrBase Address of the MCAN Registers.
revIdContains Revision ID of ECC AGGR. Refer struct MCAN_ECCAggrRevisionId.
Returns
None.
void MCAN_eccClearErrorStatus ( uint32_t  baseAddr,
uint32_t  errType 
)

This API is used to clear the ECC Error status.

Parameters
baseAddrBase Address of the MCAN Registers.
errTypeError type to clear status. Refer enum CANFD_MCANECCErrType.
Returns
None.
void MCAN_eccClearIntrStatus ( uint32_t  baseAddr,
uint32_t  errType 
)

This API is used to clear ECC interrupt status.

Parameters
baseAddrBase Address of the MCAN Registers.
errTypeInterrupt status to clear. Refer enum CANFD_MCANECCErrType.
Returns
None.
void MCAN_eccConfig ( uint32_t  baseAddr,
const CANFD_MCANECCConfigParams *  configParams 
)

This API will enable/disable ECC on the Message RAM.

Parameters
baseAddrBase Address of the MCAN Registers.
configParamsMCAN ECC Configuration Parameters. Refer struct CANFD_MCANECCConfigParams.
Returns
None.
void MCAN_eccEnableIntr ( uint32_t  baseAddr,
uint32_t  errType,
uint32_t  enable 
)

This API is used to enable ECC interrupt.

Parameters
baseAddrBase Address of the MCAN Registers.
errTypeInterrupt to enable. Refer enum CANFD_MCANECCErrType.
enableECC Interrupt is enabled if it is TRUE. ECC Interrupt is disabled if it is FALSE.
Returns
None.
void MCAN_eccForceError ( uint32_t  baseAddr,
const CANFD_MCANECCErrForceParams *  eccErr 
)

This API will Force Error on ECC.

Parameters
baseAddrBase Address of the MCAN Registers.
eccErrForce Error on ECC configuration. Refer struct CANFD_MCANECCErrForceParams.
Returns
status configuration status.
void MCAN_eccGetErrorStatus ( uint32_t  baseAddr,
CANFD_MCANECCErrStatus *  eccErr 
)

This API will return ECC Error status.

Parameters
baseAddrBase Address of the MCAN Registers.
eccErrECC error status. Refer struct CANFD_MCANECCErrStatus.
Returns
None.
uint32_t MCAN_eccGetIntrStatus ( uint32_t  baseAddr,
uint32_t  errType 
)

This API is used to get ECC interrupt status.

Parameters
baseAddrBase Address of the MCAN Registers.
errTypeInterrupt status to read. Refer enum CANFD_MCANECCErrType.
Returns
None.
void MCAN_eccWrapGetRevisionId ( uint32_t  baseAddr,
MCAN_ECCWrapRevisionId *  revId 
)

This API is used get the ECC Wrapper revision ID.

Parameters
baseAddrBase Address of the MCAN Registers.
revIdContains Revision ID of ECC Wrapper Refer struct MCAN_ECCWrapRevisionId.
Returns
None.
void MCAN_eccWriteEOI ( uint32_t  baseAddr,
uint32_t  errType 
)

This API is used to write End of Interrupt for ECC interrupt.

Parameters
baseAddrBase Address of the MCAN Registers.
errTypeInterrupt to enable. Refer enum CANFD_MCANECCErrType.
Returns
None.
void MCAN_enableIntr ( uint32_t  baseAddr,
uint32_t  intrMask,
uint32_t  enable 
)

This API is used to enable/disable interrupts.

Parameters
baseAddrBase Address of the MCAN Registers.
intrMaskInterrupts to enable. Refer enum MCAN_IntrSrc.
enableInterrupt is enabled if it is TRUE. Interrupt is disabled if it is FALSE.
Returns
None.
void MCAN_enableIntrLine ( uint32_t  baseAddr,
uint32_t  lineNum,
uint32_t  enable 
)

This API is used to enable/disable selected interrupt line.

Parameters
baseAddrBase Address of the MCAN Registers.
lineNumInterrupt Line to select. Refer enum MCAN_IntrLineNum,
enableInterrupt Line is enabled if it is 1. Interrupt Line is disabled if it is 0.
Returns
None.
void MCAN_extTSClearRawStatus ( uint32_t  baseAddr)

This API will clear External TimeStamp Counter Overflow Interrupt raw status for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
None.
void MCAN_extTSCounterConfig ( uint32_t  baseAddr,
uint32_t  prescalar 
)

This API will configure external timestamp counter for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
prescalarTimestamp Counter Prescaler. Range:[0x0-0xFFFFFF]
Returns
None.
Note
Actual value programmed prescalar values is (prescalar - 1).
void MCAN_extTSCounterEnable ( uint32_t  baseAddr,
uint32_t  enable 
)

This API will enable/disable fast external time stamp counter for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
enableExternal TS is enabled if it is 1. External TS is disabled if it is 0.
Returns
None.
void MCAN_extTSEnableIntr ( uint32_t  baseAddr,
uint32_t  enable 
)

This API will enable/disable External TimeStamp Counter Overflow Interrupt for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
enableExternal TimeStamp Counter Overflow Interrupt is enabled if it is TRUE. External TimeStamp Counter Overflow Interrupt is disabled if it is FALSE.
Returns
None.
uint32_t MCAN_extTSGetUnservicedIntrCount ( uint32_t  baseAddr)

This API returns Number of unserviced rollover/overflow interrupts for external TimeStamp counter.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
status Returns Number of unserviced rollover/overflow interrupts for external TimeStamp counter. Maximum number of unserviced interrupts is 0xF.
uint32_t MCAN_extTSIsIntrEnable ( uint32_t  baseAddr)

This API returns External TimeStamp Counter Overflow Interrupt enable status for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
status Returns TRUE if External TimeStamp Counter Overflow Interrupt is enabled. Else returns FALSE.
void MCAN_extTSSetRawStatus ( uint32_t  baseAddr)

This API will set External TimeStamp Counter Overflow Interrupt Raw status for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
None.
void MCAN_extTSWriteEOI ( uint32_t  baseAddr)

This API is used to write End of Interrupt for External TimeStamp Counter Overflow Interrupt.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
None.
void MCAN_getBitTime ( uint32_t  baseAddr,
MCAN_BitTimingParams *  configParams 
)

This API will get the configured bit timings for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
configParamsConfiguration parameters for MCAN bit timing. Refer struct MCAN_BitTimingParams.
Returns
None.
uint32_t MCAN_getClkStopAck ( uint32_t  baseAddr)

This API will return clock stop acknowledgement for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
ack Clock Stop Acknowledge 0 - No clock stop acknowledged 1 - M_CAN may be set in power down
uint32_t MCAN_getClockStopAck ( uint32_t  baseAddr)

This API get clock stop acknowledgement for MCAN module. It return whether MCAN is power down mode or not.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
status Return Clock Stop Acknowledgement status. Return '1' if M_CAN is set in power down mode else returns '0'.
uint32_t MCAN_getEndianVal ( uint32_t  baseAddr)

This function return endianness value of MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
Return values
valEndianness value. (0x87654321)
void MCAN_getErrCounters ( uint32_t  baseAddr,
CANFD_MCANErrCntStatus *  errCounter 
)

This API will return error counter status for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
errCounterError Counter Status. Refer struct CANFD_MCANErrCntStatus.
Returns
None.
uint32_t MCAN_getExtIDANDMassk ( uint32_t  baseAddr)

This API will get the configured Extended ID AND Mask.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
idMask Extended ID AND Mask.
void MCAN_getHighPriorityMsgStatus ( uint32_t  baseAddr,
MCAN_HighPriorityMsgInfo *  hpm 
)

This API will return High Priority Message Status.

Parameters
baseAddrBase Address of the MCAN Registers.
hpmHigh Priority Message Status. Refer struct MCAN_HighPriorityMsgInfo.
Returns
None.
uint32_t MCAN_getIntrStatus ( uint32_t  baseAddr)

This API will return interrupt status.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
status Interrupt Status.
void MCAN_getNewDataStatus ( uint32_t  baseAddr,
MCAN_RxNewDataStatus *  newDataStatus 
)

This API will return New Data Message Status.

Parameters
baseAddrBase Address of the MCAN Registers.
newDataStatusRx Buffer new data status. Refer struct MCAN_RxNewDataStatus.
Returns
None.
uint32_t MCAN_getOpMode ( uint32_t  baseAddr)

This API will return MCAN module mode of operation.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
mode Mode of operation. Refer enum CANFD_MCANOperationMode.
void MCAN_getProtocolStatus ( uint32_t  baseAddr,
CANFD_MCANProtocolStatus *  protStatus 
)

This API will return protocol status for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
protStatusProtocol Status. Refer struct CANFD_MCANProtocolStatus.
Returns
None.
void MCAN_getRevisionId ( uint32_t  baseAddr,
MCAN_RevisionId *  revId 
)

This API is used get the MCAN revision ID.

Parameters
baseAddrBase Address of the MCAN Registers.
revIdContains Revision ID of MCAN module. Refer struct MCAN_RevisionId.
Returns
None.
void MCAN_getRxFIFOStatus ( uint32_t  baseAddr,
MCAN_RxFIFOStatus *  fifoStatus 
)

This API will Rx FIFO status.

Parameters
baseAddrBase Address of the MCAN Registers.
fifoStatusRx FIFO Status. Refer struct MCAN_RxFIFOStatus.
Returns
None.
uint32_t MCAN_getRxPinState ( uint32_t  baseAddr)

This API will return Rx pin state of MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
state MCAN Rx Pin State. 0 - The CAN bus is dominant 1 - The CAN bus is recessive
uint32_t MCAN_getTOCounterVal ( uint32_t  baseAddr)

This API will return current time-out counter value.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
val Current Time-out counter value.
uint32_t MCAN_getTSCounterVal ( uint32_t  baseAddr)

This API will return current timestamp counter value.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
val Current Timestamp counter value.
int32_t MCAN_getTxBufCancellationIntrEnable ( uint32_t  baseAddr,
uint32_t  bufNum,
uint32_t  enable 
)

This API is used to enable/disable Tx Buffer Cancellation Finished Interrupt.

Parameters
baseAddrBase Address of the MCAN Registers.
bufNumBuffer number for which interrupt is to enable.
enableInterrupt is enabled if it is TRUE. Interrupt is disabled if it is FALSE.
Returns
status Configuration status.
uint32_t MCAN_getTxBufReqPend ( uint32_t  baseAddr)

This API will return Tx Buffer Request Pending status.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
status Tx Buffer Request Pending status.
uint32_t MCAN_getTxBufTransmissionStatus ( uint32_t  baseAddr)

This API will return Tx Buffer Transmission Occurred status.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
status Tx Buffer Transmission Occurred status.
void MCAN_getTxEventFIFOStatus ( uint32_t  baseAddr,
MCAN_TxEventFIFOStatus *  fifoStatus 
)

This API will Tx Event FIFO status.

Parameters
baseAddrBase Address of the MCAN Registers.
fifoStatusTx Event FIFO Status. Refer struct MCAN_TxEventFIFOStatus.
Returns
None.
void MCAN_getTxFIFOQueStatus ( uint32_t  baseAddr,
MCAN_TxFIFOStatus *  fifoStatus 
)

This API will Tx FIFO status.

Parameters
baseAddrBase Address of the MCAN Registers.
fifoStatusTx FIFO Status. Refer struct MCAN_TxFIFOStatus.
Returns
None.
uint32_t MCAN_getTxPinState ( uint32_t  baseAddr)

This API will return Tx pin state of MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
state MCAN Tx Pin State. 00 - Reset value 01 - Sample Point can be monitored at tx pin 10 - The CAN bus is dominant 11 - The CAN bus is recessive
int32_t MCAN_init ( uint32_t  baseAddr,
const CANFD_MCANInitParams *  initParams 
)

This API will initialize MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
initParamsInitialization parameters. Refer struct CANFD_MCANInitParams.
Returns
status Initialization status.
uint32_t MCAN_isFDOpEnable ( uint32_t  baseAddr)

This API will return flexible data rate operation status MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
state Returns TRUE if flexible data rate operation is enabled. Else returns FALSE.
uint32_t MCAN_isInReset ( uint32_t  baseAddr)

This function checks if the MCAN module is in Reset.

Parameters
baseAddrBase Address of the MCAN Registers.
Return values
stateReturns TRUE if not in reset. Else returns FALSE.
uint32_t MCAN_isMemInitDone ( uint32_t  baseAddr)

This function checks if the memory initialization is done for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
Return values
stateReturns TRUE if memory initialization is done. Else returns FALSE.
void MCAN_lpbkModeEnable ( uint32_t  baseAddr,
uint32_t  lpbkMode,
uint32_t  enable 
)

This API will enable/disable Loop Back Test Mode for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
lpbkModeLoopback mode for MCAN. Refer enum CANFD_MCANLoopBackMode.
enableLoop Back Mode is enabled if it is TRUE. Loop Back Mode is disabled if it is FALSE.
Returns
None.
Note
This API can be called only when MCAN is in Software Initialization mode of operation.
int32_t MCAN_msgRAMConfig ( uint32_t  baseAddr,
const MCAN_MsgRAMConfigParams *  msgRAMConfigParams 
)

This API will configure Different sections of Message RAM.

Parameters
baseAddrBase Address of the MCAN Registers.
msgRAMConfigParamsMessage RAM Configuration parameters. Refer struct MCAN_MsgRAMConfigParams.
Returns
status Configuration Status.
void MCAN_readMsgRam ( uint32_t  baseAddr,
uint32_t  memType,
uint32_t  bufNum,
uint32_t  fifoNum,
MCAN_RxBufElement *  elem 
)

This API is used to read received message form message RAM.

Parameters
baseAddrBase Address of the MCAN Registers.
memTypePart of message ram to which given message to write. Refer enum MCAN_MemType.
bufNumBuffer number from where message is to read. This parameter will ignored if memType is FIFO/Q.
fifoNumFIFOs number from where message is to read. Refer enum MCAN_RxFIFONum. This parameter will ignored if memType is buffer.
elemMessage Object. Refer struct MCAN_RxBufElement.
Returns
None.
void MCAN_reset ( uint32_t  baseAddr)

This API is used to initiate reset for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
None.
void MCAN_resetTSCounter ( uint32_t  baseAddr)

This API will reset timestamp counter value.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
None.
void MCAN_selectIntrLine ( uint32_t  baseAddr,
uint32_t  intrMask,
uint32_t  lineNum 
)

This API is used to select interrupt line.

Parameters
baseAddrBase Address of the MCAN Registers.
intrMaskInterrupt Number for which interrupt line is to be selected. Refer enum MCAN_IntrSrc.
lineNumInterrupt Line to select. Refer enum MCAN_IntrLineNum,
Returns
None.
int32_t MCAN_setBitTime ( uint32_t  baseAddr,
const MCAN_BitTimingParams *  configParams 
)

This API will configure a bit timings for MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
configParamsConfiguration parameters for MCAN bit timing. Refer struct MCAN_BitTimingParams.
Returns
status Bit Timings configuration status.
int32_t MCAN_setExtIDAndMask ( uint32_t  baseAddr,
uint32_t  idMask 
)

This API will configure Extended ID AND Mask.

Parameters
baseAddrBase Address of the MCAN Registers.
idMaskConfiguration parameters for MCAN Extended Id mask. This value is 29 bit wide.
Returns
status Extended ID AND Mask configuration status.
void MCAN_setOpMode ( uint32_t  baseAddr,
uint32_t  mode 
)

This API will set MCAN module mode of operation.

Parameters
baseAddrBase Address of the MCAN Registers.
modeMode of operation. Refer enum CANFD_MCANOperationMode.
Returns
None.
void MCAN_setTxPinState ( uint32_t  baseAddr,
uint32_t  state 
)

This API will set Tx pin state of MCAN module.

Parameters
baseAddrBase Address of the MCAN Registers.
stateMCAN Tx Pin State. 00 - Reset value 01 - Sample Point can be monitored at tx pin 10 - The CAN bus is dominant 11 - The CAN bus is recessive others - It will treated as 11.
Returns
None.
int32_t MCAN_txBufAddReq ( uint32_t  baseAddr,
uint32_t  bufNum 
)

This API will set Tx Buffer Add Request.

Parameters
baseAddrBase Address of the MCAN Registers.
bufNumTx Buffer number for which request is to be added.
Returns
status Configuration Status.
int32_t MCAN_txBufCancellationReq ( uint32_t  baseAddr,
uint32_t  buffNum 
)

This API will set Tx Buffer Cancellation Request.

Parameters
baseAddrBase Address of the MCAN Registers.
buffNumTx Buffer number for which request is to be added.
Returns
status Configuration Status.
uint32_t MCAN_txBufCancellationStatus ( uint32_t  baseAddr)

This API will return Transmit Buffer Cancellation Finished status.

Parameters
baseAddrBase Address of the MCAN Registers.
Returns
status Transmit Buffer Cancellation Finished status.
int32_t MCAN_txBufTransIntrEnable ( uint32_t  baseAddr,
uint32_t  bufNum,
uint32_t  enable 
)

This API is used to enable/disable Tx Buffer Transmission Interrupt.

Parameters
baseAddrBase Address of the MCAN Registers.
bufNumBuffer number for which interrupt is to enable.
enableInterrupt is enabled if it is TRUE. Interrupt is disabled if it is FALSE.
Returns
status Configuration status.
void MCAN_writeMsgRam ( uint32_t  baseAddr,
uint32_t  memType,
uint32_t  bufNum,
const MCAN_TxBufElement *  elem 
)

This API is used to write Tx message to message RAM.

Parameters
baseAddrBase Address of the MCAN Registers.
memTypePart of message ram to which given message to write. Refer enum MCAN_MemType.
bufNumBuffer number where message to write. This parameter will ignored if memType is FIFO/Q.
elemMessage Object. Refer struct MCAN_TxBufElement.
Returns
None.
int32_t MCAN_writeRxFIFOAck ( uint32_t  baseAddr,
uint32_t  fifoNum,
uint32_t  idx 
)

This API will write Rx FIFO Acknowledgement.

Parameters
baseAddrBase Address of the MCAN Registers. Refer enum MCAN_RxFIFONum.
fifoNumFIFO Number.
idxRx FIFO Acknowledge Index
Returns
status Acknowledgement Status.
int32_t MCAN_writeTxEventFIFOAck ( uint32_t  baseAddr,
uint32_t  idx 
)

This API will write Event FIFO Acknowledge Index.

Parameters
baseAddrBase Address of the MCAN Registers.
idxEvent FIFO Acknowledge Index
Returns
status Acknowledgement Status.

Copyright 2020, Texas Instruments Incorporated