56 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright 2017 NXP
 | |
|  * All rights reserved.
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-3-Clause
 | |
|  */
 | |
| 
 | |
| #include "evkbimxrt1050_flexspi_nor_config.h"
 | |
| 
 | |
| /* Component ID definition, used by tools. */
 | |
| #ifndef FSL_COMPONENT_ID
 | |
| #define FSL_COMPONENT_ID "platform.drivers.xip_board"
 | |
| #endif
 | |
| 
 | |
| /*******************************************************************************
 | |
|  * Code
 | |
|  ******************************************************************************/
 | |
| #if defined(XIP_BOOT_HEADER_ENABLE) && (XIP_BOOT_HEADER_ENABLE == 1)
 | |
| #if defined(__CC_ARM) || defined(__ARMCC_VERSION) || defined(__GNUC__)
 | |
| __attribute__((section(".boot_hdr.conf")))
 | |
| #elif defined(__ICCARM__)
 | |
| #pragma location = ".boot_hdr.conf"
 | |
| #endif
 | |
| 
 | |
| const flexspi_nor_config_t hyperflash_config = {
 | |
|     .memConfig =
 | |
|         {
 | |
|             .tag                = FLEXSPI_CFG_BLK_TAG,
 | |
|             .version            = FLEXSPI_CFG_BLK_VERSION,
 | |
|             .readSampleClkSrc   = kFlexSPIReadSampleClk_ExternalInputFromDqsPad,
 | |
|             .csHoldTime         = 3u,
 | |
|             .csSetupTime        = 3u,
 | |
|             .columnAddressWidth = 3u,
 | |
|             // Enable DDR mode, Wordaddassable, Safe configuration, Differential clock
 | |
|             .controllerMiscOption =
 | |
|                 (1u << kFlexSpiMiscOffset_DdrModeEnable) | (1u << kFlexSpiMiscOffset_WordAddressableEnable) |
 | |
|                 (1u << kFlexSpiMiscOffset_SafeConfigFreqEnable) | (1u << kFlexSpiMiscOffset_DiffClkEnable),
 | |
|             .sflashPadType = kSerialFlash_8Pads,
 | |
|             .serialClkFreq = kFlexSpiSerialClk_133MHz,
 | |
|             .sflashA1Size  = 64u * 1024u * 1024u,
 | |
|             .dataValidTime = {16u, 16u},
 | |
|             .lookupTable =
 | |
|                 {
 | |
|                     // Read LUTs
 | |
|                     FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_8PAD, 0xA0, RADDR_DDR, FLEXSPI_8PAD, 0x18),
 | |
|                     FLEXSPI_LUT_SEQ(CADDR_DDR, FLEXSPI_8PAD, 0x10, DUMMY_DDR, FLEXSPI_8PAD, 0x06),
 | |
|                     FLEXSPI_LUT_SEQ(READ_DDR, FLEXSPI_8PAD, 0x04, STOP, FLEXSPI_1PAD, 0x0),
 | |
|                 },
 | |
|         },
 | |
|     .pageSize           = 512u,
 | |
|     .sectorSize         = 256u * 1024u,
 | |
|     .blockSize          = 256u * 1024u,
 | |
|     .isUniformBlockSize = true,
 | |
| };
 | |
| #endif /* XIP_BOOT_HEADER_ENABLE */
 | 
