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:
commit
3b2a55a923
@ -87,8 +87,11 @@ endif
|
|||||||
# always select gpio (until explicit dependencies are sorted out)
|
# always select gpio (until explicit dependencies are sorted out)
|
||||||
FEATURES_OPTIONAL += periph_gpio
|
FEATURES_OPTIONAL += periph_gpio
|
||||||
|
|
||||||
# always select power management if available
|
# always select power management unless building the bootloader
|
||||||
FEATURES_OPTIONAL += periph_pm
|
# 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
|
# always select provided architecture features
|
||||||
FEATURES_REQUIRED += $(filter arch_%,$(FEATURES_PROVIDED))
|
FEATURES_REQUIRED += $(filter arch_%,$(FEATURES_PROVIDED))
|
||||||
|
@ -5,6 +5,7 @@ endif
|
|||||||
# used for software reset
|
# used for software reset
|
||||||
ifneq (,$(filter board_software_reset,$(USEMODULE)))
|
ifneq (,$(filter board_software_reset,$(USEMODULE)))
|
||||||
FEATURES_REQUIRED += periph_gpio_irq
|
FEATURES_REQUIRED += periph_gpio_irq
|
||||||
|
FEATURES_REQUIRED += periph_pm
|
||||||
endif
|
endif
|
||||||
|
|
||||||
include $(RIOTBOARD)/common/nrf52/Makefile.dep
|
include $(RIOTBOARD)/common/nrf52/Makefile.dep
|
||||||
|
@ -16,6 +16,7 @@ CFLAGS += -DRIOTBOOT
|
|||||||
CFLAGS += -DNDEBUG -DLOG_LEVEL=LOG_NONE
|
CFLAGS += -DNDEBUG -DLOG_LEVEL=LOG_NONE
|
||||||
DISABLE_MODULE += core_init core_msg core_panic
|
DISABLE_MODULE += core_init core_msg core_panic
|
||||||
DISABLE_MODULE += auto_init auto_init_%
|
DISABLE_MODULE += auto_init auto_init_%
|
||||||
|
DISABLE_MODULE += pm_layered
|
||||||
|
|
||||||
# avoid using stdio
|
# avoid using stdio
|
||||||
USEMODULE += stdio_null
|
USEMODULE += stdio_null
|
||||||
|
1
cpu/cc2538/Makefile.default
Normal file
1
cpu/cc2538/Makefile.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
DEFAULT_MODULE += pm_layered
|
@ -13,6 +13,4 @@ ifneq (,$(filter periph_uart_nonblocking,$(USEMODULE)))
|
|||||||
USEMODULE += tsrb
|
USEMODULE += tsrb
|
||||||
endif
|
endif
|
||||||
|
|
||||||
USEMODULE += pm_layered
|
|
||||||
|
|
||||||
include $(RIOTCPU)/cortexm_common/Makefile.dep
|
include $(RIOTCPU)/cortexm_common/Makefile.dep
|
||||||
|
1
cpu/efm32/Makefile.default
Normal file
1
cpu/efm32/Makefile.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
DEFAULT_MODULE += pm_layered
|
@ -13,9 +13,6 @@ endif
|
|||||||
# include Gecko SDK package
|
# include Gecko SDK package
|
||||||
USEPKG += gecko_sdk
|
USEPKG += gecko_sdk
|
||||||
|
|
||||||
# include layered power management
|
|
||||||
USEMODULE += pm_layered
|
|
||||||
|
|
||||||
ifneq (,$(filter efm32_coretemp,$(USEMODULE)))
|
ifneq (,$(filter efm32_coretemp,$(USEMODULE)))
|
||||||
FEATURES_REQUIRED += periph_adc
|
FEATURES_REQUIRED += periph_adc
|
||||||
endif
|
endif
|
||||||
|
1
cpu/esp32/Makefile.default
Normal file
1
cpu/esp32/Makefile.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
DEFAULT_MODULE += pm_layered
|
@ -5,7 +5,6 @@ include $(RIOTCPU)/esp_common/Makefile.dep
|
|||||||
USEMODULE += esp_idf_driver
|
USEMODULE += esp_idf_driver
|
||||||
USEMODULE += esp_idf_esp32
|
USEMODULE += esp_idf_esp32
|
||||||
USEMODULE += esp_idf_soc
|
USEMODULE += esp_idf_soc
|
||||||
USEMODULE += pm_layered
|
|
||||||
|
|
||||||
ifneq (,$(filter newlib,$(USEMODULE)))
|
ifneq (,$(filter newlib,$(USEMODULE)))
|
||||||
USEMODULE += newlib_nano
|
USEMODULE += newlib_nano
|
||||||
|
1
cpu/kinetis/Makefile.default
Normal file
1
cpu/kinetis/Makefile.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
DEFAULT_MODULE += pm_layered
|
@ -21,6 +21,5 @@ else ifneq (,$(filter periph_mcg_lite,$(FEATURES_USED)))
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
USEMODULE += periph_wdog
|
USEMODULE += periph_wdog
|
||||||
USEMODULE += pm_layered
|
|
||||||
|
|
||||||
include $(RIOTCPU)/cortexm_common/Makefile.dep
|
include $(RIOTCPU)/cortexm_common/Makefile.dep
|
||||||
|
1
cpu/lpc1768/Makefile.default
Normal file
1
cpu/lpc1768/Makefile.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
DEFAULT_MODULE += pm_layered
|
@ -1,3 +1 @@
|
|||||||
USEMODULE += pm_layered
|
|
||||||
|
|
||||||
include $(RIOTCPU)/cortexm_common/Makefile.dep
|
include $(RIOTCPU)/cortexm_common/Makefile.dep
|
||||||
|
1
cpu/lpc23xx/Makefile.default
Normal file
1
cpu/lpc23xx/Makefile.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
DEFAULT_MODULE += pm_layered
|
@ -1,7 +1,6 @@
|
|||||||
USEMODULE += arm7_common
|
USEMODULE += arm7_common
|
||||||
USEMODULE += bitfield
|
USEMODULE += bitfield
|
||||||
USEMODULE += periph
|
USEMODULE += periph
|
||||||
USEMODULE += pm_layered
|
|
||||||
|
|
||||||
ifneq (,$(filter mci,$(USEMODULE)))
|
ifneq (,$(filter mci,$(USEMODULE)))
|
||||||
USEMODULE += xtimer
|
USEMODULE += xtimer
|
||||||
|
1
cpu/sam0_common/Makefile.default
Normal file
1
cpu/sam0_common/Makefile.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
DEFAULT_MODULE += pm_layered
|
@ -6,9 +6,6 @@ ifneq (,$(filter periph_rtc periph_rtt,$(USEMODULE)))
|
|||||||
USEMODULE += periph_rtc_rtt
|
USEMODULE += periph_rtc_rtt
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# All SAM0 based CPUs provide PM
|
|
||||||
USEMODULE += pm_layered
|
|
||||||
|
|
||||||
# include sam0 common periph drivers
|
# include sam0 common periph drivers
|
||||||
USEMODULE += sam0_common_periph
|
USEMODULE += sam0_common_periph
|
||||||
|
|
||||||
|
1
cpu/samd21/Makefile.default
Normal file
1
cpu/samd21/Makefile.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
include $(RIOTCPU)/sam0_common/Makefile.default
|
1
cpu/samd5x/Makefile.default
Normal file
1
cpu/samd5x/Makefile.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
include $(RIOTCPU)/sam0_common/Makefile.default
|
1
cpu/saml1x/Makefile.default
Normal file
1
cpu/saml1x/Makefile.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
include $(RIOTCPU)/sam0_common/Makefile.default
|
1
cpu/saml21/Makefile.default
Normal file
1
cpu/saml21/Makefile.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
include $(RIOTCPU)/sam0_common/Makefile.default
|
1
cpu/stm32/Makefile.default
Normal file
1
cpu/stm32/Makefile.default
Normal file
@ -0,0 +1 @@
|
|||||||
|
DEFAULT_MODULE += pm_layered
|
@ -1,5 +1,4 @@
|
|||||||
# All stm32 families provide pm support
|
# All stm32 families provide pm support
|
||||||
USEMODULE += pm_layered
|
|
||||||
|
|
||||||
# include stm32 common periph drivers, clock configurations and vectors
|
# include stm32 common periph drivers, clock configurations and vectors
|
||||||
USEMODULE += periph stm32_clk stm32_vectors
|
USEMODULE += periph stm32_clk stm32_vectors
|
||||||
|
@ -98,11 +98,6 @@ extern "C" {
|
|||||||
#define CPUID_ADDR (UID_BASE)
|
#define CPUID_ADDR (UID_BASE)
|
||||||
#endif
|
#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
|
* @brief All STM timers have 4 capture-compare channels
|
||||||
*/
|
*/
|
||||||
|
@ -151,9 +151,3 @@ void pm_set(unsigned mode)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void pm_off(void)
|
|
||||||
{
|
|
||||||
irq_disable();
|
|
||||||
pm_set(0);
|
|
||||||
}
|
|
||||||
|
@ -732,6 +732,10 @@ ifneq (,$(filter phydat,$(USEMODULE)))
|
|||||||
USEMODULE += fmt
|
USEMODULE += fmt
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq (,$(filter pm_layered,$(USEMODULE)))
|
||||||
|
FEATURES_REQUIRED += periph_pm
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter evtimer_mbox,$(USEMODULE)))
|
ifneq (,$(filter evtimer_mbox,$(USEMODULE)))
|
||||||
USEMODULE += evtimer
|
USEMODULE += evtimer
|
||||||
USEMODULE += core_mbox
|
USEMODULE += core_mbox
|
||||||
@ -1015,6 +1019,7 @@ ifneq (,$(filter riotboot_usb_dfu, $(USEMODULE)))
|
|||||||
USEMODULE += usbus_dfu
|
USEMODULE += usbus_dfu
|
||||||
USEMODULE += riotboot_flashwrite
|
USEMODULE += riotboot_flashwrite
|
||||||
FEATURES_REQUIRED += no_idle_thread
|
FEATURES_REQUIRED += no_idle_thread
|
||||||
|
FEATURES_REQUIRED += periph_pm
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter irq_handler,$(USEMODULE)))
|
ifneq (,$(filter irq_handler,$(USEMODULE)))
|
||||||
|
@ -62,14 +62,22 @@ typedef union {
|
|||||||
*
|
*
|
||||||
* @param[in] mode power mode to block
|
* @param[in] mode power mode to block
|
||||||
*/
|
*/
|
||||||
|
#ifdef MODULE_PM_LAYERED
|
||||||
void pm_block(unsigned mode);
|
void pm_block(unsigned mode);
|
||||||
|
#else
|
||||||
|
static inline void pm_block(unsigned mode) { (void)mode; }
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Unblock a power mode
|
* @brief Unblock a power mode
|
||||||
*
|
*
|
||||||
* @param[in] mode power mode to unblock
|
* @param[in] mode power mode to unblock
|
||||||
*/
|
*/
|
||||||
|
#ifdef MODULE_PM_LAYERED
|
||||||
void pm_unblock(unsigned mode);
|
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
|
* @brief Switches the MCU to a new power mode
|
||||||
|
Loading…
Reference in New Issue
Block a user