4#include "sw/device/lib/testing/entropy_src_testutils.h"
7#include "sw/device/lib/testing/test_framework/check.h"
9#define MODULE_ID MAKE_MODULE_ID('e', 'n', 's')
11status_t entropy_src_testutils_fw_override_enable(
13 bool route_to_firmware,
bool bypass_conditioner) {
15 .entropy_insert_enable =
true,
16 .buffer_threshold = buffer_threshold,
18 TRY(dif_entropy_src_fw_override_configure(entropy_src, fw_override_config,
25 .route_to_firmware = route_to_firmware,
26 .bypass_conditioner = bypass_conditioner,
28 .health_test_threshold_scope =
false,
29 .health_test_window_size = 0x0200,
36status_t entropy_src_testutils_wait_for_state(
41 TRY(dif_entropy_src_get_main_fsm_state(entropy_src, &cur_state));
42 }
while (cur_state != state);
46status_t entropy_src_testutils_drain_observe_fifo(
51 const size_t kDrainCount = 32;
57 TRY(dif_entropy_src_observe_fifo_nonblocking_read(entropy_src, NULL, &len));
58 }
while (len == kDrainCount);
63status_t entropy_src_testutils_disable_health_tests(
70 for (
size_t i = 0; i <
ARRAYSIZE(kHealthTest); i++) {
71 TRY(dif_entropy_src_health_test_configure(
74 .high_threshold = 0xffffffff,
75 .low_threshold = 0}));