diff --git a/sw/lib/flash_ctrl.c b/sw/lib/flash_ctrl.c
index 163c772..e0c13ba 100644
--- a/sw/lib/flash_ctrl.c
+++ b/sw/lib/flash_ctrl.c
@@ -63,9 +63,7 @@
 }
 
 int flash_bank_erase(bank_index_t idx) {
-  REG32(FLASH_CTRL_MP_BANK_CFG(0)) =
-      0x1 << ((idx == FLASH_BANK_0) ? FLASH_CTRL_MP_BANK_CFG_ERASE_EN0
-                                    : FLASH_CTRL_MP_BANK_CFG_ERASE_EN1);
+  flash_cfg_bank_erase(idx, /*erase_en=*/true);
 
   // TODO: Add timeout conditions and add error codes.
   REG32(FLASH_CTRL_ADDR(0)) = (idx == FLASH_BANK_0)
@@ -77,9 +75,8 @@
        0x1 << FLASH_CTRL_CONTROL_START);
   wait_done_and_ack();
 
-  REG32(FLASH_CTRL_MP_BANK_CFG(0)) =
-      0x0 << ((idx == FLASH_BANK_0) ? FLASH_CTRL_MP_BANK_CFG_ERASE_EN0
-                                    : FLASH_CTRL_MP_BANK_CFG_ERASE_EN1);
+  flash_cfg_bank_erase(idx, /*erase_en=*/false);
+
   return get_clr_err();
 }
 
@@ -129,6 +126,12 @@
   return get_clr_err();
 }
 
+void flash_cfg_bank_erase(bank_index_t bank, bool erase_en) {
+  REG32(FLASH_CTRL_MP_BANK_CFG(0)) =
+      (erase_en) ? SETBIT(REG32(FLASH_CTRL_MP_BANK_CFG(0)), bank)
+                 : CLRBIT(REG32(FLASH_CTRL_MP_BANK_CFG(0)), bank);
+}
+
 void flash_default_region_access(bool rd_en, bool prog_en, bool erase_en) {
   REG32(FLASH_CTRL_DEFAULT_REGION(0)) =
       rd_en << FLASH_CTRL_DEFAULT_REGION_RD_EN |
diff --git a/sw/lib/flash_ctrl.h b/sw/lib/flash_ctrl.h
index 43eb18f..544afcc 100644
--- a/sw/lib/flash_ctrl.h
+++ b/sw/lib/flash_ctrl.h
@@ -71,6 +71,11 @@
 int flash_read(uint32_t addr, uint32_t size, uint32_t *data);
 
 /**
+ * Configure bank erase enable
+ */
+void flash_cfg_bank_erase(bank_index_t bank, bool erase_en);
+
+/**
  * Set flash controller default permissions.
  *
  * @param rd_end Read enable.
