AM64x MCU+ SDK  10.00.00

Introduction

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

Go to the source code of this file.

FSI TX Enum type

#define FSI_TX_EVT_FRAME_DONE   ((uint16_t)0x1U)
 
#define FSI_TX_EVT_BUF_UNDERRUN   ((uint16_t)0x2U)
 
#define FSI_TX_EVT_BUF_OVERRUN   ((uint16_t)0x4U)
 
#define FSI_TX_EVT_PING_TIMEOUT   ((uint16_t)0x8U)
 
#define FSI_TX_EVT_PING_HW_TRIG   ((uint16_t)0x8U)
 
#define FSI_TX_EVTMASK   ((uint16_t)0xFU)
 Mask of all TX Event types. More...
 
#define FSI_TX_MAX_NUM_EXT_TRIGGERS   ((uint16_t)0x40U)
 maximum number of external input for triggering frame-transmission More...
 
#define FSI_TX_INT2_CTRL_S   ((uint16_t)0x8U)
 Shifts needed to control FSI TX interrupt generation on INT2. More...
 
typedef uint32_t FSI_TxEnumType
 This enumerator defines the types of possible FSI TX events. More...
 

FSI TX submodules can be in reset

#define FSI_TX_MAIN_CORE_RESET   ((uint32_t)0x0U)
 
#define FSI_TX_CLOCK_RESET   ((uint32_t)0x1U)
 
#define FSI_TX_PING_TIMEOUT_CNT_RESET   ((uint32_t)0x2U)
 
typedef uint32_t FSI_TxSubmoduleInReset
 TX submodules that can be reset with reset APIs. More...
 

FSI TX start mode

#define FSI_TX_START_FRAME_CTRL   ((uint32_t)0x0U)
 
#define FSI_TX_START_EXT_TRIG   ((uint32_t)0x1U)
 
#define FSI_TX_START_FRAME_CTRL_OR_UDATA_TAG   ((uint32_t)0x2U)
 
typedef uint32_t FSI_TxStartMode
 Start Mode for TX frame transmission (i.e. how transmission will start) More...
 

FSI TX input clock select

#define FSI_TX_CLK_SEL0   ((uint32_t)0x0U)
 
#define FSI_TX_CLK_SEL1   ((uint32_t)0x1U)
 
typedef uint32_t FSI_TxClkSel
 FSI TX input clock select. More...
 

FSI frame tag

#define FSI_FRAME_TAG0   ((uint32_t)0x0U)
 
#define FSI_FRAME_TAG1   ((uint32_t)0x1U)
 
#define FSI_FRAME_TAG2   ((uint32_t)0x2U)
 
#define FSI_FRAME_TAG3   ((uint32_t)0x3U)
 
#define FSI_FRAME_TAG4   ((uint32_t)0x4U)
 
#define FSI_FRAME_TAG5   ((uint32_t)0x5U)
 
#define FSI_FRAME_TAG6   ((uint32_t)0x6U)
 
#define FSI_FRAME_TAG7   ((uint32_t)0x7U)
 
#define FSI_FRAME_TAG8   ((uint32_t)0x8U)
 
#define FSI_FRAME_TAG9   ((uint32_t)0x9U)
 
#define FSI_FRAME_TAG10   ((uint32_t)0xAU)
 
#define FSI_FRAME_TAG11   ((uint32_t)0xBU)
 
#define FSI_FRAME_TAG12   ((uint32_t)0xCU)
 
#define FSI_FRAME_TAG13   ((uint32_t)0xDU)
 
#define FSI_FRAME_TAG14   ((uint32_t)0xEU)
 
#define FSI_FRAME_TAG15   ((uint32_t)0xFU)
 
typedef uint32_t FSI_FrameTag
 FSI frame tag values. More...
 

Functions

int32_t FSI_sendTxFlush (uint32_t base)
 This API sends FLUSH pattern. More...
 
int32_t FSI_stopTxFlush (uint32_t base)
 This API stops FLUSH pattern transmission. More...
 
int32_t FSI_selectTxPLLClock (uint32_t base, FSI_TxClkSel clkSel)
 This API selects PLL clock as source for clock dividers. More...
 
int32_t FSI_enableTxClock (uint32_t base, uint16_t preScaleValue)
 This API sets clock division prescalar and enables the transmit clock. More...
 
int32_t FSI_disableTxClock (uint32_t base)
 This API disables transmit clock. More...
 
int32_t FSI_setTxDataWidth (uint32_t base, FSI_DataWidth dataWidth)
 This API sets Data width for transmission. More...
 
int32_t FSI_enableTxSPIMode (uint32_t base)
 This API enables SPI compatible mode. More...
 
int32_t FSI_disableTxSPIMode (uint32_t base)
 This API disables SPI compatible mode. More...
 
int32_t FSI_setTxStartMode (uint32_t base, FSI_TxStartMode txStartMode)
 This API sets start mode for any frame transmission. More...
 
int32_t FSI_setTxPingTimeoutMode (uint32_t base, FSI_PingTimeoutMode pingTimeoutMode)
 This API sets HW/SW initiated TX ping timeout mode. More...
 
int32_t FSI_setTxExtFrameTrigger (uint32_t base, uint16_t extInputNum)
 This API sets a particular external input to trigger transmission. More...
 
int32_t FSI_enableTxCRCForceError (uint32_t base)
 This API enables CRC value of a data frame to be forced to zero. More...
 
int32_t FSI_disableTxCRCForceError (uint32_t base)
 This API disables forcing of CRC value of a data frame to zero. More...
 
int32_t FSI_setTxECCComputeWidth (uint32_t base, FSI_ECCComputeWidth eccComputeWidth)
 This API select between 16-bit and 32-bit ECC computation for FSI TX. More...
 
int32_t FSI_setTxFrameType (uint32_t base, FSI_FrameType frameType)
 This API sets frame type for transmission. More...
 
int32_t FSI_setTxSoftwareFrameSize (uint32_t base, uint16_t nWords)
 This API sets the frame size if frame type is user/software defined frame. More...
 
int32_t FSI_startTxTransmit (uint32_t base)
 This API starts transmitting frames. More...
 
int32_t FSI_setTxFrameTag (uint32_t base, FSI_FrameTag frameTag)
 This API sets frame tag for transmission. More...
 
int32_t FSI_setTxUserDefinedData (uint32_t base, uint16_t userDefData)
 This API sets user defined data for transmission It is an extra data field (8 bit) apart from regular data. More...
 
int32_t FSI_setTxBufferPtr (uint32_t base, uint16_t bufPtrOff)
 This API sets the value for transmit buffer pointer at desired location. More...
 
int32_t FSI_getTxBufferPtr (uint32_t base, uint16_t *pBufPtrLoc)
 This API gets current buffer pointer locationn. More...
 
int32_t FSI_getTxWordCount (uint32_t base, uint16_t *pWordCnt)
 This API gets valid number of data words present in buffer which have not been transmitted yet. More...
 
int32_t FSI_enableTxPingTimer (uint32_t base, uint32_t refValue, FSI_FrameTag pingFrameTag)
 This API enables ping timer logic and once set time elapses it sends signal to transmitter to send ping frame. More...
 
int32_t FSI_setTxPingTag (uint32_t base, FSI_FrameTag frameTag)
 This API sets the ping tag value, used by either timeout counter initiated PING frame transfer or by external ping trigger input. More...
 
int32_t FSI_disableTxPingTimer (uint32_t base)
 This API disables ping timer logic. More...
 
int32_t FSI_enableTxExtPingTrigger (uint32_t base, uint16_t extTrigSel)
 This API enables external trigger to transmit a ping frame. More...
 
int32_t FSI_disableTxExtPingTrigger (uint32_t base)
 This API disables external trigger logic. More...
 
int32_t FSI_getTxCurrentPingTimeoutCounter (uint32_t base, uint32_t *pPingToCnt)
 This API gets current value of ping timeout logic counter. More...
 
int32_t FSI_lockTxCtrl (uint32_t base)
 This API locks the control of all transmit control registers, once locked further writes will not take effect until system reset occurs. More...
 
int32_t FSI_getTxEventStatus (uint32_t base, uint16_t *pEvtFlags)
 This API gets current status of all the error flags. More...
 
int32_t FSI_forceTxEvents (uint32_t base, uint16_t evtFlags)
 This API enables user to set TX error flags. More...
 
int32_t FSI_clearTxEvents (uint32_t base, uint16_t evtFlags)
 This API enables user to clear TX error flags. More...
 
int32_t FSI_enableTxUserCRC (uint32_t base, uint16_t userCRCValue)
 This API sets the CRC value to be picked transmission if transmission is configured to use user defined SW CRC. More...
 
int32_t FSI_disableTxUserCRC (uint32_t base)
 This API disables user defined CRC value, the transmitted CRC value is computed by hardware. More...
 
int32_t FSI_setTxECCdata (uint32_t base, uint32_t data)
 This API sets data for ECC logic computaion. More...
 
int32_t FSI_getTxECCValue (uint32_t base, uint16_t *pEccVal)
 This API gets ECC value evaluated for 16/32 bit data. More...
 
int32_t FSI_enableTxInterrupt (uint32_t base, FSI_InterruptNum intNum, uint16_t intFlags)
 This API enables user to generate interrupt on occurrence of FSI_TxEventList events. More...
 
int32_t FSI_disableTxInterrupt (uint32_t base, FSI_InterruptNum intNum, uint16_t intFlags)
 This API enables user to disable generation interrupt on occurrence of FSI TX events. More...
 
int32_t FSI_getTxBufferAddress (uint32_t base, uint32_t *pBufAddr)
 This API gets address of TX data buffer. More...
 
int32_t FSI_resetTxModule (uint32_t base, FSI_TxSubmoduleInReset submodule)
 This API resets clock or ping timeout counter or entire TX module. More...
 
int32_t FSI_clearTxModuleReset (uint32_t base, FSI_TxSubmoduleInReset submodule)
 This API clears reset on clock or ping timeout counter or entire TX module. More...
 
int32_t FSI_writeTxBuffer (uint32_t base, const uint16_t *pArray, uint16_t length, uint16_t bufOffset)
 This API writes data in FSI TX buffer. More...
 
int32_t FSI_performTxInitialization (uint32_t base, uint16_t prescalar)
 This API initializes FSI TX module. More...
 
int32_t FSI_executeTxFlushSequence (uint32_t base, uint16_t prescalar)
 This API sends Flush pattern sequence. More...