[sw/silicon_creator] Remove retention SRAM errors
Signed-off-by: Alphan Ulusoy <alphan@google.com>
diff --git a/sw/device/silicon_creator/lib/drivers/retention_sram.c b/sw/device/silicon_creator/lib/drivers/retention_sram.c
index 6f1125e..1a2e858 100644
--- a/sw/device/silicon_creator/lib/drivers/retention_sram.c
+++ b/sw/device/silicon_creator/lib/drivers/retention_sram.c
@@ -18,21 +18,6 @@
kBase = TOP_EARLGREY_SRAM_CTRL_RET_AON_REGS_BASE_ADDR,
};
-/**
- * Check that control register writes are enabled.
- *
- * @return Result of the operation.
- */
-static rom_error_t is_locked(void) {
- if (!bitfield_bit32_read(
- abs_mmio_read32(kBase + SRAM_CTRL_CTRL_REGWEN_REG_OFFSET),
- SRAM_CTRL_CTRL_REGWEN_CTRL_REGWEN_BIT)) {
- return kErrorRetSramLocked;
- }
-
- return kErrorOk;
-}
-
volatile retention_sram_t *retention_sram_get(void) {
static_assert(sizeof(retention_sram_t) == TOP_EARLGREY_RAM_RET_AON_SIZE_BYTES,
"Unexpected retention SRAM size.");
@@ -43,24 +28,16 @@
*retention_sram_get() = (retention_sram_t){0};
}
-rom_error_t retention_sram_init(void) {
- RETURN_IF_ERROR(is_locked());
-
+void retention_sram_init(void) {
uint32_t reg = bitfield_bit32_write(0, SRAM_CTRL_CTRL_INIT_BIT, true);
abs_mmio_write32(kBase + SRAM_CTRL_CTRL_REG_OFFSET, reg);
-
- return kErrorOk;
}
-rom_error_t retention_sram_scramble(void) {
- RETURN_IF_ERROR(is_locked());
-
+void retention_sram_scramble(void) {
// Request the renewal of the scrambling key and initialization to random
// values.
uint32_t ctrl = 0;
ctrl = bitfield_bit32_write(ctrl, SRAM_CTRL_CTRL_RENEW_SCR_KEY_BIT, true);
ctrl = bitfield_bit32_write(ctrl, SRAM_CTRL_CTRL_INIT_BIT, true);
abs_mmio_write32(kBase + SRAM_CTRL_CTRL_REG_OFFSET, ctrl);
-
- return kErrorOk;
}
diff --git a/sw/device/silicon_creator/lib/drivers/retention_sram.h b/sw/device/silicon_creator/lib/drivers/retention_sram.h
index ce282bd..895daf1 100644
--- a/sw/device/silicon_creator/lib/drivers/retention_sram.h
+++ b/sw/device/silicon_creator/lib/drivers/retention_sram.h
@@ -66,7 +66,7 @@
*
* @return Result of the operation.
*/
-rom_error_t retention_sram_init(void);
+void retention_sram_init(void);
/**
* Start scrambling the retention SRAM.
@@ -80,7 +80,7 @@
*
* @return An error if a new key cannot be requested.
*/
-rom_error_t retention_sram_scramble(void);
+void retention_sram_scramble(void);
#ifdef __cplusplus
}
diff --git a/sw/device/silicon_creator/lib/drivers/retention_sram_functest.c b/sw/device/silicon_creator/lib/drivers/retention_sram_functest.c
index e244897..9def87d 100644
--- a/sw/device/silicon_creator/lib/drivers/retention_sram_functest.c
+++ b/sw/device/silicon_creator/lib/drivers/retention_sram_functest.c
@@ -45,10 +45,7 @@
// Scramble the retention SRAM.
LOG_INFO("Scrambling retention SRAM.");
- if (retention_sram_scramble() != kErrorOk) {
- LOG_ERROR("Scrambling failed.");
- return kErrorUnknown;
- }
+ retention_sram_scramble();
// Copy the contents of the retention SRAM into an array of 64-bit integers.
// We use 64-bit integers rather than 32-bit integers to reduce the
diff --git a/sw/device/silicon_creator/lib/drivers/retention_sram_unittest.cc b/sw/device/silicon_creator/lib/drivers/retention_sram_unittest.cc
index da11212..b3d5388 100644
--- a/sw/device/silicon_creator/lib/drivers/retention_sram_unittest.cc
+++ b/sw/device/silicon_creator/lib/drivers/retention_sram_unittest.cc
@@ -23,44 +23,24 @@
class ScrambleTest : public RetentionSramTest {};
TEST_F(ScrambleTest, Ok) {
- EXPECT_ABS_READ32(base_ + SRAM_CTRL_CTRL_REGWEN_REG_OFFSET,
- {
- {SRAM_CTRL_CTRL_REGWEN_CTRL_REGWEN_BIT, 1},
- });
EXPECT_ABS_WRITE32(base_ + SRAM_CTRL_CTRL_REG_OFFSET,
{
{SRAM_CTRL_CTRL_RENEW_SCR_KEY_BIT, 1},
{SRAM_CTRL_CTRL_INIT_BIT, 1},
});
- EXPECT_EQ(retention_sram_scramble(), kErrorOk);
-}
-
-TEST_F(ScrambleTest, Locked) {
- EXPECT_ABS_READ32(base_ + SRAM_CTRL_CTRL_REGWEN_REG_OFFSET, 0);
-
- EXPECT_EQ(retention_sram_scramble(), kErrorRetSramLocked);
+ retention_sram_scramble();
}
class InitTest : public RetentionSramTest {};
TEST_F(InitTest, Ok) {
- EXPECT_ABS_READ32(base_ + SRAM_CTRL_CTRL_REGWEN_REG_OFFSET,
- {
- {SRAM_CTRL_CTRL_REGWEN_CTRL_REGWEN_BIT, 1},
- });
EXPECT_ABS_WRITE32(base_ + SRAM_CTRL_CTRL_REG_OFFSET,
{
{SRAM_CTRL_CTRL_INIT_BIT, 1},
});
- EXPECT_EQ(retention_sram_init(), kErrorOk);
-}
-
-TEST_F(InitTest, Locked) {
- EXPECT_ABS_READ32(base_ + SRAM_CTRL_CTRL_REGWEN_REG_OFFSET, 0);
-
- EXPECT_EQ(retention_sram_init(), kErrorRetSramLocked);
+ retention_sram_init();
}
} // namespace
diff --git a/sw/device/silicon_creator/lib/error.h b/sw/device/silicon_creator/lib/error.h
index cfa6ddb..49d80c6 100644
--- a/sw/device/silicon_creator/lib/error.h
+++ b/sw/device/silicon_creator/lib/error.h
@@ -36,7 +36,6 @@
kModuleOtbn = MODULE_CODE('B', 'N'),
kModuleFlashCtrl = MODULE_CODE('F', 'C'),
kModuleBootPolicy = MODULE_CODE('B', 'P'),
- kModuleRetSram = MODULE_CODE('R', 'S'),
kModuleBootstrap = MODULE_CODE('B', 'S'),
kModuleLog = MODULE_CODE('L', 'G'),
kModuleBootData = MODULE_CODE('B', 'D'),
@@ -101,7 +100,6 @@
X(kErrorBootPolicyBadIdentifier, ERROR_(1, kModuleBootPolicy, kInternal)), \
X(kErrorBootPolicyBadLength, ERROR_(2, kModuleBootPolicy, kInternal)), \
X(kErrorBootPolicyRollback, ERROR_(3, kModuleBootPolicy, kInternal)), \
- X(kErrorRetSramLocked, ERROR_(1, kModuleRetSram, kInternal)), \
X(kErrorBootstrapEraseAddress, ERROR_(1, kModuleBootstrap, kInvalidArgument)), \
X(kErrorBootstrapProgramAddress, ERROR_(2, kModuleBootstrap, kInvalidArgument)), \
X(kErrorBootstrapInvalidState, ERROR_(3, kModuleBootstrap, kInvalidArgument)), \