I'm using custom board with RT1050 and MT25QL512 flash memory.
our flash memory(MT25QL512) supports both 3-byte addressing mode and 4-byte addressing mode.
And for accessing full area(64MB) of flash memory, I should use 4-byte addressing mode
Now, when I use flash memory with 3-byte addressing mode, our board work well to boot XIP with code as below.
const flexspi_nor_config_t qspiflash_config = {
.memConfig =
{
.tag = FLEXSPI_CFG_BLK_TAG,
.version = FLEXSPI_CFG_BLK_VERSION,
.readSampleClkSrc = kFlexSPIReadSampleClk_LoopbackInternally,
.csHoldTime = 3u,
.csSetupTime = 3u,
.deviceType = kFlexSpiDeviceType_SerialNOR,
.sflashPadType = kSerialFlash_4Pads,
.serialClkFreq = kFlexSpiSerialClk_100MHz,
.sflashA1Size = 64u * 1024u * 1024u,
.lookupTable =
{
FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xEB, RADDR_SDR, FLEXSPI_4PAD, 0x18),
FLEXSPI_LUT_SEQ(MODE8_SDR, FLEXSPI_4PAD, 0x10, DUMMY_SDR, FLEXSPI_4PAD, 0x08),
FLEXSPI_LUT_SEQ(READ_SDR, FLEXSPI_4PAD, 0x04, STOP, FLEXSPI_1PAD, 0x00)
},
},
};
But when I changes our flash configuration into 4-byte addressing mode and modify lookupTable as below, our board does't work to boot XIP
.lookupTable =
{
FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xEC, RADDR_SDR, FLEXSPI_4PAD, 0x20),
FLEXSPI_LUT_SEQ(MODE8_SDR, FLEXSPI_4PAD, 0x10, DUMMY_SDR, FLEXSPI_4PAD, 0x08),
FLEXSPI_LUT_SEQ(READ_SDR, FLEXSPI_4PAD, 0x04, STOP, FLEXSPI_1PAD, 0x00)
},
How can I fix it?