This is an automated email from the ASF dual-hosted git repository. andk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
commit ebe39e1689fe54c23a5d2356ea5fb2f5bff1eabc Author: Andrzej Kaczmarek <[email protected]> AuthorDate: Thu Nov 26 22:11:31 2020 +0100 hw/mcu/dialog: Skip sleep if PD_SYS is used If PD_SYS is acquired by something, we can skip deep sleep because it will not happen - "standard" wfi is enough. --- hw/mcu/dialog/da1469x/src/da1469x_sleep.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hw/mcu/dialog/da1469x/src/da1469x_sleep.c b/hw/mcu/dialog/da1469x/src/da1469x_sleep.c index a251d93..45597f9 100644 --- a/hw/mcu/dialog/da1469x/src/da1469x_sleep.c +++ b/hw/mcu/dialog/da1469x/src/da1469x_sleep.c @@ -83,9 +83,14 @@ da1469x_sleep(os_time_t ticks) mcu_gpio_enter_sleep(); /* PD_SYS will not be disabled here until we enter deep sleep, so don't wait */ - da1469x_pd_release_nowait(MCU_PD_DOMAIN_SYS); + if (!da1469x_pd_release_nowait(MCU_PD_DOMAIN_SYS)) { + __DSB(); + __WFI(); + slept = 0; + } else { + slept = da1469x_m33_sleep(); + } - slept = da1469x_m33_sleep(); mcu_gpio_exit_sleep(); if (g_da1469x_sleep_cb.exit_sleep) {
