soc: RT600: Add support for suspend-to-idle power state
Call SoC Deep Sleep mode Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
This commit is contained in:
parent
9fecab03ee
commit
cef3912ecf
1 changed files with 14 additions and 0 deletions
|
@ -10,6 +10,17 @@
|
|||
#include <logging/log.h>
|
||||
LOG_MODULE_DECLARE(soc, CONFIG_SOC_LOG_LEVEL);
|
||||
|
||||
/*!< Power down all unnecessary blocks and enable RBB during deep sleep. */
|
||||
#define APP_DEEPSLEEP_RUNCFG0 (SYSCTL0_PDRUNCFG0_LPOSC_PD_MASK | \
|
||||
SYSCTL0_PDSLEEPCFG0_RBB_PD_MASK)
|
||||
#define APP_DEEPSLEEP_RAM_APD 0xFFFFF8U
|
||||
#define APP_DEEPSLEEP_RAM_PPD 0x0U
|
||||
#define APP_EXCLUDE_FROM_DEEPSLEEP \
|
||||
(((const uint32_t[]){APP_DEEPSLEEP_RUNCFG0, \
|
||||
(SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_APD_MASK | \
|
||||
SYSCTL0_PDSLEEPCFG1_FLEXSPI_SRAM_PPD_MASK), \
|
||||
APP_DEEPSLEEP_RAM_APD, APP_DEEPSLEEP_RAM_PPD}))
|
||||
|
||||
/* Invoke Low Power/System Off specific Tasks */
|
||||
void pm_power_state_set(struct pm_state_info info)
|
||||
{
|
||||
|
@ -29,6 +40,9 @@ void pm_power_state_set(struct pm_state_info info)
|
|||
case PM_STATE_RUNTIME_IDLE:
|
||||
POWER_EnterSleep();
|
||||
break;
|
||||
case PM_STATE_SUSPEND_TO_IDLE:
|
||||
POWER_EnterDeepSleep(APP_EXCLUDE_FROM_DEEPSLEEP);
|
||||
break;
|
||||
default:
|
||||
LOG_DBG("Unsupported power state %u", info.state);
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue