diff --git a/.clang-format b/.clang-format index 1e81119..da5daff 100644 --- a/.clang-format +++ b/.clang-format @@ -3,6 +3,7 @@ IndentWidth: 4 AlignConsecutiveMacros: Consecutive AlignConsecutiveDeclarations: true AlignConsecutiveAssignments: true +BreakBeforeBinaryOperators: All BreakBeforeBraces: Custom BraceWrapping: AfterEnum: false diff --git a/xip/lq_va1_flexspi_nor_config.c b/xip/lq_va1_flexspi_nor_config.c index f1d0111..0ba37c3 100644 --- a/xip/lq_va1_flexspi_nor_config.c +++ b/xip/lq_va1_flexspi_nor_config.c @@ -23,26 +23,47 @@ __attribute__((section(".boot_hdr.conf"), used)) #endif const flexspi_nor_config_t spiflash_config = { - .memConfig = - { - .tag = FLEXSPI_CFG_BLK_TAG, - .version = FLEXSPI_CFG_BLK_VERSION, - .readSampleClkSrc = kFlexSPIReadSampleClk_LoopbackInternally, - .csHoldTime = 3u, - .csSetupTime = 3u, - .columnAddressWidth = 0u, - .sflashPadType = kSerialFlash_4Pads, - .serialClkFreq = kFlexSpiSerialClk_133MHz, - .sflashA1Size = 16u * 1024u * 1024u, - .lookupTable = - { - // Fast Read Quad IO - FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xEB, RADDR_SDR, FLEXSPI_4PAD, 0x18), - FLEXSPI_LUT_SEQ(DUMMY_SDR, FLEXSPI_4PAD, 0x06, READ_SDR, FLEXSPI_4PAD, 0x04), - }, + .memConfig = { + .tag = FLEXSPI_CFG_BLK_TAG, + .version = FLEXSPI_CFG_BLK_VERSION, + .readSampleClkSrc = kFlexSPIReadSampleClk_LoopbackInternally, + .csHoldTime = 3U, + .csSetupTime = 3U, + .columnAddressWidth = 0U, + .deviceType = kFlexSpiDeviceType_SerialNOR, + .sflashPadType = kSerialFlash_4Pads, + .serialClkFreq = kFlexSpiSerialClk_133MHz, + .sflashA1Size = 16U * 1024U * 1024U, + .busyOffset = 0U, + .busyBitPolarity = 1U, + .lookupTable = { + // Fast read quad IO (EBh) [NOR_CMD_LUT_SEQ_IDX_READ] + [4U * 0 + 0U] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xEB, RADDR_SDR, FLEXSPI_4PAD, 0x18), + [4U * 0 + 1U] = FLEXSPI_LUT_SEQ(MODE8_SDR, FLEXSPI_4PAD, 0xF0, DUMMY_SDR, FLEXSPI_4PAD, 0x04), + [4U * 0 + 2U] = FLEXSPI_LUT_SEQ(READ_SDR, FLEXSPI_4PAD, 0x00, STOP, FLEXSPI_1PAD, 0x00), + + // Read SR1 (05h) [NOR_CMD_LUT_SEQ_IDX_READSTATUS] + [4U * 1 + 0U] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x05, READ_SDR, FLEXSPI_1PAD, 0x00), + + // Write enable (06h) [NOR_CMD_LUT_SEQ_IDX_WRITEENABLE] + [4U * 3 + 0U] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x06, STOP, FLEXSPI_1PAD, 0x00), + + // Page program () [NOR_CMD_LUT_SEQ_IDX_PAGEPROGRAM] + [4U * 4 + 0U] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x32, RADDR_SDR, FLEXSPI_4PAD, 0x18), + [4U * 4 + 1U] = FLEXSPI_LUT_SEQ(WRITE_SDR, FLEXSPI_4PAD, 0x00, STOP, FLEXSPI_1PAD, 0x00), + + // Erase sector (20h) [NOR_CMD_LUT_SEQ_IDX_ERASESECTOR] + [4U * 5 + 0U] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x20, RADDR_SDR, FLEXSPI_1PAD, 0x18), + + // Enter QPI mode () + [4U * 7 + 0U] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x20, RADDR_SDR, FLEXSPI_1PAD, 0x18), + + // Erase block 32kB (52h) [NOR_CMD_LUT_SEQ_IDX_ERASEBLOCK] + [4U * 8 + 0U] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x52, RADDR_SDR, FLEXSPI_1PAD, 0x18), }, - .pageSize = 256u, - .sectorSize = 4u * 1024u, - .blockSize = 64u * 1024u, + }, + .pageSize = 256u, + .sectorSize = 4u * 1024u, + .blockSize = 32u * 1024u, }; #endif /* XIP_BOOT_HEADER_ENABLE */