Deep Sleep mode in nRF54l15

Hello, 
I am using nRF Connect SDK v2.9.0. While working on the nRF52840 board, I used sys_poweroff() to put the board in deep sleep mode. But before calling it, I called

nrf_power_rampower_mask_on(NRF_POWER, 0, NRF_POWER_RAMPOWER_S0POWER_MASK);
nrf_power_rampower_mask_on(NRF_POWER, 1, NRF_POWER_RAMPOWER_S1POWER_MASK);
if I wanted to keep the RAM content in Deep Sleep and I called 

nrf_power_rampower_mask_off(NRF_POWER, 0, NRF_POWER_RAMPOWER_S0POWER_MASK);
nrf_power_rampower_mask_off(NRF_POWER, 1, NRF_POWER_RAMPOWER_S1POWER_MASK);
if I want to not keep the RAM content in Deep Sleep.
Now, I want to do migration and use the board nRF54L15 rather than nRF52840. When I replaced the board and tried to build the code, I got errors as these functions are undefined for the board nRF54L15.
Also, I got errors in 
uint32_t reset_reason = nrf_power_resetreas_get(NRF_POWER);
 nrf_power_resetreas_clear(NRF_POWER, reset_reason);
if (reset_reason & NRF_POWER_RESETREAS_RESETPIN_MASK)
{
   *penu_wakeup_reason = WAKEUP_FROM_EXT_PIN_RESET;
}
As, the functions nrf_power_resetreas_get, nrf_power_resetreas_clear, and NRF_POWER_RESETREAS_RESETPIN_MASK macro are not defined for the nRF54L15 board while they were working with the nRF52840 board
Parents Reply
  • By sleep, do you mean system OFF sleep mode (where wakeup is in form of a reset), normal system ON sleep mode?

    System On sleep is auomatically entered by the Zephyr idle thread, whenever there is no work to be done. That is for instance if all threads call k_sleep or are waiting for something.

    For system off you can call sys_poweroff() as is demonstrated in the system off sample you have been looking at.

Children
Related