MIMXRT1050-EVK QSPI Flash

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

MIMXRT1050-EVK QSPI Flash

Jump to solution
1,461 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
1 Solution
919 Views
geovarghese
Contributor II
0 Kudos
3 Replies
919 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
919 Views
brucebarnes
Contributor I

Thanks that document has the information we were looking for.

0 Kudos
920 Views
geovarghese
Contributor II
0 Kudos