diff --git a/sw/device/lib/dif/dif_entropy_src.c b/sw/device/lib/dif/dif_entropy_src.c
index 4eb2ddd..8e49d26 100644
--- a/sw/device/lib/dif/dif_entropy_src.c
+++ b/sw/device/lib/dif/dif_entropy_src.c
@@ -537,3 +537,15 @@
 
   return kDifOk;
 }
+
+dif_result_t dif_entropy_src_get_main_fsm_state(
+    const dif_entropy_src_t *entropy_src, dif_entropy_main_fsm_t *state) {
+  if (entropy_src == NULL || state == NULL) {
+    return kDifBadArg;
+  }
+
+  *state = mmio_region_read32(entropy_src->base_addr,
+                              ENTROPY_SRC_MAIN_SM_STATE_REG_OFFSET);
+
+  return kDifOk;
+}
diff --git a/sw/device/lib/dif/dif_entropy_src.h b/sw/device/lib/dif/dif_entropy_src.h
index 959ab2e..43713c9 100644
--- a/sw/device/lib/dif/dif_entropy_src.h
+++ b/sw/device/lib/dif/dif_entropy_src.h
@@ -54,6 +54,33 @@
 } dif_entropy_src_single_bit_mode_t;
 
 /**
+ * Main FSM state
+ */
+typedef enum dif_entropy_main_fsm {
+  kDifEntropySrcMainFsmStateIdle = 0x0f5,
+  kDifEntropySrcMainFsmStateBootHTRunning = 0x1d2,
+  kDifEntropySrcMainFsmStateBootPostHTChk = 0x16e,
+  kDifEntropySrcMainFsmStateBootPhaseDone = 0x08e,
+  kDifEntropySrcMainFsmStateStartupHTStart = 0x02c,
+  kDifEntropySrcMainFsmStateStartupPhase1 = 0x101,
+  kDifEntropySrcMainFsmStateStartupPass1 = 0x1a5,
+  kDifEntropySrcMainFsmStateStartupFail1 = 0x017,
+  kDifEntropySrcMainFsmStateContHTStart = 0x040,
+  kDifEntropySrcMainFsmStateContHTRunning = 0x1a2,
+  kDifEntropySrcMainFsmStateFWInsertStart = 0x0c3,
+  kDifEntropySrcMainFsmStateFWInsertMsg = 0x059,
+  kDifEntropySrcMainFsmStateSha3MsgDone = 0x10f,
+  kDifEntropySrcMainFsmStateSha3Prep = 0x0f8,
+  kDifEntropySrcMainFsmStateSha3Process = 0x0bf,
+  kDifEntropySrcMainFsmStateSha3Valid = 0x171,
+  kDifEntropySrcMainFsmStateSha3Done = 0x198,
+  kDifEntropySrcMainFsmStateSha3Quiesce = 0x1cd,
+  kDifEntropySrcMainFsmStateAlertState = 0x1fb,
+  kDifEntropySrcMainFsmStateAlertHang = 0x15c,
+  kDifEntropySrcMainFsmStateError = 0x13d
+} dif_entropy_main_fsm_t;
+
+/**
  * Firmware override parameters for an entropy source.
  */
 typedef struct dif_entropy_src_fw_override_config {
@@ -493,6 +520,17 @@
 dif_result_t dif_entropy_src_get_fifo_depth(
     const dif_entropy_src_t *entropy_src, uint32_t *fifo_depth);
 
+/**
+ * Read the current main fsm state.
+ *
+ * @param entropy_src An entropy source handle.
+ * @param[out] state The current state.
+ * @return The result of the operation.
+ */
+OT_WARN_UNUSED_RESULT
+dif_result_t dif_entropy_src_get_main_fsm_state(
+    const dif_entropy_src_t *entropy_src, dif_entropy_main_fsm_t *state);
+
 #ifdef __cplusplus
 }  // extern "C"
 #endif  // __cplusplus
diff --git a/sw/device/lib/testing/entropy_testutils.c b/sw/device/lib/testing/entropy_testutils.c
index 49e17fc..64f3dd4 100644
--- a/sw/device/lib/testing/entropy_testutils.c
+++ b/sw/device/lib/testing/entropy_testutils.c
@@ -57,3 +57,12 @@
   setup_csrng();
   setup_edn();
 }
+
+void entropy_testutils_wait_for_state(const dif_entropy_src_t *entropy_src,
+                                      dif_entropy_main_fsm_t state) {
+  dif_entropy_main_fsm_t cur_state;
+
+  do {
+    CHECK_DIF_OK(dif_entropy_src_get_main_fsm_state(entropy_src, &cur_state));
+  } while (cur_state != state);
+}
diff --git a/sw/device/lib/testing/entropy_testutils.h b/sw/device/lib/testing/entropy_testutils.h
index 6466039..4bd5c30 100644
--- a/sw/device/lib/testing/entropy_testutils.h
+++ b/sw/device/lib/testing/entropy_testutils.h
@@ -5,6 +5,8 @@
 #ifndef OPENTITAN_SW_DEVICE_LIB_TESTING_ENTROPY_TESTUTILS_H_
 #define OPENTITAN_SW_DEVICE_LIB_TESTING_ENTROPY_TESTUTILS_H_
 
+#include "sw/device/lib/dif/dif_entropy_src.h"
+
 /**
  * Initializes the entropy complex to serve random bits to EDN0 and EDN1.
  *
@@ -13,4 +15,10 @@
  */
 void entropy_testutils_boot_mode_init(void);
 
+/**
+ * Wait for the entropy_src to reach a certain state.
+ */
+void wait_entropy_src_state(const dif_entropy_src_t *entropy_src,
+                            dif_entropy_main_fsm_t state);
+
 #endif  // OPENTITAN_SW_DEVICE_LIB_TESTING_ENTROPY_TESTUTILS_H_
