[sw/silicon_creator] Use sec_mmio in lifecycle driver Fixes #7026. Signed-off-by: Alphan Ulusoy <alphan@google.com>
diff --git a/sw/device/silicon_creator/lib/drivers/keymgr_functest.c b/sw/device/silicon_creator/lib/drivers/keymgr_functest.c index 4e54b56..acb782c 100644 --- a/sw/device/silicon_creator/lib/drivers/keymgr_functest.c +++ b/sw/device/silicon_creator/lib/drivers/keymgr_functest.c
@@ -16,7 +16,7 @@ #include "sw/device/lib/runtime/log.h" #include "sw/device/lib/runtime/print.h" #include "sw/device/lib/testing/check.h" -#include "sw/device/silicon_creator/lib/base/abs_mmio.h" +#include "sw/device/silicon_creator/lib/base/sec_mmio.h" #include "sw/device/silicon_creator/lib/drivers/keymgr.h" #include "sw/device/silicon_creator/lib/drivers/lifecycle.h" #include "sw/device/silicon_creator/lib/error.h" @@ -37,6 +37,9 @@ #define ASSERT_EQZ(x) CHECK((x) == 0) +// sec_mmio (used by the lifecycle driver) requires this symbol to be defined. +sec_mmio_ctx_t sec_mmio_ctx; + enum { /** Creator Secret flash info page ID. */ kFlashInfoPageIdCreatorSecret = 1,
diff --git a/sw/device/silicon_creator/lib/drivers/lifecycle.c b/sw/device/silicon_creator/lib/drivers/lifecycle.c index d58d668..d4625db 100644 --- a/sw/device/silicon_creator/lib/drivers/lifecycle.c +++ b/sw/device/silicon_creator/lib/drivers/lifecycle.c
@@ -9,7 +9,7 @@ #include "sw/device/lib/base/bitfield.h" #include "sw/device/lib/base/memory.h" -#include "sw/device/silicon_creator/lib/base/abs_mmio.h" +#include "sw/device/silicon_creator/lib/base/sec_mmio.h" #include "hw/top_earlgrey/sw/autogen/top_earlgrey.h" #include "lc_ctrl_regs.h" @@ -78,9 +78,8 @@ }; lifecycle_state_t lifecycle_state_get(void) { - // TODO(lowRISC/opentitan#7026): Convert to use sec_mmio. uint32_t value = bitfield_field32_read( - abs_mmio_read32(kBase + LC_CTRL_LC_STATE_REG_OFFSET), + sec_mmio_read32(kBase + LC_CTRL_LC_STATE_REG_OFFSET), LC_CTRL_LC_STATE_STATE_FIELD); return (lifecycle_state_t)value; }
diff --git a/sw/device/silicon_creator/lib/drivers/meson.build b/sw/device/silicon_creator/lib/drivers/meson.build index e7a36c5..5869b42 100644 --- a/sw/device/silicon_creator/lib/drivers/meson.build +++ b/sw/device/silicon_creator/lib/drivers/meson.build
@@ -11,7 +11,7 @@ 'lifecycle.c', ], dependencies: [ - sw_silicon_creator_lib_base_abs_mmio, + sw_silicon_creator_lib_base_sec_mmio, sw_lib_bitfield, ], ),