5 #include "sw/device/lib/base/status.h"
10 #include "sw/device/lib/testing/lc_ctrl_testutils.h"
11 #include "sw/device/lib/testing/rstmgr_testutils.h"
12 #include "sw/device/lib/testing/test_framework/check.h"
14 #include "sw/device/silicon_creator/manuf/lib/individualize.h"
15 #include "sw/device/silicon_creator/manuf/lib/otp_fields.h"
19 OTTF_DEFINE_TEST_CONFIG();
27 static dif_lc_ctrl_t lc_ctrl;
28 static dif_otp_ctrl_t otp_ctrl;
29 static dif_rstmgr_t rstmgr;
34 static status_t peripheral_handles_init(
void) {
40 TRY(dif_otp_ctrl_init(
51 rstmgr_testutils_reason_clear();
57 CHECK_STATUS_OK(peripheral_handles_init());
61 if (!status_ok(manuf_individualize_device_hw_cfg_check(&otp_ctrl))) {
63 .
ecc_en = kMultiBitBool4True,
64 .high_endurance_en = kMultiBitBool4False,
65 .erase_en = kMultiBitBool4True,
66 .prog_en = kMultiBitBool4True,
67 .rd_en = kMultiBitBool4True,
68 .scramble_en = kMultiBitBool4False};
69 uint32_t device_id[kHwCfgDeviceIdSizeIn32BitWords] = {
70 0xAAAAAAAA, 0xBBBBBBBB, 0xAAAAAAAA, 0xBBBBBBBB,
71 0xAAAAAAAA, 0xBBBBBBBB, 0xAAAAAAAA, 0xBBBBBBBB};
72 CHECK_STATUS_OK(manuf_individualize_device_hw_cfg(
73 &flash_state, &otp_ctrl, kFlashInfoPage0Permissions, device_id));