mirror of
https://github.com/cesanta/mongoose.git
synced 2024-12-21 13:42:15 +08:00
c02c1130ed
TODO(scaprile): check when and if following is needed flash_init(); // setup pins and clocks to access board flash
49 lines
1.8 KiB
C
49 lines
1.8 KiB
C
#include "dcd.h" // pin settings for MIMXRT1020-EVK board
|
|
#include "flexspi.h" // peripheral structures
|
|
#include "hal.h"
|
|
|
|
extern uint32_t __isr_vector[];
|
|
|
|
// RM 9.7.2
|
|
__attribute__((section(".dcd"), used))
|
|
const uint8_t __ivt_dcd_data[] = {__DCD_DATA};
|
|
|
|
// RM 9.7.1
|
|
__attribute__((section(".dat"), used)) const uint32_t __ivt_boot_data[] = {
|
|
FlexSPI_AMBA_BASE, // boot start location
|
|
8 * 1024 * 1024, // size
|
|
0, // Plugin flag
|
|
0Xffffffff // empty - extra data word
|
|
};
|
|
|
|
__attribute__((section(".ivt"), used)) const uint32_t __ivt[8] = {
|
|
0x412000d1, // header: 41 - version, 2000 size, d1 tag
|
|
(uint32_t) __isr_vector, // entry
|
|
0, // reserved
|
|
(uint32_t) __ivt_dcd_data, // dcd
|
|
(uint32_t) __ivt_boot_data, // boot data
|
|
(uint32_t) __ivt, // this is us - ivt absolute address
|
|
0, // csf absolute address
|
|
0, // reserved for HAB
|
|
};
|
|
|
|
// MIMXRT1060-EVKB flash chip config: S25LP064A-JBLE
|
|
__attribute__((section(".cfg"), used))
|
|
const flexspi_nor_config_t __qspi_flash_cfg = {
|
|
.memConfig = {.tag = FLEXSPI_CFG_BLK_TAG,
|
|
.version = FLEXSPI_CFG_BLK_VERSION,
|
|
.readSampleClkSrc = 1, // ReadSampleClk_LoopbackFromDqsPad
|
|
.csHoldTime = 3,
|
|
.csSetupTime = 3,
|
|
.controllerMiscOption = BIT(4),
|
|
.deviceType = 1, // serial NOR
|
|
.sflashPadType = 4,
|
|
.serialClkFreq = 7, // 133MHz
|
|
.sflashA1Size = 8 * 1024 * 1024,
|
|
.lookupTable = __FLEXSPI_QSPI_LUT},
|
|
.pageSize = 256,
|
|
.sectorSize = 4 * 1024,
|
|
.ipcmdSerialClkFreq = 1,
|
|
.blockSize = 64 * 1024,
|
|
.isUniformBlockSize = false};
|