From 3d2194f11e465adb2b99dfe85f88fef41ace7500 Mon Sep 17 00:00:00 2001 From: Gerard Marull-Paretas Date: Tue, 18 Jul 2023 10:40:27 +0200 Subject: [PATCH] pm: introduce HAS_PM Add a new Kconfig option that has to be selected by SoCs providing PM hooks. This option will be now required to enable CONFIG_PM. Before this change, CONFIG_PM could always be enabled, regardless of SoC providing any kind of low-power support. Signed-off-by: Gerard Marull-Paretas --- soc/arm/microchip_mec/mec1501/Kconfig.series | 1 + soc/arm/microchip_mec/mec172x/Kconfig.series | 1 + soc/arm/nordic_nrf/Kconfig.defconfig | 2 +- soc/arm/nordic_nrf/nrf51/Kconfig.series | 1 + soc/arm/nordic_nrf/nrf52/Kconfig.series | 1 + soc/arm/nordic_nrf/nrf53/Kconfig.soc | 1 + soc/arm/nordic_nrf/nrf91/Kconfig.series | 1 + soc/arm/nuvoton_npcx/npcx7/Kconfig.series | 1 + soc/arm/nuvoton_npcx/npcx9/Kconfig.series | 1 + soc/arm/nxp_imx/rt/Kconfig.series | 1 + soc/arm/nxp_imx/rt5xx/Kconfig.series | 1 + soc/arm/nxp_imx/rt6xx/Kconfig.series | 1 + soc/arm/nxp_kinetis/ke1xf/Kconfig.series | 1 + soc/arm/silabs_exx32/efm32hg/Kconfig.series | 1 + soc/arm/silabs_exx32/efm32jg12b/Kconfig.series | 1 + soc/arm/silabs_exx32/efm32pg12b/Kconfig.series | 1 + soc/arm/silabs_exx32/efm32pg1b/Kconfig.series | 1 + soc/arm/silabs_exx32/efm32wg/Kconfig.series | 1 + soc/arm/silabs_exx32/efr32bg13p/Kconfig.series | 1 + soc/arm/silabs_exx32/efr32bg22/Kconfig.series | 1 + soc/arm/silabs_exx32/efr32bg27/Kconfig.series | 1 + soc/arm/silabs_exx32/efr32fg13p/Kconfig.series | 1 + soc/arm/silabs_exx32/efr32fg1p/Kconfig.series | 1 + soc/arm/silabs_exx32/efr32mg12p/Kconfig.series | 1 + soc/arm/silabs_exx32/efr32mg21/Kconfig.series | 1 + soc/arm/silabs_exx32/efr32mg24/Kconfig.series | 1 + soc/arm/st_stm32/stm32g0/Kconfig.series | 1 + soc/arm/st_stm32/stm32g4/Kconfig.series | 1 + soc/arm/st_stm32/stm32l0/Kconfig.series | 1 + soc/arm/st_stm32/stm32l4/Kconfig.series | 1 + soc/arm/st_stm32/stm32l5/Kconfig.series | 1 + soc/arm/st_stm32/stm32u5/Kconfig.series | 1 + soc/arm/st_stm32/stm32wb/Kconfig.series | 1 + soc/arm/st_stm32/stm32wba/Kconfig.series | 1 + soc/arm/st_stm32/stm32wl/Kconfig.series | 1 + soc/arm/ti_simplelink/cc13x2_cc26x2/Kconfig.series | 1 + soc/arm/ti_simplelink/cc13x2x7_cc26x2x7/Kconfig.series | 1 + soc/riscv/esp32c3/Kconfig.soc | 1 + soc/riscv/riscv-ite/it8xxx2/Kconfig.series | 1 + soc/xtensa/esp32/Kconfig.soc | 1 + soc/xtensa/esp32s2/Kconfig.soc | 1 + soc/xtensa/intel_adsp/ace/Kconfig.series | 1 + soc/xtensa/intel_adsp/cavs/Kconfig.series | 1 + subsys/pm/Kconfig | 10 ++++++++-- 44 files changed, 51 insertions(+), 3 deletions(-) diff --git a/soc/arm/microchip_mec/mec1501/Kconfig.series b/soc/arm/microchip_mec/mec1501/Kconfig.series index 83683877bf6..d3b679bb557 100644 --- a/soc/arm/microchip_mec/mec1501/Kconfig.series +++ b/soc/arm/microchip_mec/mec1501/Kconfig.series @@ -9,5 +9,6 @@ config SOC_SERIES_MEC1501X select CPU_CORTEX_M4 select CPU_CORTEX_M_HAS_DWT select SOC_FAMILY_MEC + select HAS_PM help Enable support for Microchip MEC Cortex-M4 MCU series diff --git a/soc/arm/microchip_mec/mec172x/Kconfig.series b/soc/arm/microchip_mec/mec172x/Kconfig.series index 77f7d4023c1..cb62a2bbfa9 100644 --- a/soc/arm/microchip_mec/mec172x/Kconfig.series +++ b/soc/arm/microchip_mec/mec172x/Kconfig.series @@ -12,5 +12,6 @@ config SOC_SERIES_MEC172X select CPU_HAS_ARM_MPU select SOC_FAMILY_MEC select HAS_SWO + select HAS_PM help Enable support for Microchip MEC Cortex-M4F MCU series diff --git a/soc/arm/nordic_nrf/Kconfig.defconfig b/soc/arm/nordic_nrf/Kconfig.defconfig index bf4264c734b..18ffeafe020 100644 --- a/soc/arm/nordic_nrf/Kconfig.defconfig +++ b/soc/arm/nordic_nrf/Kconfig.defconfig @@ -29,7 +29,7 @@ config ARCH_HAS_CUSTOM_BUSY_WAIT default y if !QEMU_TARGET config PM - default y if SYS_CLOCK_EXISTS && MULTITHREADING + default y if SYS_CLOCK_EXISTS && MULTITHREADING && HAS_PM config BUILD_OUTPUT_HEX default y diff --git a/soc/arm/nordic_nrf/nrf51/Kconfig.series b/soc/arm/nordic_nrf/nrf51/Kconfig.series index 33f62dc4327..632ec5792fc 100644 --- a/soc/arm/nordic_nrf/nrf51/Kconfig.series +++ b/soc/arm/nordic_nrf/nrf51/Kconfig.series @@ -12,5 +12,6 @@ config SOC_SERIES_NRF51X select XIP select HAS_NRFX select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE + select HAS_PM help Enable support for NRF51 MCU series diff --git a/soc/arm/nordic_nrf/nrf52/Kconfig.series b/soc/arm/nordic_nrf/nrf52/Kconfig.series index 6ff33c5da4c..fc02e76a41b 100644 --- a/soc/arm/nordic_nrf/nrf52/Kconfig.series +++ b/soc/arm/nordic_nrf/nrf52/Kconfig.series @@ -15,5 +15,6 @@ config SOC_SERIES_NRF52X select HAS_NORDIC_DRIVERS select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE select HAS_SWO + select HAS_PM help Enable support for NRF52 MCU series diff --git a/soc/arm/nordic_nrf/nrf53/Kconfig.soc b/soc/arm/nordic_nrf/nrf53/Kconfig.soc index 521964b5ac6..b72528e3aa3 100644 --- a/soc/arm/nordic_nrf/nrf53/Kconfig.soc +++ b/soc/arm/nordic_nrf/nrf53/Kconfig.soc @@ -9,6 +9,7 @@ config SOC_NRF5340_CPUAPP select CPU_HAS_NRF_IDAU select CPU_HAS_FPU select ARMV8_M_DSP + select HAS_PM config SOC_NRF5340_CPUNET bool diff --git a/soc/arm/nordic_nrf/nrf91/Kconfig.series b/soc/arm/nordic_nrf/nrf91/Kconfig.series index 54884ec13d2..971855ef932 100644 --- a/soc/arm/nordic_nrf/nrf91/Kconfig.series +++ b/soc/arm/nordic_nrf/nrf91/Kconfig.series @@ -16,5 +16,6 @@ config SOC_SERIES_NRF91X select XIP select HAS_NRFX select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE + select HAS_PM help Enable support for NRF91 MCU series diff --git a/soc/arm/nuvoton_npcx/npcx7/Kconfig.series b/soc/arm/nuvoton_npcx/npcx7/Kconfig.series index 3fb6921fc09..8f8898388cf 100644 --- a/soc/arm/nuvoton_npcx/npcx7/Kconfig.series +++ b/soc/arm/nuvoton_npcx/npcx7/Kconfig.series @@ -12,5 +12,6 @@ config SOC_SERIES_NPCX7 select CPU_HAS_ARM_MPU select SOC_FAMILY_NPCX select CPU_HAS_CUSTOM_FIXED_SOC_MPU_REGIONS + select HAS_PM help Enable support for Nuvoton NPCX7 series diff --git a/soc/arm/nuvoton_npcx/npcx9/Kconfig.series b/soc/arm/nuvoton_npcx/npcx9/Kconfig.series index 61f258171fb..82423b37059 100644 --- a/soc/arm/nuvoton_npcx/npcx9/Kconfig.series +++ b/soc/arm/nuvoton_npcx/npcx9/Kconfig.series @@ -11,5 +11,6 @@ config SOC_SERIES_NPCX9 select CPU_HAS_FPU select CPU_HAS_ARM_MPU select SOC_FAMILY_NPCX + select HAS_PM help Enable support for Nuvoton NPCX9 series diff --git a/soc/arm/nxp_imx/rt/Kconfig.series b/soc/arm/nxp_imx/rt/Kconfig.series index d1adff60251..0a94b3963b1 100644 --- a/soc/arm/nxp_imx/rt/Kconfig.series +++ b/soc/arm/nxp_imx/rt/Kconfig.series @@ -8,5 +8,6 @@ config SOC_SERIES_IMX_RT select ARM select SOC_FAMILY_IMX select CLOCK_CONTROL + select HAS_PM help Enable support for i.MX RT MCU series diff --git a/soc/arm/nxp_imx/rt5xx/Kconfig.series b/soc/arm/nxp_imx/rt5xx/Kconfig.series index 057e03115be..0acc8090951 100644 --- a/soc/arm/nxp_imx/rt5xx/Kconfig.series +++ b/soc/arm/nxp_imx/rt5xx/Kconfig.series @@ -10,5 +10,6 @@ config SOC_SERIES_IMX_RT5XX select CPU_CORTEX_M_HAS_DWT select SOC_FAMILY_IMX select CLOCK_CONTROL + select HAS_PM help Enable support for i.MX RT5XX Series MCU series diff --git a/soc/arm/nxp_imx/rt6xx/Kconfig.series b/soc/arm/nxp_imx/rt6xx/Kconfig.series index b028afbfa34..bcbf86ff6bf 100644 --- a/soc/arm/nxp_imx/rt6xx/Kconfig.series +++ b/soc/arm/nxp_imx/rt6xx/Kconfig.series @@ -12,5 +12,6 @@ config SOC_SERIES_IMX_RT6XX select CLOCK_CONTROL select CODE_DATA_RELOCATION_SRAM if FLASH_MCUX_FLEXSPI_XIP select PLATFORM_SPECIFIC_INIT + select HAS_PM help Enable support for i.MX RT6XX Series MCU series diff --git a/soc/arm/nxp_kinetis/ke1xf/Kconfig.series b/soc/arm/nxp_kinetis/ke1xf/Kconfig.series index 259e95e8a6d..640bc4ec8fd 100644 --- a/soc/arm/nxp_kinetis/ke1xf/Kconfig.series +++ b/soc/arm/nxp_kinetis/ke1xf/Kconfig.series @@ -32,5 +32,6 @@ config SOC_SERIES_KINETIS_KE1XF select HAS_MCUX_PWT select HAS_MCUX_RCM select PLATFORM_SPECIFIC_INIT + select HAS_PM help Enable support for Kinetis KE1xF MCU series diff --git a/soc/arm/silabs_exx32/efm32hg/Kconfig.series b/soc/arm/silabs_exx32/efm32hg/Kconfig.series index 13c74edb2e6..4acdfa793cc 100644 --- a/soc/arm/silabs_exx32/efm32hg/Kconfig.series +++ b/soc/arm/silabs_exx32/efm32hg/Kconfig.series @@ -12,5 +12,6 @@ config SOC_SERIES_EFM32HG select HAS_SILABS_GECKO select SOC_GECKO_CMU select SOC_GECKO_GPIO + select HAS_PM help Enable support for EFM32 Happy Gecko MCU series diff --git a/soc/arm/silabs_exx32/efm32jg12b/Kconfig.series b/soc/arm/silabs_exx32/efm32jg12b/Kconfig.series index f454316dad4..2d9675430be 100644 --- a/soc/arm/silabs_exx32/efm32jg12b/Kconfig.series +++ b/soc/arm/silabs_exx32/efm32jg12b/Kconfig.series @@ -17,5 +17,6 @@ config SOC_SERIES_EFM32JG12B select SOC_GECKO_EMU select SOC_GECKO_GPIO select SOC_GECKO_TRNG + select HAS_PM help Enable support for EFM32 JadeGecko MCU series diff --git a/soc/arm/silabs_exx32/efm32pg12b/Kconfig.series b/soc/arm/silabs_exx32/efm32pg12b/Kconfig.series index 3f3a3ca39f6..6df3aa9b699 100644 --- a/soc/arm/silabs_exx32/efm32pg12b/Kconfig.series +++ b/soc/arm/silabs_exx32/efm32pg12b/Kconfig.series @@ -20,5 +20,6 @@ config SOC_SERIES_EFM32PG12B select SOC_GECKO_GPIO select SOC_GECKO_TRNG select SOC_GECKO_ADC + select HAS_PM help Enable support for EFM32 PearlGecko MCU series diff --git a/soc/arm/silabs_exx32/efm32pg1b/Kconfig.series b/soc/arm/silabs_exx32/efm32pg1b/Kconfig.series index 9bbf4def762..caeae082a3b 100644 --- a/soc/arm/silabs_exx32/efm32pg1b/Kconfig.series +++ b/soc/arm/silabs_exx32/efm32pg1b/Kconfig.series @@ -18,5 +18,6 @@ config SOC_SERIES_EFM32PG1B select SOC_GECKO_CMU select SOC_GECKO_EMU select SOC_GECKO_GPIO + select HAS_PM help Enable support for EFM32 PearlGecko MCU series diff --git a/soc/arm/silabs_exx32/efm32wg/Kconfig.series b/soc/arm/silabs_exx32/efm32wg/Kconfig.series index 5d6e4f21e44..f339c755e05 100644 --- a/soc/arm/silabs_exx32/efm32wg/Kconfig.series +++ b/soc/arm/silabs_exx32/efm32wg/Kconfig.series @@ -14,5 +14,6 @@ config SOC_SERIES_EFM32WG select HAS_SILABS_GECKO select SOC_GECKO_CMU select SOC_GECKO_GPIO + select HAS_PM help Enable support for EFM32 WonderGecko MCU series diff --git a/soc/arm/silabs_exx32/efr32bg13p/Kconfig.series b/soc/arm/silabs_exx32/efr32bg13p/Kconfig.series index 3fea9b454df..e7f524a026f 100644 --- a/soc/arm/silabs_exx32/efr32bg13p/Kconfig.series +++ b/soc/arm/silabs_exx32/efr32bg13p/Kconfig.series @@ -17,5 +17,6 @@ config SOC_SERIES_EFR32BG13P select SOC_GECKO_CMU select SOC_GECKO_EMU select SOC_GECKO_GPIO + select HAS_PM help Enable support for EFR32BG13P Blue Gecko MCU series diff --git a/soc/arm/silabs_exx32/efr32bg22/Kconfig.series b/soc/arm/silabs_exx32/efr32bg22/Kconfig.series index 776175de925..266d6391725 100644 --- a/soc/arm/silabs_exx32/efr32bg22/Kconfig.series +++ b/soc/arm/silabs_exx32/efr32bg22/Kconfig.series @@ -20,5 +20,6 @@ config SOC_SERIES_EFR32BG22 select SOC_GECKO_CORE select SOC_GECKO_DEV_INIT select SOC_GECKO_SE + select HAS_PM help Enable support for EFR32BG22 Blue Gecko MCU series diff --git a/soc/arm/silabs_exx32/efr32bg27/Kconfig.series b/soc/arm/silabs_exx32/efr32bg27/Kconfig.series index 6118e188629..572e6107f4e 100644 --- a/soc/arm/silabs_exx32/efr32bg27/Kconfig.series +++ b/soc/arm/silabs_exx32/efr32bg27/Kconfig.series @@ -20,5 +20,6 @@ config SOC_SERIES_EFR32BG27 select SOC_GECKO_CORE select SOC_GECKO_DEV_INIT select SOC_GECKO_SE + select HAS_PM help Enable support for EFR32BG27 Blue Gecko MCU series diff --git a/soc/arm/silabs_exx32/efr32fg13p/Kconfig.series b/soc/arm/silabs_exx32/efr32fg13p/Kconfig.series index 1913377b3e7..6f557377579 100644 --- a/soc/arm/silabs_exx32/efr32fg13p/Kconfig.series +++ b/soc/arm/silabs_exx32/efr32fg13p/Kconfig.series @@ -18,5 +18,6 @@ config SOC_SERIES_EFR32FG13P select SOC_GECKO_CMU select SOC_GECKO_GPIO select SOC_GECKO_HAS_ERRATA_RTCC_E201 + select HAS_PM help Enable support for EFR32 FlexGecko MCU series diff --git a/soc/arm/silabs_exx32/efr32fg1p/Kconfig.series b/soc/arm/silabs_exx32/efr32fg1p/Kconfig.series index b2d1ff28744..f8e509faa6d 100644 --- a/soc/arm/silabs_exx32/efr32fg1p/Kconfig.series +++ b/soc/arm/silabs_exx32/efr32fg1p/Kconfig.series @@ -18,5 +18,6 @@ config SOC_SERIES_EFR32FG1P select SOC_GECKO_CMU select SOC_GECKO_GPIO select SOC_GECKO_HAS_ERRATA_RTCC_E201 + select HAS_PM help Enable support for EFR32 FlexGecko MCU series diff --git a/soc/arm/silabs_exx32/efr32mg12p/Kconfig.series b/soc/arm/silabs_exx32/efr32mg12p/Kconfig.series index 510889568f0..7c636daec86 100644 --- a/soc/arm/silabs_exx32/efr32mg12p/Kconfig.series +++ b/soc/arm/silabs_exx32/efr32mg12p/Kconfig.series @@ -19,5 +19,6 @@ config SOC_SERIES_EFR32MG12P select SOC_GECKO_EMU select SOC_GECKO_GPIO select SOC_GECKO_TRNG + select HAS_PM help Enable support for EFR32 Mighty Gecko MCU series diff --git a/soc/arm/silabs_exx32/efr32mg21/Kconfig.series b/soc/arm/silabs_exx32/efr32mg21/Kconfig.series index ab64bea46d1..c22cb8376ee 100644 --- a/soc/arm/silabs_exx32/efr32mg21/Kconfig.series +++ b/soc/arm/silabs_exx32/efr32mg21/Kconfig.series @@ -19,5 +19,6 @@ config SOC_SERIES_EFR32MG21 select SOC_GECKO_EMU select SOC_GECKO_GPIO select SOC_GECKO_SE + select HAS_PM help Enable support for EFR32MG21 Mighty Gecko MCU series diff --git a/soc/arm/silabs_exx32/efr32mg24/Kconfig.series b/soc/arm/silabs_exx32/efr32mg24/Kconfig.series index 7c6d49d2eae..064db296cd8 100644 --- a/soc/arm/silabs_exx32/efr32mg24/Kconfig.series +++ b/soc/arm/silabs_exx32/efr32mg24/Kconfig.series @@ -22,5 +22,6 @@ config SOC_SERIES_EFR32MG24 select SOC_GECKO_GPIO select SOC_GECKO_DEV_INIT select SOC_GECKO_SE + select HAS_PM help Enable support for EFR32MG24 Mighty Gecko MCU series diff --git a/soc/arm/st_stm32/stm32g0/Kconfig.series b/soc/arm/st_stm32/stm32g0/Kconfig.series index 43353332745..acdb926ef61 100644 --- a/soc/arm/st_stm32/stm32g0/Kconfig.series +++ b/soc/arm/st_stm32/stm32g0/Kconfig.series @@ -13,5 +13,6 @@ config SOC_SERIES_STM32G0X select SOC_FAMILY_STM32 select HAS_STM32CUBE select CPU_CORTEX_M_HAS_SYSTICK + select HAS_PM help Enable support for STM32G0 MCU series diff --git a/soc/arm/st_stm32/stm32g4/Kconfig.series b/soc/arm/st_stm32/stm32g4/Kconfig.series index 93fda8ba9a0..6d81e3f1fc1 100644 --- a/soc/arm/st_stm32/stm32g4/Kconfig.series +++ b/soc/arm/st_stm32/stm32g4/Kconfig.series @@ -13,5 +13,6 @@ config SOC_SERIES_STM32G4X select HAS_STM32CUBE select CPU_HAS_ARM_MPU select CLOCK_CONTROL_STM32_CUBE if CLOCK_CONTROL + select HAS_PM help Enable support for STM32G4 MCU series diff --git a/soc/arm/st_stm32/stm32l0/Kconfig.series b/soc/arm/st_stm32/stm32l0/Kconfig.series index c465a922848..950c72d4aa7 100644 --- a/soc/arm/st_stm32/stm32l0/Kconfig.series +++ b/soc/arm/st_stm32/stm32l0/Kconfig.series @@ -11,5 +11,6 @@ config SOC_SERIES_STM32L0X select SOC_FAMILY_STM32 select HAS_STM32CUBE select CPU_CORTEX_M_HAS_SYSTICK + select HAS_PM help Enable support for STM32L0 MCU series diff --git a/soc/arm/st_stm32/stm32l4/Kconfig.series b/soc/arm/st_stm32/stm32l4/Kconfig.series index 084082188b2..33758aadefd 100644 --- a/soc/arm/st_stm32/stm32l4/Kconfig.series +++ b/soc/arm/st_stm32/stm32l4/Kconfig.series @@ -14,5 +14,6 @@ config SOC_SERIES_STM32L4X select HAS_STM32CUBE select CPU_HAS_ARM_MPU select HAS_SWO + select HAS_PM help Enable support for STM32L4 MCU series diff --git a/soc/arm/st_stm32/stm32l5/Kconfig.series b/soc/arm/st_stm32/stm32l5/Kconfig.series index f9447205a53..ffee96473c3 100644 --- a/soc/arm/st_stm32/stm32l5/Kconfig.series +++ b/soc/arm/st_stm32/stm32l5/Kconfig.series @@ -15,5 +15,6 @@ config SOC_SERIES_STM32L5X select ARMV8_M_DSP select CPU_CORTEX_M_HAS_DWT select HAS_STM32CUBE + select HAS_PM help Enable support for STM32L5 MCU series diff --git a/soc/arm/st_stm32/stm32u5/Kconfig.series b/soc/arm/st_stm32/stm32u5/Kconfig.series index 69082b70e1c..99835997a6a 100644 --- a/soc/arm/st_stm32/stm32u5/Kconfig.series +++ b/soc/arm/st_stm32/stm32u5/Kconfig.series @@ -15,5 +15,6 @@ config SOC_SERIES_STM32U5X select ARMV8_M_DSP select CPU_CORTEX_M_HAS_DWT select HAS_STM32CUBE + select HAS_PM help Enable support for STM32U5 MCU series diff --git a/soc/arm/st_stm32/stm32wb/Kconfig.series b/soc/arm/st_stm32/stm32wb/Kconfig.series index 8ba570edfe6..03c9bf95723 100644 --- a/soc/arm/st_stm32/stm32wb/Kconfig.series +++ b/soc/arm/st_stm32/stm32wb/Kconfig.series @@ -13,5 +13,6 @@ config SOC_SERIES_STM32WBX select HAS_STM32CUBE select CPU_HAS_ARM_MPU select HAS_SWO + select HAS_PM help Enable support for STM32WB MCU series diff --git a/soc/arm/st_stm32/stm32wba/Kconfig.series b/soc/arm/st_stm32/stm32wba/Kconfig.series index 7bb4cc44f18..28edaf07790 100644 --- a/soc/arm/st_stm32/stm32wba/Kconfig.series +++ b/soc/arm/st_stm32/stm32wba/Kconfig.series @@ -15,5 +15,6 @@ config SOC_SERIES_STM32WBAX select ARMV8_M_DSP select CPU_CORTEX_M_HAS_DWT select HAS_STM32CUBE + select HAS_PM help Enable support for STM32WBA MCU series diff --git a/soc/arm/st_stm32/stm32wl/Kconfig.series b/soc/arm/st_stm32/stm32wl/Kconfig.series index 3b2645dd6cd..58dcae421ba 100644 --- a/soc/arm/st_stm32/stm32wl/Kconfig.series +++ b/soc/arm/st_stm32/stm32wl/Kconfig.series @@ -12,5 +12,6 @@ config SOC_SERIES_STM32WLX select HAS_STM32CUBE select CPU_HAS_ARM_MPU select CLOCK_CONTROL_STM32_CUBE if CLOCK_CONTROL + select HAS_PM help Enable support for STM32WL MCU series diff --git a/soc/arm/ti_simplelink/cc13x2_cc26x2/Kconfig.series b/soc/arm/ti_simplelink/cc13x2_cc26x2/Kconfig.series index 831ea9734b4..9332a4c0672 100644 --- a/soc/arm/ti_simplelink/cc13x2_cc26x2/Kconfig.series +++ b/soc/arm/ti_simplelink/cc13x2_cc26x2/Kconfig.series @@ -15,5 +15,6 @@ config SOC_SERIES_CC13X2_CC26X2 select HAS_CC13X2_CC26X2_SDK select HAS_TI_CCFG select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE + select HAS_PM help Enable support for TI SimpleLink CC13x2 / CC26x2 SoCs diff --git a/soc/arm/ti_simplelink/cc13x2x7_cc26x2x7/Kconfig.series b/soc/arm/ti_simplelink/cc13x2x7_cc26x2x7/Kconfig.series index aadeed980c4..773b3b85253 100644 --- a/soc/arm/ti_simplelink/cc13x2x7_cc26x2x7/Kconfig.series +++ b/soc/arm/ti_simplelink/cc13x2x7_cc26x2x7/Kconfig.series @@ -15,5 +15,6 @@ config SOC_SERIES_CC13X2X7_CC26X2X7 select HAS_CC13X2X7_CC26X2X7_SDK select HAS_TI_CCFG if !BOOTLOADER_MCUBOOT select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE + select HAS_PM help Enable support for TI SimpleLink CC13x2x7 / CC26x2x7 SoCs diff --git a/soc/riscv/esp32c3/Kconfig.soc b/soc/riscv/esp32c3/Kconfig.soc index 63321375841..56d2a64a63c 100644 --- a/soc/riscv/esp32c3/Kconfig.soc +++ b/soc/riscv/esp32c3/Kconfig.soc @@ -14,6 +14,7 @@ config SOC_ESP32C3 select RISCV_ISA_EXT_M select RISCV_ISA_EXT_C select RISCV_ISA_EXT_ZICSR + select HAS_PM if SOC_ESP32C3 diff --git a/soc/riscv/riscv-ite/it8xxx2/Kconfig.series b/soc/riscv/riscv-ite/it8xxx2/Kconfig.series index a30d1e55438..ebed0fcd120 100644 --- a/soc/riscv/riscv-ite/it8xxx2/Kconfig.series +++ b/soc/riscv/riscv-ite/it8xxx2/Kconfig.series @@ -8,5 +8,6 @@ config SOC_SERIES_RISCV32_IT8XXX2 # default in most toolchains, causing link-time errors. select CPU_HAS_FPU if "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "zephyr" || RISCV_ISA_EXT_M select SOC_FAMILY_RISCV_ITE + select HAS_PM help Enable support for ITE IT8XXX2 diff --git a/soc/xtensa/esp32/Kconfig.soc b/soc/xtensa/esp32/Kconfig.soc index e6f5a3de42e..9e4e0e6892f 100644 --- a/soc/xtensa/esp32/Kconfig.soc +++ b/soc/xtensa/esp32/Kconfig.soc @@ -12,6 +12,7 @@ config SOC_ESP32 select XIP if !MCUBOOT select HAS_ESPRESSIF_HAL select CPU_HAS_FPU + select HAS_PM if SOC_ESP32 diff --git a/soc/xtensa/esp32s2/Kconfig.soc b/soc/xtensa/esp32s2/Kconfig.soc index 4792cda7a4d..eef1a489ea2 100644 --- a/soc/xtensa/esp32s2/Kconfig.soc +++ b/soc/xtensa/esp32s2/Kconfig.soc @@ -11,6 +11,7 @@ config SOC_ESP32S2 select XIP if !MCUBOOT select HAS_ESPRESSIF_HAL select ARCH_SUPPORTS_COREDUMP + select HAS_PM if SOC_ESP32S2 diff --git a/soc/xtensa/intel_adsp/ace/Kconfig.series b/soc/xtensa/intel_adsp/ace/Kconfig.series index 8b4f8e61436..963c33bdf61 100644 --- a/soc/xtensa/intel_adsp/ace/Kconfig.series +++ b/soc/xtensa/intel_adsp/ace/Kconfig.series @@ -11,5 +11,6 @@ config SOC_SERIES_INTEL_ACE select SCHED_IPI_SUPPORTED select DW_ICTL_ACE select SOC_HAS_RUNTIME_NUM_CPUS + select HAS_PM help Intel ADSP ACE diff --git a/soc/xtensa/intel_adsp/cavs/Kconfig.series b/soc/xtensa/intel_adsp/cavs/Kconfig.series index 1f398025eb4..adbc1f39e1d 100644 --- a/soc/xtensa/intel_adsp/cavs/Kconfig.series +++ b/soc/xtensa/intel_adsp/cavs/Kconfig.series @@ -10,5 +10,6 @@ config SOC_SERIES_INTEL_ADSP_CAVS select XTENSA_USE_CORE_CRT1 select ATOMIC_OPERATIONS_BUILTIN if "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "xcc" select ARCH_HAS_COHERENCE + select HAS_PM help Intel ADSP CAVS diff --git a/subsys/pm/Kconfig b/subsys/pm/Kconfig index 3a66d736c41..36535e383a1 100644 --- a/subsys/pm/Kconfig +++ b/subsys/pm/Kconfig @@ -4,9 +4,15 @@ menu "Power Management" -menuconfig PM +config HAS_PM + bool + help + This option must be selected by SoCs that provide PM hooks, that is, + calls to configure low-power states. + +config PM bool "System Power Management" - depends on SYS_CLOCK_EXISTS + depends on SYS_CLOCK_EXISTS && HAS_PM help This option enables the board to implement extra power management policies whenever the kernel becomes idle. The kernel informs the