MIMXRT1050-EVK QSPI Flash

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MIMXRT1050-EVK QSPI Flash

Jump to solution
1,763 Views
brucebarnes
Contributor I

We are planning to use QSPI flash instead of HyperFlash in our custom board.  On the MIMXRT1050-EVK board there is a QSPI flash that can be enabled by removing the default HyperFlash chip and adding some jumpers.

Where can I find the flash driver for the QSPI flash similar to the MIMXRT1050-EVK_S26KS512S.cfx flash driver for the HyperFlash?

The application note AN12107 describes how to enable boot from the HyperFlash and the SD Card.  Where is the similar information on how to enable boot from the QSPI flash?

0 Kudos
Reply
1 Solution
1,221 Views
geovarghese
Contributor II
0 Kudos
Reply
3 Replies
1,221 Views
hnchenjian
Contributor I

algorithm.png

KEIL QSPI algorithm


const flexspi_nor_config_t Serialflash_config =
{
.memConfig =
{
.tag = FLEXSPI_CFG_BLK_TAG,
.version = FLEXSPI_CFG_BLK_VERSION,
.readSampleClkSrc = kFlexSPIReadSampleClk_LoopbackInternally,
.csHoldTime = 3u,
.csSetupTime = 3u,
.columnAddressWidth = 0u,
.deviceModeCfgEnable = 0,
.waitTimeCfgCommands = 0,
// Disable DDR mode, Wordaddassable, Safe configuration, Differential clock
.controllerMiscOption =
// (1u << kFlexSpiMiscOffset_DdrModeEnable) |
// (1u << kFlexSpiMiscOffset_WordAddressableEnable) |
// (1u << kFlexSpiMiscOffset_SafeConfigFreqEnable) |
// (1u << kFlexSpiMiscOffset_DiffClkEnable)|
0,
.deviceType = kFlexSpiDeviceType_SerialNOR,
.sflashPadType = kSerialFlash_4Pads,
.serialClkFreq = kFlexSpiSerialClk_60MHz,
.lutCustomSeqEnable = 0,
.sflashA1Size = 8u * 1024u * 1024u,
.dataValidTime = {16u, 16u},
.busyOffset = 1,
.busyBitPolarity = 0,
.lookupTable =
{
// Read LUTs
//[4 * NOR_CMD_LUT_SEQ_IDX_READ] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x03, RADDR_SDR, FLEXSPI_1PAD, 0x18),
//[4 * NOR_CMD_LUT_SEQ_IDX_READ+1] = FLEXSPI_LUT_SEQ(READ_SDR, FLEXSPI_1PAD, 0x04,STOP, FLEXSPI_1PAD, 0x00),

[4 * NOR_CMD_LUT_SEQ_IDX_READ] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x6b, RADDR_SDR, FLEXSPI_1PAD, 0x18),
[4 * NOR_CMD_LUT_SEQ_IDX_READ+1] = FLEXSPI_LUT_SEQ(DUMMY_SDR, FLEXSPI_4PAD, 0x08,READ_SDR, FLEXSPI_4PAD, 0x04),
},
},
.pageSize = 256u,
.sectorSize = 4u * 1024u,
.blockSize = 32u * 1024u,
.ipcmdSerialClkFreq = 0,
};

0 Kudos
Reply
1,221 Views
brucebarnes
Contributor I

Thanks that document has the information we were looking for.

0 Kudos
Reply
1,222 Views
geovarghese
Contributor II
0 Kudos
Reply