|
AM64x MCU+ SDK
10.00.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.