From 4bb6a764eaa2620d92ec48ef98ab62b4fa8ecd9b Mon Sep 17 00:00:00 2001 From: Jue Date: Thu, 17 Feb 2022 11:09:24 +0100 Subject: [PATCH] cpu/efm32: select series-specific drivers in periph Makefile This will allow to share implementations across a subset of EFM32 series. --- cpu/efm32/Makefile.dep | 12 ------------ cpu/efm32/periph/Makefile | 29 +++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/cpu/efm32/Makefile.dep b/cpu/efm32/Makefile.dep index b7f90bf5ae..7a941bad49 100644 --- a/cpu/efm32/Makefile.dep +++ b/cpu/efm32/Makefile.dep @@ -1,15 +1,3 @@ -ifneq (,$(filter periph_rtc,$(USEMODULE))) - USEMODULE += periph_rtc_series$(EFM32_SERIES) -endif - -ifneq (,$(filter periph_rtt,$(USEMODULE))) - USEMODULE += periph_rtt_series$(EFM32_SERIES) -endif - -ifneq (,$(filter periph_wdt,$(USEMODULE))) - USEMODULE += periph_wdt_series$(EFM32_SERIES) -endif - # include Gecko SDK package USEPKG += gecko_sdk diff --git a/cpu/efm32/periph/Makefile b/cpu/efm32/periph/Makefile index a36df249ac..6d8e5f3974 100644 --- a/cpu/efm32/periph/Makefile +++ b/cpu/efm32/periph/Makefile @@ -1 +1,30 @@ +include $(RIOTCPU)/efm32/efm32-info.mk + +# Select the correct implementation for `periph_rtc` +ifneq (,$(filter periph_rtc,$(USEMODULE))) + ifeq (0,$(EFM32_SERIES)) + SRC += rtc_series0.c + else ifeq (1,$(EFM32_SERIES)) + SRC += rtc_series1.c + endif +endif + +# Select the correct implementation for `periph_rtt` +ifneq (,$(filter periph_rtt,$(USEMODULE))) + ifeq (0,$(EFM32_SERIES)) + SRC += rtt_series0.c + else ifeq (1,$(EFM32_SERIES)) + SRC += rtt_series1.c + endif +endif + +# Select the correct implementation for `periph_wdt` +ifneq (,$(filter periph_wdt,$(USEMODULE))) + ifeq (0,$(EFM32_SERIES)) + SRC += wdt_series0.c + else ifeq (1,$(EFM32_SERIES)) + SRC += wdt_series1.c + endif +endif + include $(RIOTMAKE)/periph.mk