In SPI peripheral there is a Fast mode bit to put the SPI in fast mode which enables the operation at higher frequency. Is there any such setting in OSPI ? If no how do I make sure the OSPI controller samples the data from flash correctly at high frequency ?
In OSPI data sampling happens differently compared to legacy SPI.
In Legacy SPI, the data is sampled wrt to the external SPI clock. In normal mode the sampling of data happens on the opposite edge of the…
In Legacy SPI, the data is sampled wrt to the external SPI clock. In normal mode the sampling of data happens on the opposite edge of the rising edge so effectively giving controller half a clock to sample the data data. In Fast mode, the sampling is done on same edge as rising edge in next cycle providing full cycle to sample the data and hence allows for operation at higher clocks.
In OSPI controller, the sampling is done in a different way. The sampling of the data is done wrt to internal reference clock which operates at higher frequency compared to external OSPI clock.The OSPI controller through configuration in OSPI_RDC register provides flexibility to configure the sampling point of read data within the OSPI clock to meet setup and hold timings of the flash devices when operating at higher speed.
Refer to Data Sampling section in OSPI chapter which elaborates this in great detail.