AM64x MCU+ SDK  10.00.00

Introduction

Header file containing various enumerations, structure definitions and function declarations for the FSI RX IP.

Go to the source code of this file.

FSI RX Enum type

#define FSI_RX_EVT_PING_WD_TIMEOUT   ((uint16_t)0x0001U)
 
#define FSI_RX_EVT_FRAME_WD_TIMEOUT   ((uint16_t)0x0002U)
 
#define FSI_RX_EVT_CRC_ERR   ((uint16_t)0x0004U)
 
#define FSI_RX_EVT_TYPE_ERR   ((uint16_t)0x0008U)
 
#define FSI_RX_EVT_EOF_ERR   ((uint16_t)0x0010U)
 
#define FSI_RX_EVT_OVERRUN   ((uint16_t)0x0020U)
 
#define FSI_RX_EVT_FRAME_DONE   ((uint16_t)0x0040U)
 
#define FSI_RX_EVT_UNDERRUN   ((uint16_t)0x0080U)
 
#define FSI_RX_EVT_ERR_FRAME   ((uint16_t)0x0100U)
 
#define FSI_RX_EVT_PING_FRAME   ((uint16_t)0x0200U)
 
#define FSI_RX_EVT_FRAME_OVERRUN   ((uint16_t)0x0400U)
 
#define FSI_RX_EVT_DATA_FRAME   ((uint16_t)0x0800U)
 
#define FSI_RX_EVTMASK   ((uint16_t)0x0FFFU)
 Mask of all RX Events, ORing all event defines. More...
 
#define FSI_RX_MAX_DELAY_LINE_VAL   ((uint16_t)0x001FU)
 Maximum value in RX delay line tap control. More...
 
typedef uint32_t FSI_RxEnumType
 This enumerator defines the types of possible FSI RX events. More...
 

FSI RX submodues that can be reset

#define FSI_RX_MAIN_CORE_RESET   ((uint32_t)0x0U)
 
#define FSI_RX_FRAME_WD_CNT_RESET   ((uint32_t)0x1U)
 
#define FSI_RX_PING_WD_CNT_RESET   ((uint32_t)0x2U)
 
typedef uint32_t FSI_RxSubmoduleInReset
 List of RX modules that can be reset, can be used with reset APIs. More...
 

FSI RX delay tap type

#define FSI_RX_DELAY_CLK   ((uint32_t)0x0U)
 
#define FSI_RX_DELAY_D0   ((uint32_t)0x1U)
 
#define FSI_RX_DELAY_D1   ((uint32_t)0x2U)
 
typedef uint32_t FSI_RxDelayTapType
 Available RX lines for delay tap selection. More...
 

FSI external frame trigger source

#define FSI_EXT_TRIGSRC_EPWM1_SOCA   ((uint32_t)0x08U)
 
#define FSI_EXT_TRIGSRC_EPWM1_SOCB   ((uint32_t)0x09U)
 
#define FSI_EXT_TRIGSRC_EPWM2_SOCA   ((uint32_t)0x0AU)
 
#define FSI_EXT_TRIGSRC_EPWM2_SOCB   ((uint32_t)0x0BU)
 
#define FSI_EXT_TRIGSRC_EPWM3_SOCA   ((uint32_t)0x0CU)
 
#define FSI_EXT_TRIGSRC_EPWM3_SOCB   ((uint32_t)0x0DU)
 
#define FSI_EXT_TRIGSRC_EPWM4_SOCA   ((uint32_t)0x0EU)
 
#define FSI_EXT_TRIGSRC_EPWM4_SOCB   ((uint32_t)0x0FU)
 
#define FSI_EXT_TRIGSRC_EPWM5_SOCA   ((uint32_t)0x10U)
 
#define FSI_EXT_TRIGSRC_EPWM5_SOCB   ((uint32_t)0x11U)
 
#define FSI_EXT_TRIGSRC_EPWM6_SOCA   ((uint32_t)0x12U)
 
#define FSI_EXT_TRIGSRC_EPWM6_SOCB   ((uint32_t)0x13U)
 
#define FSI_EXT_TRIGSRC_EPWM7_SOCA   ((uint32_t)0x14U)
 
#define FSI_EXT_TRIGSRC_EPWM7_SOCB   ((uint32_t)0x15U)
 
#define FSI_EXT_TRIGSRC_EPWM8_SOCA   ((uint32_t)0x16U)
 
#define FSI_EXT_TRIGSRC_EPWM8_SOCB   ((uint32_t)0x17U)
 
typedef uint32_t FSI_ExtFrameTriggerSrc
 Indexes of available EPWM SOC triggers. More...
 

Functions

int32_t FSI_enableRxInternalLoopback (uint32_t base)
 This API enables internal loopback where mux will select internal pins coming from RX module instead of what comes from pins. More...
 
int32_t FSI_disableRxInternalLoopback (uint32_t base)
 This API disables internal loopback where mux will not use internal pins coming from RX module. More...
 
int32_t FSI_enableRxSPIPairing (uint32_t base)
 This API enables SPI clock paring, receive clock is selected from the internal port coming from RX module. More...
 
int32_t FSI_disableRxSPIPairing (uint32_t base)
 This API disables SPI clock paring, selects regular receive clock coming from the pins. More...
 
int32_t FSI_setRxDataWidth (uint32_t base, FSI_DataWidth dataWidth)
 This API selects number of data lines used for receiving. More...
 
int32_t FSI_enableRxSPIMode (uint32_t base)
 This API enables SPI compatible mode in FSI RX. More...
 
int32_t FSI_disableRxSPIMode (uint32_t base)
 This API disables SPI compatible mode in FSI RX. More...
 
int32_t FSI_setRxSoftwareFrameSize (uint32_t base, uint16_t nWords)
 This API sets the RX frame size if frame type is user/software defined frame. More...
 
int32_t FSI_setRxECCComputeWidth (uint32_t base, FSI_ECCComputeWidth eccComputeWidth)
 This API select between 16-bit and 32-bit ECC computation for FSI RX. More...
 
int32_t FSI_setRxPingTimeoutMode (uint32_t base, FSI_PingTimeoutMode pingTimeoutMode)
 This API sets HW/SW initiated RX ping timeout mode. More...
 
int32_t FSI_getRxFrameType (uint32_t base, FSI_FrameType *pFrameType)
 This API gets frame type received in the last successful frame. More...
 
int32_t FSI_getRxFrameTag (uint32_t base, uint16_t *pFrameTag)
 This API gets frame tag received for the last successful frame. More...
 
int32_t FSI_getRxUserDefinedData (uint32_t base, uint16_t *pUserData)
 This API gets User-Data (8-bit) field for received data frame. More...
 
int32_t FSI_getRxEventStatus (uint32_t base, uint16_t *pEvtFlags)
 This API gets current status of all the event/error flags. More...
 
int32_t FSI_forceRxEvents (uint32_t base, uint16_t evtFlags)
 This API enables user to set RX event/error flags. More...
 
int32_t FSI_clearRxEvents (uint32_t base, uint16_t evtFlags)
 This API enables user to clear RX event/error flags. More...
 
int32_t FSI_getRxReceivedCRC (uint32_t base, uint16_t *pCrcVal)
 This API gets CRC value received in data frame/frame. More...
 
int32_t FSI_getRxComputedCRC (uint32_t base, uint16_t *pCrcVal)
 This API gets CRC value computed for data received. More...
 
int32_t FSI_setRxBufferPtr (uint32_t base, uint16_t bufPtrOff)
 This API sets the value for receive buffer pointer at desired location. More...
 
int32_t FSI_getRxBufferPtr (uint32_t base, uint16_t *pBufPtrLoc)
 This API gets current buffer pointer location. More...
 
int32_t FSI_getRxWordCount (uint32_t base, uint16_t *pWordCnt)
 This API gets valid number of data words present in buffer which have not been read out yet. More...
 
int32_t FSI_enableRxFrameWatchdog (uint32_t base, uint32_t wdRef)
 This API enables the frame watchdog counter logic to count every time it start to receive a frame. More...
 
int32_t FSI_disableRxFrameWatchdog (uint32_t base)
 This API disables the frame watchdog counter logic. More...
 
int32_t FSI_getRxFrameWatchdogCounter (uint32_t base, uint32_t *pWdCnt)
 This API gets current value of frame watchdog counter. More...
 
int32_t FSI_enableRxPingWatchdog (uint32_t base, uint32_t wdRef)
 This API enables the ping watchdog counter logic and once the set time elapses it will indicate ping watchdog time-out has occurred. More...
 
int32_t FSI_disableRxPingWatchdog (uint32_t base)
 This API disables the ping watchdog counter logic. More...
 
int32_t FSI_getRxPingWatchdogCounter (uint32_t base, uint32_t *pWdCnt)
 This API gets current value of ping watchdog counter. More...
 
int32_t FSI_getRxPingTag (uint32_t base, uint16_t *pPingTag)
 This API gets the value of tag received for last ping frame. More...
 
int32_t FSI_lockRxCtrl (uint32_t base)
 This API locks the control of all receive control registers, once locked further writes will not take effect until system reset occurs. More...
 
int32_t FSI_setRxECCData (uint32_t base, uint32_t rxECCdata)
 This API sets RX ECC data on which ECC (SEC-DED) computaion logic runs. More...
 
int32_t FSI_setRxReceivedECCValue (uint32_t base, uint16_t rxECCvalue)
 This API sets received ECC value on which ECC (SEC-DED) computaion logic runs. More...
 
int32_t FSI_getRxECCCorrectedData (uint32_t base, uint32_t *pEccData)
 This API gets ECC corrected data. More...
 
int32_t FSI_getRxECCLog (uint32_t base, uint16_t *pEccLog)
 This API gets ECC Log details. More...
 
int32_t FSI_enableRxInterrupt (uint32_t base, FSI_InterruptNum intNum, uint16_t intFlags)
 This API enables user to generate interrupt on occurrence of RX events. More...
 
int32_t FSI_disableRxInterrupt (uint32_t base, FSI_InterruptNum intNum, uint16_t intFlags)
 This API enables user to disable interrupt generation on RX events. More...
 
int32_t FSI_getRxBufferAddress (uint32_t base, uint32_t *pAddr)
 This API gets address of RX data buffer. More...
 
int32_t FSI_resetRxModule (uint32_t base, FSI_RxSubmoduleInReset submodule)
 This API resets frame watchdog, ping watchdog or entire RX module. More...
 
int32_t FSI_clearRxModuleReset (uint32_t base, FSI_RxSubmoduleInReset submodule)
 This API clears resets on frame watchdog, ping watchdog or entire RX module. More...
 
int32_t FSI_readRxBuffer (uint32_t base, uint16_t *pArray, uint16_t length, uint16_t bufOffset)
 This API reads data from FSI RX buffer. More...
 
int32_t FSI_configRxDelayLine (uint32_t base, FSI_RxDelayTapType delayTapType, uint16_t tapValue)
 This API adds delay for selected RX tap line. More...
 
int32_t FSI_performRxInitialization (uint32_t base)
 This API initializes FSI RX module. More...