I am using the MQX V4.2 for the A5 core and having issues. My goal is to be able to boot the A5 core from the QSPI flash. The issue is I cannot read/write the flash device successfully. I'm using an Emcraft SOM which uses the Spansion S25FL512SDSBHV210 which is a close relative to the S25FL128 chip used on the tower board. I used the driver unmodified and also modified to do 32-bit addressing. Both drivers fail the same way. I start programming at the beginning of a sector, and they fail starting at offset 0x4C0. I've both a full read of the data programmed (~160KB), and just starting at offset 0x480 of the sector for 100 bytes - the data is incorrect. I know the flash can be programmed correctly because I can program and verify it with my Segger J Link which works independent of any code.
I'm sure most systems usually boot up using QSPI flash so I'm sure it somehow works. Any ideas?#mqx 4.2
In addition to the QUAD bit in the flash device configuration register needing to be set, DDR x4 would not work until I used digital learning. It's interesting that DDR x2 would work without it, but x4 would not. Perhaps there is an issue with the board layout of the OTS SOM I'm using.
Found the problem. The Spansion/Cypress QSPI devices have a bit in the configuration register to select x1/x2 operation or x4 operation. The uboot driver from Timesys/Emcraft sets the bit (for x4 operation), but the MQX driver doesn't. I'm surprised that the MQX driver (V4.2.0) ever worked in x4 mode.
Great to hear the good news, thanks for your sharing.
Regards
Daniel
I've got the basic driver to work by isolating the MQX driver so I can use it without the "blot" of MQX. The goal is to get it working for DDR x4 reads. It works now using DDR x1 and x2 reads at 66MHz (haven't tried higher speeds). However I can't get x4 to work. The sequence I'm using (in the LUT table) is: 0x04EE, 0x2A20, 0x2EFF, 0x0C06, 0x3A80. The flash is a Spansion S25FL512S. I've tried 6, 7, and 8 dummy cycles, none of which work. Has anyone got a Spansion flash to work in DDR Quad (x4) I/O mode?
Hi Ken:
Since DDR x1 and DDR x 2 can work, and DDR x3 and DDR X4 not work, I am doubting the hardware, could you please attach your schematics ?
Regards
Daniel