Skip to content

Commit ad27263

Browse files
committed
[hopefully_fromtree] soc: nordic: Support TF-M for poweroff
Enable going to system off when TF-M is enabled. This calls the relevant TF-M platform API to enable going to system off using TF-M. Signed-off-by: Georgios Vasilakis <[email protected]>
1 parent c539d47 commit ad27263

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

soc/nordic/common/poweroff.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
#include <zephyr/toolchain.h>
88
#include <zephyr/drivers/retained_mem/nrf_retained_mem.h>
99

10-
#if defined(CONFIG_SOC_SERIES_NRF51X) || defined(CONFIG_SOC_SERIES_NRF52X)
10+
#if defined(CONFIG_BUILD_WITH_TFM)
11+
#include "tfm_platform_api.h"
12+
#elif defined(CONFIG_SOC_SERIES_NRF51X) || defined(CONFIG_SOC_SERIES_NRF52X)
1113
#include <hal/nrf_power.h>
1214
#elif defined(CONFIG_SOC_SERIES_NRF54HX)
1315
#include <power.h>
@@ -65,12 +67,17 @@ void z_sys_poweroff(void)
6567
#endif
6668

6769
#if defined(CONFIG_SOC_SERIES_NRF54LX)
70+
#if !defined(CONFIG_BUILD_WITH_TFM)
6871
/* Set VPR to remain in its reset state when waking from OFF */
6972
nrf_memconf_ramblock_ret_enable_set(NRF_MEMCONF, VPR_POWER_IDX, VPR_RET_BIT, false);
73+
#endif
7074

7175
nrfx_reset_reason_clear(UINT32_MAX);
7276
#endif
73-
#if defined(CONFIG_SOC_SERIES_NRF51X) || defined(CONFIG_SOC_SERIES_NRF52X)
77+
78+
#if defined(CONFIG_BUILD_WITH_TFM)
79+
tfm_platform_system_off();
80+
#elif defined(CONFIG_SOC_SERIES_NRF51X) || defined(CONFIG_SOC_SERIES_NRF52X)
7481
nrf_power_system_off(NRF_POWER);
7582
#elif defined(CONFIG_SOC_SERIES_NRF54HX)
7683
nrf_poweroff();

0 commit comments

Comments
 (0)