Arria 10 can't read from flash via Generic Serial Flash Interface
We have an Arria 10 FPGA connected to a Micron MT25QU256 flash. The FPGA is able to obtain its program from the flash and configure correctly on power-up. We are trying to use the Generic Serial Flash Interface IP to perform an in-system upgrade of the contents of the flash. We have found that we can perform write operations successfully through the GSFI, but read operations do not fully work.
We probed the signals in the bus between the FPGA and the flash and found that the "read device ID" operation is resulting in the flash responding with the correct data on the serial bus (signal DQ1), but when we query the GSFI via the "flash command read data" register, we get all zeroes back. The same is true when we read the status register or the flag status register from the flash device.
Is there some setup we need to do in order to get the GSFI to recognize and properly save the serial data returned from the flash? I can provide more information about our setup and the operations we are performing as needed. Thank you.
Hi John,
1) We are using the GSFI, but gsfa_asmi_access_granted_reg is a register in the Serial Flash Loader.
2) Yes, that is correct, we wanted to start out by seeing the device ID read work correctly before moving on to reading and writing the flash memory.
We have the baud rate divisor set to 0x10 and we have seen the SPI pins behave as expected.
We were able to get everything to work once we removed the Serial Flash Loader from our design, leaving the GSFI directly connected to the SPI interface. I don't think we will need any further assistance; thank you for your help.
Frank