5 #include "dt/dt_otp_ctrl.h"
6 #include "dt/dt_pinmux.h"
9 #include "sw/device/lib/testing/rstmgr_testutils.h"
10 #include "sw/device/lib/testing/test_framework/check.h"
13 #include "otp_ctrl_regs.h"
14 #include "pinmux_regs.h"
16 #if defined(OPENTITAN_IS_EARLGREY)
17 #include "dt/dt_adc_ctrl.h"
18 #include "dt/dt_flash_ctrl.h"
19 #include "dt/dt_keymgr.h"
20 #include "dt/dt_sysrst_ctrl.h"
22 #include "adc_ctrl_regs.h"
23 #include "flash_ctrl_regs.h"
24 #include "keymgr_regs.h"
25 #include "sysrst_ctrl_regs.h"
26 #elif defined(OPENTITAN_IS_DARJEELING)
27 #include "dt/dt_keymgr_dpe.h"
29 #include "keymgr_dpe_regs.h"
31 #error Unsupported top
68 OTTF_DEFINE_TEST_CONFIG();
100 static dif_rstmgr_t rstmgr;
103 for (
size_t i = 0; i < reg_count; ++i) {
110 for (
size_t i = 0; i < reg_count; ++i) {
113 CHECK(val == regs[i].exp_read_val,
"reg[%d]: obs:0x%x exp:0x%x", i, val,
114 regs[i].exp_read_val);
122 .base = dt_otp_ctrl_primary_reg_block(kDtOtpCtrl),
123 .offset = OTP_CTRL_DIRECT_ACCESS_WDATA_0_REG_OFFSET,
124 .write_val = 0x06092022,
125 .exp_read_val = OTP_CTRL_DIRECT_ACCESS_WDATA_0_REG_RESVAL,
129 .base = dt_pinmux_primary_reg_block(kDtPinmuxAon),
130 .offset = PINMUX_WKUP_DETECTOR_CNT_TH_1_REG_OFFSET,
132 .exp_read_val = PINMUX_WKUP_DETECTOR_CNT_TH_1_REG_RESVAL,
135 #if defined(OPENTITAN_IS_EARLGREY)
138 .base = dt_adc_ctrl_primary_reg_block(kDtAdcCtrlAon),
139 .offset = ADC_CTRL_ADC_SAMPLE_CTL_REG_OFFSET,
141 .exp_read_val = ADC_CTRL_ADC_SAMPLE_CTL_REG_RESVAL,
145 .name =
"SYSRST_CTRL",
146 .base = dt_sysrst_ctrl_primary_reg_block(kDtSysrstCtrlAon),
147 .offset = SYSRST_CTRL_EC_RST_CTL_REG_OFFSET,
149 .exp_read_val = SYSRST_CTRL_EC_RST_CTL_REG_RESVAL,
154 .base = dt_keymgr_primary_reg_block(kDtKeymgr),
155 .offset = KEYMGR_MAX_OWNER_KEY_VER_SHADOWED_REG_OFFSET,
156 .write_val = 0x1600ABBA,
157 .exp_read_val = KEYMGR_MAX_OWNER_KEY_VER_SHADOWED_REG_RESVAL,
161 .name =
"FLASH_CTRL",
162 .base = dt_flash_ctrl_primary_reg_block(kDtFlashCtrl),
163 .offset = FLASH_CTRL_SCRATCH_REG_OFFSET,
165 .exp_read_val = FLASH_CTRL_SCRATCH_REG_RESVAL,
167 #elif defined(OPENTITAN_IS_DARJEELING)
169 .name =
"KEYMGR_DPE",
170 .base = dt_keymgr_dpe_primary_reg_block(kDtKeymgrDpe),
171 .offset = KEYMGR_DPE_MAX_KEY_VER_SHADOWED_REG_OFFSET,
172 .write_val = 0x1600ABBA,
173 .exp_read_val = KEYMGR_DPE_MAX_KEY_VER_SHADOWED_REG_RESVAL,
176 #error Unsupported top
180 CHECK_DIF_OK(dif_rstmgr_init_from_dt(kDtRstmgrAon, &rstmgr));
183 rstmgr_testutils_reason_clear();