  | 
  
    AM64x MCU+ SDK
    11.01.00
    
   | 
           
 | 
 
 
 
 
Go to the documentation of this file.
   56 #include <drivers/hw_include/cslr_fsi_rx.h> 
   96 #define FSI_RX_EVT_PING_WD_TIMEOUT  ((uint16_t)0x0001U) 
   98 #define FSI_RX_EVT_FRAME_WD_TIMEOUT ((uint16_t)0x0002U) 
  100 #define FSI_RX_EVT_CRC_ERR          ((uint16_t)0x0004U) 
  102 #define FSI_RX_EVT_TYPE_ERR         ((uint16_t)0x0008U) 
  104 #define FSI_RX_EVT_EOF_ERR          ((uint16_t)0x0010U) 
  106 #define FSI_RX_EVT_OVERRUN          ((uint16_t)0x0020U) 
  108 #define FSI_RX_EVT_FRAME_DONE       ((uint16_t)0x0040U) 
  110 #define FSI_RX_EVT_UNDERRUN         ((uint16_t)0x0080U) 
  112 #define FSI_RX_EVT_ERR_FRAME        ((uint16_t)0x0100U) 
  114 #define FSI_RX_EVT_PING_FRAME       ((uint16_t)0x0200U) 
  116 #define FSI_RX_EVT_FRAME_OVERRUN    ((uint16_t)0x0400U) 
  119 #define FSI_RX_EVT_DATA_FRAME       ((uint16_t)0x0800U) 
  125 #define FSI_RX_EVTMASK              ((uint16_t)0x0FFFU) 
  130 #define FSI_RX_MAX_DELAY_LINE_VAL   ((uint16_t)0x001FU) 
  148 #define FSI_RX_MAIN_CORE_RESET    ((uint32_t)0x0U) 
  150 #define FSI_RX_FRAME_WD_CNT_RESET   ((uint32_t)0x1U) 
  152 #define FSI_RX_PING_WD_CNT_RESET    ((uint32_t)0x2U) 
  171 #define FSI_RX_DELAY_CLK            ((uint32_t)0x0U) 
  173 #define FSI_RX_DELAY_D0             ((uint32_t)0x1U) 
  175 #define FSI_RX_DELAY_D1             ((uint32_t)0x2U) 
  193 #define FSI_EXT_TRIGSRC_EPWM1_SOCA  ((uint32_t)0x08U) 
  195 #define FSI_EXT_TRIGSRC_EPWM1_SOCB  ((uint32_t)0x09U) 
  197 #define FSI_EXT_TRIGSRC_EPWM2_SOCA  ((uint32_t)0x0AU) 
  199 #define FSI_EXT_TRIGSRC_EPWM2_SOCB  ((uint32_t)0x0BU) 
  201 #define FSI_EXT_TRIGSRC_EPWM3_SOCA  ((uint32_t)0x0CU) 
  203 #define FSI_EXT_TRIGSRC_EPWM3_SOCB  ((uint32_t)0x0DU) 
  205 #define FSI_EXT_TRIGSRC_EPWM4_SOCA  ((uint32_t)0x0EU) 
  207 #define FSI_EXT_TRIGSRC_EPWM4_SOCB  ((uint32_t)0x0FU) 
  209 #define FSI_EXT_TRIGSRC_EPWM5_SOCA  ((uint32_t)0x10U) 
  211 #define FSI_EXT_TRIGSRC_EPWM5_SOCB  ((uint32_t)0x11U) 
  213 #define FSI_EXT_TRIGSRC_EPWM6_SOCA  ((uint32_t)0x12U) 
  215 #define FSI_EXT_TRIGSRC_EPWM6_SOCB  ((uint32_t)0x13U) 
  217 #define FSI_EXT_TRIGSRC_EPWM7_SOCA  ((uint32_t)0x14U) 
  219 #define FSI_EXT_TRIGSRC_EPWM7_SOCB  ((uint32_t)0x15U) 
  221 #define FSI_EXT_TRIGSRC_EPWM8_SOCA  ((uint32_t)0x16U) 
  223 #define FSI_EXT_TRIGSRC_EPWM8_SOCB  ((uint32_t)0x17U) 
  
 
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.
 
int32_t FSI_setRxECCComputeWidth(uint32_t base, FSI_ECCComputeWidth eccComputeWidth)
This API select between 16-bit and 32-bit ECC computation for FSI RX.
 
int32_t FSI_setRxBufferPtr(uint32_t base, uint16_t bufPtrOff)
This API sets the value for receive buffer pointer at desired location.
 
int32_t FSI_readRxBuffer(uint32_t base, uint16_t *pArray, uint16_t length, uint16_t bufOffset)
This API reads data from FSI RX buffer.
 
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.
 
int32_t FSI_getRxComputedCRC(uint32_t base, uint16_t *pCrcVal)
This API gets CRC value computed for data received.
 
int32_t FSI_getRxPingWatchdogCounter(uint32_t base, uint32_t *pWdCnt)
This API gets current value of ping watchdog counter.
 
int32_t FSI_getRxECCLog(uint32_t base, uint16_t *pEccLog)
This API gets ECC Log details.
 
uint32_t FSI_RxSubmoduleInReset
List of RX modules that can be reset, can be used with reset APIs.
Definition: fsi_rx.h:146
 
int32_t FSI_setRxPingTimeoutMode(uint32_t base, FSI_PingTimeoutMode pingTimeoutMode)
This API sets HW/SW initiated RX ping timeout mode.
 
uint32_t FSI_InterruptNum
Interrupt lines supported in FSI.
Definition: fsi/v0/fsi.h:136
 
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.
 
int32_t FSI_getRxUserDefinedData(uint32_t base, uint16_t *pUserData)
This API gets User-Data (8-bit) field for received data frame.
 
uint32_t FSI_PingTimeoutMode
FSI ping timeout mode.
Definition: fsi/v0/fsi.h:190
 
int32_t FSI_disableRxInterrupt(uint32_t base, FSI_InterruptNum intNum, uint16_t intFlags)
This API enables user to disable interrupt generation on RX events.
 
int32_t FSI_disableRxPingWatchdog(uint32_t base)
This API disables the ping watchdog counter logic.
 
int32_t FSI_performRxInitialization(uint32_t base)
This API initializes FSI RX module.
 
int32_t FSI_clearRxEvents(uint32_t base, uint16_t evtFlags)
This API enables user to clear RX event/error flags.
 
int32_t FSI_disableRxInternalLoopback(uint32_t base)
This API disables internal loopback where mux will not use internal pins coming from RX module.
 
int32_t FSI_getRxEventStatus(uint32_t base, uint16_t *pEvtFlags)
This API gets current status of all the event/error flags.
 
int32_t FSI_getRxFrameType(uint32_t base, FSI_FrameType *pFrameType)
This API gets frame type received in the last successful frame.
 
int32_t FSI_enableRxSPIMode(uint32_t base)
This API enables SPI compatible mode in FSI RX.
 
int32_t FSI_getRxFrameWatchdogCounter(uint32_t base, uint32_t *pWdCnt)
This API gets current value of frame watchdog counter.
 
int32_t FSI_disableRxSPIPairing(uint32_t base)
This API disables SPI clock paring, selects regular receive clock coming from the pins.
 
int32_t FSI_getRxPingTag(uint32_t base, uint16_t *pPingTag)
This API gets the value of tag received for last ping frame.
 
int32_t FSI_enableRxSPIPairing(uint32_t base)
This API enables SPI clock paring, receive clock is selected from the internal port coming from RX mo...
 
int32_t FSI_configRxDelayLine(uint32_t base, FSI_RxDelayTapType delayTapType, uint16_t tapValue)
This API adds delay for selected RX tap line.
 
int32_t FSI_disableRxSPIMode(uint32_t base)
This API disables SPI compatible mode in FSI RX.
 
int32_t FSI_getRxBufferAddress(uint32_t base, uint32_t *pAddr)
This API gets address of RX data buffer.
 
uint32_t FSI_FrameType
FSI frame type.
Definition: fsi/v0/fsi.h:163
 
int32_t FSI_setRxECCData(uint32_t base, uint32_t rxECCdata)
This API sets RX ECC data on which ECC (SEC-DED) computaion logic runs.
 
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.
 
int32_t FSI_getRxECCCorrectedData(uint32_t base, uint32_t *pEccData)
This API gets ECC corrected data.
 
uint32_t FSI_ECCComputeWidth
ECC Computation width - 16 bit or 32 bit.
Definition: fsi/v0/fsi.h:117
 
int32_t FSI_resetRxModule(uint32_t base, FSI_RxSubmoduleInReset submodule)
This API resets frame watchdog, ping watchdog or entire RX module.
 
int32_t FSI_getRxFrameTag(uint32_t base, uint16_t *pFrameTag)
This API gets frame tag received for the last successful frame.
 
int32_t FSI_enableRxInternalLoopback(uint32_t base)
This API enables internal loopback where mux will select internal pins coming from RX module instead ...
 
int32_t FSI_lockRxCtrl(uint32_t base)
This API locks the control of all receive control registers, once locked further writes will not take...
 
int32_t FSI_clearRxModuleReset(uint32_t base, FSI_RxSubmoduleInReset submodule)
This API clears resets on frame watchdog, ping watchdog or entire RX module.
 
uint32_t FSI_ExtFrameTriggerSrc
Indexes of available EPWM SOC triggers.
Definition: fsi_rx.h:191
 
uint32_t FSI_RxDelayTapType
Available RX lines for delay tap selection.
Definition: fsi_rx.h:169
 
int32_t FSI_getRxReceivedCRC(uint32_t base, uint16_t *pCrcVal)
This API gets CRC value received in data frame/frame.
 
uint32_t FSI_RxEnumType
This enumerator defines the types of possible FSI RX events.
Definition: fsi_rx.h:94
 
int32_t FSI_setRxReceivedECCValue(uint32_t base, uint16_t rxECCvalue)
This API sets received ECC value on which ECC (SEC-DED) computaion logic runs.
 
int32_t FSI_getRxBufferPtr(uint32_t base, uint16_t *pBufPtrLoc)
This API gets current buffer pointer location.
 
uint32_t FSI_DataWidth
Data lines used for transmit/receive operation.
Definition: fsi/v0/fsi.h:97
 
int32_t FSI_setRxDataWidth(uint32_t base, FSI_DataWidth dataWidth)
This API selects number of data lines used for receiving.
 
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 ...
 
int32_t FSI_forceRxEvents(uint32_t base, uint16_t evtFlags)
This API enables user to set RX event/error flags.
 
int32_t FSI_disableRxFrameWatchdog(uint32_t base)
This API disables the frame watchdog counter logic.