1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 11:12:44 +01:00
RIOT/cpu/efm32/Makefile.features
Marian Buschsieweke bd3f54ac8f
drivers/periph_gpio_ll: Add features for compile-time-checks
This adds the features

 - periph_gpio_ll_input_pull_down:
        To indicate support for input mode with internal pull down
 - periph_gpio_ll_input_pull_keep:
        To indicate support for input mode with internal resistor
        pulling towards current level
 - periph_gpio_ll_input_pull_up:
        To indicate support for input mode with internal pull up
 - periph_gpio_ll_disconnect:
        To indicate a GPIO can be disconnected
 - periph_gpio_ll_open_drain:
        To indicate support for open drain mode
 - periph_gpio_ll_open_drain_pull_up:
        To indicate support for open drain mode with internal pull up
 - periph_gpio_ll_open_source:
        To indicate support for open source mode
 - periph_gpio_ll_open_source_pull_down:
        To indicate support for open source mode with internal pull down
2024-01-23 15:03:34 +01:00

59 lines
1.9 KiB
Makefile

include $(RIOTCPU)/efm32/efm32-info.mk
include $(RIOTCPU)/efm32/efm32-features.mk
CPU_CORE = $(EFM32_ARCHITECTURE)
# allow CPU families to add features individually
-include $(RIOTCPU)/efm32/families/$(CPU_FAM)/Makefile.features
# families without MPU
ifeq (,$(filter efm32zg efm32hg, $(CPU_FAM)))
FEATURES_PROVIDED += cortexm_mpu
endif
FEATURES_PROVIDED += arch_efm32
FEATURES_PROVIDED += periph_cpuid
FEATURES_PROVIDED += periph_flashpage
FEATURES_PROVIDED += periph_flashpage_in_address_space
FEATURES_PROVIDED += periph_flashpage_pagewise
FEATURES_PROVIDED += periph_gpio periph_gpio_irq
FEATURES_PROVIDED += periph_gpio_ll
FEATURES_PROVIDED += periph_gpio_ll_disconnect
FEATURES_PROVIDED += periph_gpio_ll_input_pull_down
FEATURES_PROVIDED += periph_gpio_ll_input_pull_up
FEATURES_PROVIDED += periph_gpio_ll_open_drain
FEATURES_PROVIDED += periph_gpio_ll_open_drain_pull_up
FEATURES_PROVIDED += periph_gpio_ll_open_source
FEATURES_PROVIDED += periph_gpio_ll_open_source_pull_down
FEATURES_PROVIDED += periph_rtt_set_counter
FEATURES_PROVIDED += periph_rtt_overflow
FEATURES_PROVIDED += periph_uart_modecfg
FEATURES_PROVIDED += periph_wdt
FEATURES_CONFLICT += periph_rtc:periph_rtt
FEATURES_CONFLICT_MSG += "On the EFM32, the RTC and RTT map to the same hardware peripheral."
FEATURES_CONFLICT += cortexm_fpu:gecko_sdk_librail_nonfpu
FEATURES_CONFLICT_MSG += "Using librail with the FPU enabled is not supported on this CPU."
ifeq (1,$(EFM32_TRNG))
FEATURES_PROVIDED += periph_hwrng
endif
ifneq (,$(filter $(EFM32_SERIES),1 2))
FEATURES_PROVIDED += periph_wdt_cb
endif
ifeq (1,$(EFM32_LEUART_ENABLED))
CFLAGS += -DEFM32_LEUART_ENABLED=1
endif
include $(RIOTCPU)/cortexm_common/Makefile.features
# Add efm32 configurations after including cortexm_common so efm32 takes precendence
# This configuration enables modules that are only available when using Kconfig
# module modelling
ifeq (1,$(TEST_KCONFIG))
KCONFIG_CPU_CONFIG += $(RIOTCPU)/efm32/efm32.config
endif