summaryrefslogtreecommitdiff
path: root/ports/stm32/flash.c
diff options
context:
space:
mode:
Diffstat (limited to 'ports/stm32/flash.c')
-rw-r--r--ports/stm32/flash.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/ports/stm32/flash.c b/ports/stm32/flash.c
index f050ca5ac..fcf46049c 100644
--- a/ports/stm32/flash.c
+++ b/ports/stm32/flash.c
@@ -148,7 +148,7 @@ static const flash_layout_t flash_layout[] = {
#define FLASH_LAYOUT_SECTOR_SIZE (0x200)
#define FLASH_LAYOUT_NUM_SECTORS (1024)
-#elif defined(STM32H5)
+#elif defined(STM32H5) || defined(STM32U5)
#define FLASH_LAYOUT_IS_HOMOGENEOUS (1)
#define FLASH_LAYOUT_START_ADDR (FLASH_BASE_NS)
@@ -225,7 +225,7 @@ static uint32_t get_page(uint32_t addr) {
return (addr - FLASH_LAYOUT_START_ADDR) / FLASH_LAYOUT_SECTOR_SIZE;
}
-#elif defined(STM32G0) || defined(STM32G4)
+#elif defined(STM32G0) || defined(STM32G4) || defined(STM32U5)
static uint32_t get_page(uint32_t addr) {
return (addr - FLASH_LAYOUT_START_ADDR) / FLASH_LAYOUT_SECTOR_SIZE;
@@ -332,12 +332,12 @@ int flash_erase(uint32_t flash_dest) {
// ... the erase type and number of pages/sectors,
#if defined(STM32F0) || defined(STM32G0) || defined(STM32G4) || defined(STM32L0) \
- || defined(STM32L1) || defined(STM32L4) || defined(STM32WB) || defined(STM32WL)
+ || defined(STM32L1) || defined(STM32L4) || defined(STM32U5) || defined(STM32WB) || defined(STM32WL)
EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES;
EraseInitStruct.NbPages = num_sectors;
- #elif defined(STM32F4) || defined(STM32F7) || defined(STM32H5) || defined(STM32H7)
+ #elif defined(STM32F4) || defined(STM32F7) || defined(STM32H5) || defined(STM32H7) || defined(STM32U5)
EraseInitStruct.TypeErase = TYPEERASE_SECTORS;
EraseInitStruct.NbSectors = num_sectors;
@@ -354,7 +354,7 @@ int flash_erase(uint32_t flash_dest) {
// ... and the flash bank and page/sector.
#if defined(STM32F0) || defined(STM32L0) || defined(STM32L1)
EraseInitStruct.PageAddress = flash_dest;
- #elif defined(STM32G0) || defined(STM32G4) || (defined(STM32L4) && defined(SYSCFG_MEMRMP_FB_MODE))
+ #elif defined(STM32G0) || defined(STM32G4) || (defined(STM32L4) && defined(SYSCFG_MEMRMP_FB_MODE)) || defined(STM32U5)
EraseInitStruct.Page = get_page(flash_dest);
EraseInitStruct.Banks = get_bank(flash_dest);
#elif (defined(STM32L4) && !defined(SYSCFG_MEMRMP_FB_MODE)) || defined(STM32WB) || defined(STM32WL)
@@ -458,9 +458,9 @@ int flash_write(uint32_t flash_dest, const uint32_t *src, uint32_t num_word32) {
#endif
}
- #elif defined(STM32H5) || defined(STM32H7)
+ #elif defined(STM32H5) || defined(STM32H7) || defined(STM32U5)
- #if defined(STM32H5)
+ #if defined(STM32H5) || defined(STM32U5)
static const unsigned int WORD32_PER_FLASHWORD = 4;
static const unsigned int PROGRAM_TYPE = FLASH_TYPEPROGRAM_QUADWORD;
#else