32 lines
1012 B
C
32 lines
1012 B
C
|
/*
|
||
|
* Copyright (c) 2024 Nordic Semiconductor ASA
|
||
|
* SPDX-License-Identifier: Apache-2.0
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* @file Common pm_s2ram.h include for Nordic SoCs.
|
||
|
*/
|
||
|
|
||
|
#ifndef _ZEPHYR_SOC_ARM_NORDIC_NRF_PM_S2RAM_H_
|
||
|
#define _ZEPHYR_SOC_ARM_NORDIC_NRF_PM_S2RAM_H_
|
||
|
|
||
|
/**
|
||
|
* @brief Save CPU state on suspend
|
||
|
*
|
||
|
* This function is used on suspend-to-RAM (S2RAM) to save the CPU state in
|
||
|
* (retained) RAM before powering the system off using the provided function.
|
||
|
* This function is usually called from the PM subsystem / hooks.
|
||
|
*
|
||
|
* The CPU state consist of internal registers and peripherals like
|
||
|
* interrupt controller, memory controllers, etc.
|
||
|
*
|
||
|
* @param system_off Function to power off the system.
|
||
|
*
|
||
|
* @retval 0 The CPU context was successfully saved and restored.
|
||
|
* @retval -EBUSY The system is busy and cannot be suspended at this time.
|
||
|
* @retval -errno Negative errno code in case of failure.
|
||
|
*/
|
||
|
int soc_s2ram_suspend(pm_s2ram_system_off_fn_t system_off);
|
||
|
|
||
|
#endif /* _ZEPHYR_SOC_ARM_NORDIC_NRF_PM_S2RAM_H_ */
|