[keymgr] Convert configuration to shadow register
- split start from configuration since shadow registers do now support hrw
- this is part of keymgr d2s likely review items
Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/sw/device/silicon_creator/lib/shutdown.c b/sw/device/silicon_creator/lib/shutdown.c
index fa24236..fa41ff3 100644
--- a/sw/device/silicon_creator/lib/shutdown.c
+++ b/sw/device/silicon_creator/lib/shutdown.c
@@ -277,12 +277,14 @@
enum {
kBase = TOP_EARLGREY_KEYMGR_BASE_ADDR,
};
- uint32_t reg = bitfield_bit32_write(0, KEYMGR_CONTROL_START_BIT, true);
- reg = bitfield_field32_write(reg, KEYMGR_CONTROL_DEST_SEL_FIELD,
- KEYMGR_CONTROL_DEST_SEL_VALUE_NONE);
- reg = bitfield_field32_write(reg, KEYMGR_CONTROL_OPERATION_FIELD,
- KEYMGR_CONTROL_OPERATION_VALUE_DISABLE);
- abs_mmio_write32(kBase + KEYMGR_CONTROL_REG_OFFSET, reg);
+ uint32_t reg =
+ bitfield_field32_write(0, KEYMGR_CONTROL_SHADOWED_DEST_SEL_FIELD,
+ KEYMGR_CONTROL_SHADOWED_DEST_SEL_VALUE_NONE);
+ reg = bitfield_field32_write(reg, KEYMGR_CONTROL_SHADOWED_OPERATION_FIELD,
+ KEYMGR_CONTROL_SHADOWED_OPERATION_VALUE_DISABLE);
+ abs_mmio_write32_shadowed(kBase + KEYMGR_CONTROL_SHADOWED_REG_OFFSET, reg);
+
+ abs_mmio_write32(kBase + KEYMGR_START_REG_OFFSET, 1);
abs_mmio_write32(kBase + KEYMGR_SIDELOAD_CLEAR_REG_OFFSET, 1);
}