Hello,
iMX6SX QSPI can read in 4-byte addressing mode on Freescale iMX6SX SABRE-SDB, but failed to program and erase in 4-byte addressing.
1. LUT setting for reading: Works OK
lutStart = SEQID_FASTREAD * 4;
if (4-byte addressing)
FSL_QSPI_LUT(lutStart)= 0x0820040c; /* 4-BYTE FAST READ command = 0x0C */
else
FSL_QSPI_LUT(lutStart)=0x0818040b; /* FAST READ command= 0x0B */
FSL_QSPI_LUT(lutStart + 1)=0x1c800c08;
2. LUT setting for sector erase: Fail to erase
lutStart = SEQID_SE * 4;
if (4-byte addressing)
FSL_QSPI_LUT(lutStart)= 0x082004dc; /* 4-BYTE SECTOR ERASE command = 0xDC */
else
FSL_QSPI_LUT(lutStart)=0x081804d8; /* SECTOR ERASE command= 0xD8 */
3. LUT setting for page program: Fail to program
lutStart = SEQID_PP * 4;
if (4-byte addressing)
FSL_QSPI_LUT(lutStart)= 0x08200412; /* 4-BYTE PAGE PROGRAM command = 0x12 */
else
FSL_QSPI_LUT(lutStart)=0x08180402; /*PAGE PROGRAM command= 0x02 */
FSL_QSPI_LUT(lutStart + 1)=0x2040;
I checked the flash chip specification, I'm not sure if the chip supports 4-byte erase and program.
I want to know if Freescale has implemented 4-byte addressing mode on iMX6SX SABRE-SDB.
Thanks,
Miles
Hi Miles,
Could you please specify where are you using the QSPI commands? On the provided demo images, the QSPI driver is implemented on Uboot, in order to send the image that will boot the M4 core of the i.MX6SX processor, you could use it as reference.
As additional resource, you could verify the QSPI commands on its datasheet:
http://pdf1.alldatasheet.es/datasheet-pdf/view/607542/MICRON/N25Q256A13EF840.html
You could also take a look at the following thread:
https://community.nxp.com/thread/358419
Hope this will be useful for you.
Best regards!
/Carlos
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------