soc: arm: ti_simplelink: cc13x2_cc26x2: add support for sys_poweroff
Implement sys_poweroff() hooks, based on previous SOFT_OFF implementation. Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This commit is contained in:
parent
af3b04238e
commit
c315c9b97c
4 changed files with 21 additions and 10 deletions
|
@ -5,7 +5,9 @@
|
||||||
zephyr_sources(soc.c)
|
zephyr_sources(soc.c)
|
||||||
zephyr_sources(ccfg.c)
|
zephyr_sources(ccfg.c)
|
||||||
|
|
||||||
zephyr_library_sources_ifdef(CONFIG_PM power.c)
|
if(CONFIG_PM OR CONFIG_POWEROFF)
|
||||||
zephyr_library_sources_ifdef(CONFIG_PM_DEVICE power.c)
|
zephyr_library_sources(power.c)
|
||||||
|
endif()
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_POWEROFF poweroff.c)
|
||||||
|
|
||||||
zephyr_linker_sources_ifdef(CONFIG_HAS_TI_CCFG SECTIONS ccfg.ld)
|
zephyr_linker_sources_ifdef(CONFIG_HAS_TI_CCFG SECTIONS ccfg.ld)
|
||||||
|
|
|
@ -16,5 +16,6 @@ config SOC_SERIES_CC13X2_CC26X2
|
||||||
select HAS_TI_CCFG
|
select HAS_TI_CCFG
|
||||||
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
|
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
|
||||||
select HAS_PM
|
select HAS_PM
|
||||||
|
select HAS_POWEROFF
|
||||||
help
|
help
|
||||||
Enable support for TI SimpleLink CC13x2 / CC26x2 SoCs
|
Enable support for TI SimpleLink CC13x2 / CC26x2 SoCs
|
||||||
|
|
|
@ -54,7 +54,6 @@ extern PowerCC26X2_ModuleState PowerCC26X2_module;
|
||||||
* Power state mapping:
|
* Power state mapping:
|
||||||
* PM_STATE_SUSPEND_TO_IDLE: Idle
|
* PM_STATE_SUSPEND_TO_IDLE: Idle
|
||||||
* PM_STATE_STANDBY: Standby
|
* PM_STATE_STANDBY: Standby
|
||||||
* PM_STATE_SUSPEND_TO_RAM | PM_STATE_SUSPEND_TO_DISK: Shutdown
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Invoke Low Power/System Off specific Tasks */
|
/* Invoke Low Power/System Off specific Tasks */
|
||||||
|
@ -106,13 +105,6 @@ void pm_state_set(enum pm_state state, uint8_t substate_id)
|
||||||
/* go to standby mode */
|
/* go to standby mode */
|
||||||
Power_sleep(PowerCC26XX_STANDBY);
|
Power_sleep(PowerCC26XX_STANDBY);
|
||||||
break;
|
break;
|
||||||
case PM_STATE_SUSPEND_TO_RAM:
|
|
||||||
__fallthrough;
|
|
||||||
case PM_STATE_SUSPEND_TO_DISK:
|
|
||||||
__fallthrough;
|
|
||||||
case PM_STATE_SOFT_OFF:
|
|
||||||
Power_shutdown(0, 0);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
LOG_DBG("Unsupported power state %u", state);
|
LOG_DBG("Unsupported power state %u", state);
|
||||||
break;
|
break;
|
||||||
|
|
16
soc/arm/ti_simplelink/cc13x2_cc26x2/poweroff.c
Normal file
16
soc/arm/ti_simplelink/cc13x2_cc26x2/poweroff.c
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2023 Nordic Semiconductor ASA
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <zephyr/sys/poweroff.h>
|
||||||
|
#include <zephyr/toolchain.h>
|
||||||
|
|
||||||
|
#include <ti/drivers/Power.h>
|
||||||
|
|
||||||
|
void z_sys_poweroff(void)
|
||||||
|
{
|
||||||
|
Power_shutdown(0, 0);
|
||||||
|
|
||||||
|
CODE_UNREACHABLE;
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue