5 #include "dt/dt_aon_timer.h"
10 #include "sw/device/lib/testing/pwrmgr_testutils.h"
11 #include "sw/device/lib/testing/rstmgr_testutils.h"
12 #include "sw/device/lib/testing/test_framework/check.h"
15 OTTF_DEFINE_TEST_CONFIG();
17 static const dt_rstmgr_t kRstmgrDt = 0;
18 static_assert(kDtRstmgrCount == 1,
"this test expects a rstmgr");
19 static const dt_pwrmgr_t kPwrmgrDt = 0;
20 static_assert(kDtPwrmgrCount == 1,
"this test expects a pwrmgr");
33 CHECK_DIF_OK(dif_pwrmgr_init_from_dt(kPwrmgrDt, &pwrmgr));
36 CHECK_DIF_OK(dif_rstmgr_init_from_dt(kRstmgrDt, &rstmgr));
42 LOG_INFO(
"Powered up for the first time, begin test");
44 CHECK(UNWRAP(pwrmgr_testutils_is_wakeup_reason(&pwrmgr, 0)) ==
true);
46 CHECK_STATUS_OK(rstmgr_testutils_pre_reset(&rstmgr));
52 dt_aon_timer_instance_id(kDtAonTimerAon), kDtAonTimerWakeupWkupReq,
55 CHECK_STATUS_OK(pwrmgr_testutils_enable_low_power(
56 &pwrmgr, wakeup_sources, kDifPwrmgrDomainOptionMainPowerInLowPower));
60 LOG_INFO(
"Issue WFI to enter sleep");
66 CHECK_STATUS_OK(rstmgr_testutils_post_reset(
69 "Reset status indicates a main power glitch and low power exit reset");