The configuration block for Serial NOR boot described in the Reference Manual chapter 10.6.3.2 (page 300) does differ from the one in boards/evkmimxrt1170/xip/eckmimxrt1170_flexspi_nor_config.h. Which one is correct?
The configuration block for Serial NOR boot according to the Reference Manual should look like this:
typedef struct _flexspi_nor_config
{
flexspi_mem_config_t memConfig; //!< Common memory configuration info via FlexSPI
uint32_t pageSize; //!< Page size of Serial NOR
uint32_t sectorSize; //!< Sector size of Serial NOR
uint8_t ipcmdSerialClkFreq; //!< Clock frequency for IP command
uint8_t isUniformBlockSize; //!< Sector/Block size is the same
uint8_t isDataOrderShapped; //!< The data order is swapped in OPI DDR mode
uint8_t reserved0[5]; //!< Reserved for future use
uint32_t blockSize; //!< Block size
uint32_t flashStateCtx; //!< Flash State Context after being configured
uint32_t reserve2[24]; //!< Reserved for future use
} flexspi_nor_config_t;
But the configuration block in eckmimxrt1170_flexspi_nor_config.h in the SDK v2.12.1 looks like this:
typedef struct _flexspi_nor_config
{
flexspi_mem_config_t memConfig; //!< Common memory configuration info via FlexSPI
uint32_t pageSize; //!< Page size of Serial NOR
uint32_t sectorSize; //!< Sector size of Serial NOR
uint8_t ipcmdSerialClkFreq; //!< Clock frequency for IP command
uint8_t isUniformBlockSize; //!< Sector/Block size is the same
uint8_t reserved0[2]; //!< Reserved for future use
uint8_t serialNorType; //!< Serial NOR Flash type: 0/1/2/3
uint8_t needExitNoCmdMode; //!< Need to exit NoCmd mode before other IP command
uint8_t halfClkForNonReadCmd; //!< Half the Serial Clock for non-read command: true/false
uint8_t needRestoreNoCmdMode; //!< Need to Restore NoCmd mode after IP commmand execution
uint32_t blockSize; //!< Block size
uint32_t reserve2[11]; //!< Reserved for future use
} flexspi_nor_config_t;
Solved! Go to Solution.
Hi @raddeh ,
Please follow the SDK example. You can see that the structure members which are initialized in evkmimxrt1170_flexspi_nor_config.c are listed in both of the table. You needn't care other members.
But the structure is only for NOR, not for NAND.
Regards,
Jing
Hi @raddeh ,
Please follow the SDK example. You can see that the structure members which are initialized in evkmimxrt1170_flexspi_nor_config.c are listed in both of the table. You needn't care other members.
But the structure is only for NOR, not for NAND.
Regards,
Jing