How to use SPI_0 Fabric I/O as Master #476
-
Hello, I'm trying to use the fabric IO for the SPI_0 interface on the MSS so that I can have the SPI signals mapped to pins on the FMC connector (for the video kit). I'm a bit unsure on how to properly setup the Libero diagram so that SPI_0 can act as a master since the signals exposed suggest a slave setup. I've tried tying SS_F2M input low and connecting CLK_F2M to a 50 MHz ref clk, though nothing seems to come out on CLK_M2F with this setup. I've also tried selecting the Fabric I/O option for target select 1 and connecting the generated SS1_M2F signal to output to see if there would be any change. The SPI_LOOPBACK reference design example uses SPI_1 with the MSS I/Os as the master and shows SPI_0 with Fabric I/Os as the slave, so I wanted to know what would be the proper way to set up SPI_0 to act as a master or what resources might exist to give more information on this. Thank you. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 9 replies
-
I've been working with MSS_SPI_0 this week and have made the following observations. In Libero 2024.1, with MSS_SPI_0 enabled and all pins (including SS1) routed into the fabric: only SS1 shows up on the MSS component within Libero (SS0 is mysteriously missing). SS1 is present, but using the BareMetal drivers with MSS_SPI_SLAVE_1 to INIT and 'select' device 1 does NOT work. Turns out tho, that using MSS_SPI_SLAVE_0 in the driver and connecting SS1 to the outside word does work. A bug report has been filed for this. |
Beta Was this translation helpful? Give feedback.
-
Hi @Jan2233444 as temporary workaround set bit8 and bit9 of slaveselect at 0. |
Beta Was this translation helpful? Give feedback.
-
Thank you all for your help, the primary issue was in my device tree configuration for the SPI device |
Beta Was this translation helpful? Give feedback.
Thank you all for your help, the primary issue was in my device tree configuration for the SPI device