The XRF4 uses a quad SPI with seven signals (SCK, SS[3:0], MOSI, and MISO) to control RF slice components. The SPI controller located inside the SOM FPGA can communicate to one RF slice at a time, which is selected by writing the slice number to the I2C_SPI_SEL interface. Currently, each RF slice has two DSA components and two channels per slice.
A separate SPI is used by the ZCU board to access a shared memory space on the XRF4 SOM FPGA. This SPI is implemented using DACIO[6:0] coming in from the RFMC connector. Using this interface, the ZCU device is enabled to access the SOM board ID, IP address information, which is written on an AXI4 scratch space by the SOM. See the following table.
| Interface Name | Device Location | Device Name | SPI Configuration | Description |
|---|---|---|---|---|
| PL_SPIM | TX slice | F1958NBGK8 DSA | SCK = 6.25 MHz | Accessed using SPIDEV drivers on Linux. |
| FB slice | F1958NBGK8 DSA | SCK = 6.25 MHz | Accessed using SPIDEV drivers on Linux. | |
| PL_SPIS | SPI on SOM | PL_SPIS | SCK = 20 MHz | SPI for the SPI controller inside the ZCU to access memory space inside the SOM. |