4.2.1 SPI Slave Programming Interface

In addition to the standard SPI signals, RT PolarFire FPGA provide two pins—SPI_EN and IO_CFG_INTF—for configuring the SPI controller.

The following table lists the system controller’s SPI pins and specifies what must be done if a pin is not in use (unused condition). For information about unused conditions and power sequence, see UG0726: PolarFire FPGA Board Design User Guide.

Table 4-3. System Controller SPI Pins
SPI Pin NameDirectionDescriptionUnused Condition
SCKBidirectionalSPI clock.1Connect to VSS through a 10 kΩ resistor
SS2BidirectionalSPI slave select.1Connect to VSS through a 10 kΩ resistor
SDIInputSDI input.1Connect to VDDI3 through a 10 kΩ resistor
SDOOutputSDO output.1DNC
SPI_ENInputSPI enable.

0: SPI output tristated

1: Enabled

Pulled up or down through a resistor or driven dynamically from an external source to enable or tristate the SPI I/O.

Connect to VSS through a 10 kΩ resistor
IO_CFG_INTFInputSPI I/O configuration.

0: SPI slave interface
1: SPI master interface

Pulled up or down through a resistor.

Connect to VSS through a 10 kΩ resistor
1. Shared between the system controller and the FPGA fabric. When the system controller’s SPI is enabled and configured as master, the system controller hands over the control of the SPI to the fabric (after device power-up). When the SPI_EN pin is disabled (driven low) or when the SS is driven HIGH, the system controller’s SPI outputs are tristated.

2. The system controller SS pin is an active-low signal. In unused condition, the pin must be tied to VSS to avoid a floating pin on the device.

The SPI_EN and IO_CFG_INTF pins must be configured external to the device. This can be done by using jumpers on the board or by bootstrapping. The following table lists the SPI_EN and IO_CFG_INTF configuration for SPI slave programming.

Table 4-4. System Controller’s SPI Configuration - SPI Slave
SPI PinsSPI Slave ProgrammingDescription
SPI_ENIO_CFG_INTF
0xNoDynamic switching from Slave to Master or vice-versa is not allowed. A power-cycle or device reset (DEVRST_N) is required to change the SPI configuration from Slave to Master or vice-versa by configuring the IO_CFG_INTF pin.
10 (SPI slave mode)Yes
11 (SPI master mode)No