AnsweredAssumed Answered

iMX6SX QSPI can not program and erase in 4-byte addressing

Question asked by Miles Wang on Jan 4, 2017
Latest reply on Jan 10, 2017 by CarlosCasillas



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 */
         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 */
         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 */
         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.