18 #include "sw/device/lib/testing/pwrmgr_testutils.h"
19 #include "sw/device/lib/testing/rstmgr_testutils.h"
20 #include "sw/device/lib/testing/test_framework/FreeRTOSConfig.h"
21 #include "sw/device/lib/testing/test_framework/check.h"
26 OTTF_DEFINE_TEST_CONFIG(.enable_uart_flow_control =
true);
31 static dif_pwrmgr_t pwrmgr;
32 static dif_sysrst_ctrl_t sysrst_ctrl_aon;
33 static dif_rstmgr_t rstmgr;
38 void init_peripherals(
void) {
40 CHECK_DIF_OK(dif_pwrmgr_init(
44 CHECK_DIF_OK(dif_sysrst_ctrl_init(
49 CHECK_DIF_OK(dif_rstmgr_init(
56 static void config_sysrst(
const dif_pwrmgr_t *pwrmgr,
57 const dif_sysrst_ctrl_t *sysrst_ctrl_aon) {
62 kDifPwrmgrResetRequestSourceOne,
64 LOG_INFO(
"Reset Request SourceOne is set");
72 .detection_time_threshold = 10,
74 .embedded_controller_reset_duration = 10};
85 CHECK_DIF_OK(dif_pinmux_init(
89 sysrst_ctrl_aon, sysrst_ctrl_input_change_config));
96 static void low_power_por(
const dif_pwrmgr_t *pwrmgr) {
98 CHECK_STATUS_OK(pwrmgr_testutils_enable_low_power(pwrmgr, 0, 0));
103 CHECK(
false,
"Fail to enter in low power mode!");
111 rst_info = rstmgr_testutils_reason_get();
112 rstmgr_testutils_reason_clear();
113 LOG_INFO(
"Reset info 0x%x", rst_info);
115 config_sysrst(&pwrmgr, &sysrst_ctrl_aon);
117 low_power_por(&pwrmgr);
118 CHECK(
false,
"This is unreachable");
119 }
else if ((rst_info & kDifRstmgrResetInfoSysRstCtrl) != 0) {
124 LOG_ERROR(
"Wrong reset reason %02X", rst_info);