1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

Merge pull request #15865 from benpicco/pm_layered-default

cpu: make pm_layered a DEFAULT_MODULE
This commit is contained in:
Francisco 2021-02-03 08:17:29 +01:00 committed by GitHub
commit 3b2a55a923
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 32 additions and 27 deletions

View File

@ -87,8 +87,11 @@ endif
# always select gpio (until explicit dependencies are sorted out)
FEATURES_OPTIONAL += periph_gpio
# always select power management if available
FEATURES_OPTIONAL += periph_pm
# always select power management unless building the bootloader
# pm is not needed by the bootloader and omitting it saves some ROM
ifneq (1, $(RIOTBOOT_BUILD))
FEATURES_OPTIONAL += periph_pm
endif
# always select provided architecture features
FEATURES_REQUIRED += $(filter arch_%,$(FEATURES_PROVIDED))

View File

@ -5,6 +5,7 @@ endif
# used for software reset
ifneq (,$(filter board_software_reset,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_pm
endif
include $(RIOTBOARD)/common/nrf52/Makefile.dep

View File

@ -16,6 +16,7 @@ CFLAGS += -DRIOTBOOT
CFLAGS += -DNDEBUG -DLOG_LEVEL=LOG_NONE
DISABLE_MODULE += core_init core_msg core_panic
DISABLE_MODULE += auto_init auto_init_%
DISABLE_MODULE += pm_layered
# avoid using stdio
USEMODULE += stdio_null

View File

@ -0,0 +1 @@
DEFAULT_MODULE += pm_layered

View File

@ -13,6 +13,4 @@ ifneq (,$(filter periph_uart_nonblocking,$(USEMODULE)))
USEMODULE += tsrb
endif
USEMODULE += pm_layered
include $(RIOTCPU)/cortexm_common/Makefile.dep

View File

@ -0,0 +1 @@
DEFAULT_MODULE += pm_layered

View File

@ -13,9 +13,6 @@ endif
# include Gecko SDK package
USEPKG += gecko_sdk
# include layered power management
USEMODULE += pm_layered
ifneq (,$(filter efm32_coretemp,$(USEMODULE)))
FEATURES_REQUIRED += periph_adc
endif

View File

@ -0,0 +1 @@
DEFAULT_MODULE += pm_layered

View File

@ -5,7 +5,6 @@ include $(RIOTCPU)/esp_common/Makefile.dep
USEMODULE += esp_idf_driver
USEMODULE += esp_idf_esp32
USEMODULE += esp_idf_soc
USEMODULE += pm_layered
ifneq (,$(filter newlib,$(USEMODULE)))
USEMODULE += newlib_nano

View File

@ -0,0 +1 @@
DEFAULT_MODULE += pm_layered

View File

@ -21,6 +21,5 @@ else ifneq (,$(filter periph_mcg_lite,$(FEATURES_USED)))
endif
USEMODULE += periph_wdog
USEMODULE += pm_layered
include $(RIOTCPU)/cortexm_common/Makefile.dep

View File

@ -0,0 +1 @@
DEFAULT_MODULE += pm_layered

View File

@ -1,3 +1 @@
USEMODULE += pm_layered
include $(RIOTCPU)/cortexm_common/Makefile.dep

View File

@ -0,0 +1 @@
DEFAULT_MODULE += pm_layered

View File

@ -1,7 +1,6 @@
USEMODULE += arm7_common
USEMODULE += bitfield
USEMODULE += periph
USEMODULE += pm_layered
ifneq (,$(filter mci,$(USEMODULE)))
USEMODULE += xtimer

View File

@ -0,0 +1 @@
DEFAULT_MODULE += pm_layered

View File

@ -6,9 +6,6 @@ ifneq (,$(filter periph_rtc periph_rtt,$(USEMODULE)))
USEMODULE += periph_rtc_rtt
endif
# All SAM0 based CPUs provide PM
USEMODULE += pm_layered
# include sam0 common periph drivers
USEMODULE += sam0_common_periph

View File

@ -0,0 +1 @@
include $(RIOTCPU)/sam0_common/Makefile.default

View File

@ -0,0 +1 @@
include $(RIOTCPU)/sam0_common/Makefile.default

View File

@ -0,0 +1 @@
include $(RIOTCPU)/sam0_common/Makefile.default

View File

@ -0,0 +1 @@
include $(RIOTCPU)/sam0_common/Makefile.default

View File

@ -0,0 +1 @@
DEFAULT_MODULE += pm_layered

View File

@ -1,5 +1,4 @@
# All stm32 families provide pm support
USEMODULE += pm_layered
# include stm32 common periph drivers, clock configurations and vectors
USEMODULE += periph stm32_clk stm32_vectors

View File

@ -98,11 +98,6 @@ extern "C" {
#define CPUID_ADDR (UID_BASE)
#endif
/**
* @brief We provide our own pm_off() function for all STM32-based CPUs
*/
#define PROVIDES_PM_LAYERED_OFF
/**
* @brief All STM timers have 4 capture-compare channels
*/

View File

@ -151,9 +151,3 @@ void pm_set(unsigned mode)
#endif
}
}
void pm_off(void)
{
irq_disable();
pm_set(0);
}

View File

@ -732,6 +732,10 @@ ifneq (,$(filter phydat,$(USEMODULE)))
USEMODULE += fmt
endif
ifneq (,$(filter pm_layered,$(USEMODULE)))
FEATURES_REQUIRED += periph_pm
endif
ifneq (,$(filter evtimer_mbox,$(USEMODULE)))
USEMODULE += evtimer
USEMODULE += core_mbox
@ -1015,6 +1019,7 @@ ifneq (,$(filter riotboot_usb_dfu, $(USEMODULE)))
USEMODULE += usbus_dfu
USEMODULE += riotboot_flashwrite
FEATURES_REQUIRED += no_idle_thread
FEATURES_REQUIRED += periph_pm
endif
ifneq (,$(filter irq_handler,$(USEMODULE)))

View File

@ -62,14 +62,22 @@ typedef union {
*
* @param[in] mode power mode to block
*/
#ifdef MODULE_PM_LAYERED
void pm_block(unsigned mode);
#else
static inline void pm_block(unsigned mode) { (void)mode; }
#endif
/**
* @brief Unblock a power mode
*
* @param[in] mode power mode to unblock
*/
#ifdef MODULE_PM_LAYERED
void pm_unblock(unsigned mode);
#else
static inline void pm_unblock(unsigned mode) { (void)mode; }
#endif
/**
* @brief Switches the MCU to a new power mode