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