Welcome to the community!
More About the MATRIX Voice GPIOs:
The expansion GPIOs, DF0 to DF15, on the MATRIX Voice are not currently connected to any Raspberry Pi GPIOs. They have their own GPIO pin infrastructure coded in the FPGA, and can be programmed through our software libraries. For example, in MATRIX Lite JS, these are the function references.
SPI, and I2C are not currently features of these expansion GPIOs. There are four ESP32 GPIOs that are also exposed in that expansion, as you will find in the link @loom posted above.
Some of the Raspberry Pi’s GPIOs are used by the MATRIX Voice such as SPI0, and UART pins. Many of the Raspberry Pi’s GPIOs are connected to the FPGA in the PCB, but are currently not performing any function. This allows flexibility with leveraging those Pi GPIOs through FPGA programming.
How you could leverage SPI:
In addition to what loom mentioned, it might also be possible to expose the Raspberry Pi’s SPI1 buses to some of the MATRIX Voice expansion GPIOs for use in your RFID example. In this case, you would have to use existing Raspberry Pi SPI libraries to program it.
I posted this FPGA bit file for another community member who needed Raspberry Pi’s I2S exposed. Interestingly enough, it seems the same pins can be used for SPI1 as shown here. You can enable SPI1 on the Pi by modifying the contents of
/boot/config.txt as shown here.
I haven’t yet tried this myself, but I can let you know if it works for me after some testing.