The Fast Serial Interface (FSI) driver provides API to program the FSI module. FSI is a serial communication peripheral capable of reliable and robust high-speed communications. FSI is used to transfer/receive data frame with several available configurations e.g frame size, bandwidth etc, signaling events completion via interrupts or status registers.
Features Supported
Supports programmable packet data length of 1-to-16 words where each word consists of 16-bits
Supports programmable frame tagging (0000-to-1111) for message filtering
Supports programmable data-lines( 1-or-2) for communication
Supports Double Data Rate (DDR) communication
Supports programmable interrupts via 2 interrupt lines per FSI core
Supports DMA mode. The DMA event will only be generated for data frames.
Supports programmable TX delay line control
Features NOT Supported
Multi-Peripheral configuration
clkstop_req/ack functionality. Software must ensure that the FSI IP's on both host and remote device are idle before triggering clkstop_req.
SysConfig Features
Note
It is strongly recommend to use SysConfig where it is available instead of using direct SW API calls. This will help simplify the SW application and also catch common mistakes early in the development cycle.
Selection of instances present in the device
Configuring pinmux based on selected instance and pin configuration
Interrupt Crossbar configuration for FSI RX and TX.
Important Usage Guidelines
Note: FSI-RX and FSI-TX are completely independent and separate module. For communication, both needs to be configured separately.
Interrupt Crossbar configuration should be done to route FSI RX and TX interrupts if SysCfg is not used.