From ec2c91fa90f1173a3e63e53a6edf7c06997fc724 Mon Sep 17 00:00:00 2001 From: David Sidrane Date: Thu, 23 May 2024 05:29:22 -0700 Subject: [PATCH] nxp/imxrt_common/main:Fix Breakage from a9962dc --- platforms/nuttx/src/bootloader/nxp/imxrt_common/main.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/platforms/nuttx/src/bootloader/nxp/imxrt_common/main.c b/platforms/nuttx/src/bootloader/nxp/imxrt_common/main.c index 3780c261ba..dcdc50a911 100644 --- a/platforms/nuttx/src/bootloader/nxp/imxrt_common/main.c +++ b/platforms/nuttx/src/bootloader/nxp/imxrt_common/main.c @@ -397,7 +397,7 @@ flash_func_sector_size(unsigned sector) } /* imxRT uses Flash lib, not up_progmem so let's stub it here */ -up_progmem_ispageerased(unsigned sector) +ssize_t up_progmem_ispageerased(unsigned sector) { const uint32_t bytes_per_sector = flash_func_sector_size(sector); uint32_t *address = (uint32_t *)(IMXRT_FLEXSPI1_CIPHER_BASE + (sector * bytes_per_sector)); @@ -432,9 +432,13 @@ flash_func_erase_sector(unsigned sector, bool force) return; } - if (force || flash_func_is_sector_blank(sector) != 0) { + if (force || up_progmem_ispageerased(sector) != 0) { + struct flexspi_nor_config_s *pConfig = &g_bootConfig; + const uint32_t bytes_per_sector = flash_func_sector_size(sector); + uint32_t *address = (uint32_t *)(IMXRT_FLEXSPI1_CIPHER_BASE + (sector * bytes_per_sector)); + uintptr_t offset = ((uintptr_t) address) - IMXRT_FLEXSPI1_CIPHER_BASE; irqstate_t flags; flags = enter_critical_section();