Hi,
Since nobody suggested any available source I briefly looked into this driver.
It looks like two frames cannot be concatenated into one SPI transfer without de-asserting CS signal. ESPI_SPMODEx register has CSxCG gap parameter which says: "Clock gap - insert gaps between transmitted frames according to this size (during this time, chip select is negated). Chip select is negated minimum time of 1 bit time."
So, question number one: Can it be avoided somehow (like using other timing settings CS before and after frame; something not really well documented anywhere) in a way that chip select is not negated between frames?
To by-pass this limitation I have chosen RCW[SPI_EXT] == '000' and RCW[SPI_BASE] == '10' effectively choosing to control chip selects signals as GPIO2[0:3]. It works fine with some exception: if I boot target from SPI flash it doesn't work.
RCW.[SPI_BASE] has this note: "If cfg_rcw_src selects an SPI option as the RCW source, the SPI pins used for loading
the RCW SPI_MOSI, SPI_MISO, SPI_CLK, SPI_CS_B[0] are driven with SPI functionality regardless of the setting of this field.". I understand that this is required by CPU firmware to load first stage loader (SPL) into SRAM (CPU cache).
So, question number two: Can I somehow reset this behaviour since SPL is already loaded and before I load full loader image into DRAM I want to switch SPI_CS_B[0] line to be GPIO controlled as it happens when target is booting from any other source?
Thank you in advance. I really hope someone with real experience could help in this muddy matter.
Ed