[sw/flash] Update flash lib and test
Signed-off-by: Timothy Chen <timothytim@google.com>
[sw] update flash function name
Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/sw/device/lib/flash_ctrl.c b/sw/device/lib/flash_ctrl.c
index a1419e1..8633f56 100644
--- a/sw/device/lib/flash_ctrl.c
+++ b/sw/device/lib/flash_ctrl.c
@@ -3,9 +3,10 @@
// SPDX-License-Identifier: Apache-2.0
#include "sw/device/lib/flash_ctrl.h"
+#include "sw/device/lib/common.h"
+
#include "flash_ctrl_regs.h" // Generated.
#include "hw/top_earlgrey/sw/autogen/top_earlgrey.h"
-#include "sw/device/lib/common.h"
#define FLASH_CTRL0_BASE_ADDR TOP_EARLGREY_FLASH_CTRL_BASE_ADDR
@@ -131,6 +132,10 @@
return get_clr_err();
}
+void flash_cfg_scramble_enable(bool en) {
+ REG32(FLASH_CTRL_SCRAMBLE_EN(0)) = en & 1;
+}
+
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)
diff --git a/sw/device/lib/flash_ctrl.h b/sw/device/lib/flash_ctrl.h
index ed8f974..00b6640 100644
--- a/sw/device/lib/flash_ctrl.h
+++ b/sw/device/lib/flash_ctrl.h
@@ -97,6 +97,11 @@
void flash_cfg_bank_erase(bank_index_t bank, bool erase_en);
/**
+ * Configure scramble enable
+ */
+void flash_cfg_scramble_enable(bool en);
+
+/**
* Set flash controller default permissions.
*
* @param rd_end Read enable.
diff --git a/sw/device/tests/flash_ctrl_test.c b/sw/device/tests/flash_ctrl_test.c
index 9b003d2..e669c1e 100644
--- a/sw/device/tests/flash_ctrl_test.c
+++ b/sw/device/tests/flash_ctrl_test.c
@@ -179,6 +179,7 @@
LOG_INFO("flash test!");
+ flash_cfg_scramble_enable(true);
flash_cfg_bank_erase(FLASH_BANK_0, /*erase_en=*/true);
flash_cfg_bank_erase(FLASH_BANK_1, /*erase_en=*/true);