You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
612 B
29 lines
612 B
/* |
|
* Copyright (c) 2023 Nordic Semiconductor ASA |
|
* Copyright (c) 2024 STMicroelectronics |
|
* Copyright (c) 2025 Tomas Jurena |
|
* |
|
* SPDX-License-Identifier: Apache-2.0 |
|
*/ |
|
|
|
#include <zephyr/kernel.h> |
|
#include <zephyr/sys/poweroff.h> |
|
#include <zephyr/toolchain.h> |
|
#include <zephyr/drivers/misc/stm32_wkup_pins/stm32_wkup_pins.h> |
|
|
|
#include <stm32_ll_cortex.h> |
|
#include <stm32_ll_pwr.h> |
|
|
|
void z_sys_poweroff(void) |
|
{ |
|
#ifdef CONFIG_STM32_WKUP_PINS |
|
LL_PWR_ClearFlag_WU(); |
|
#endif /* CONFIG_STM32_WKUP_PINS */ |
|
|
|
LL_PWR_SetPowerMode(LL_PWR_MODE_STANDBY); |
|
LL_LPM_EnableDeepSleep(); |
|
|
|
k_cpu_idle(); |
|
|
|
CODE_UNREACHABLE; |
|
}
|
|
|