1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00

cpu/efm32/efr32*: model librail integration

This commit is contained in:
Jue 2022-10-13 22:33:36 +02:00
parent 19b69d785a
commit 65d4c046a8
11 changed files with 32 additions and 2 deletions

View File

@ -3,6 +3,9 @@ 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
@ -22,6 +25,9 @@ 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

View File

@ -6,6 +6,9 @@ include $(RIOTCPU)/efm32/efm32-info.mk
# `cpu_$(CPU_FAM)` for something that is MODULE related.
include $(RIOTCPU)/efm32/families/$(CPU_FAM)/Makefile.include
# Export vars for Gecko SDK librail Makefile
export EFM32_LIBRAIL_BLOB_NAME
ifeq (,$(EFM32_HEADER))
$(error Header file for $(CPU_MODEL) is missing)
endif

View File

@ -11,6 +11,7 @@ config CPU_FAM_EFR32MG12P
select CPU_EFM32_SERIES1
select HAS_PERIPH_HWRNG
select HAS_CORTEXM_MPU
select HAS_GECKO_SDK_LIBRAIL_NONFPU
config MODULE_CPU_EFR32MG12P
bool

View File

@ -0,0 +1 @@
FEATURES_PROVIDED += gecko_sdk_librail_nonfpu

View File

@ -3,5 +3,10 @@
# as easy as adding the header file only.
EFM32_HEADER = $(wildcard $(RIOTCPU)/efm32/families/efr32mg12p/include/vendor/$(CPU_MODEL).h)
# Names of librail related files
EFM32_LIBRAIL_BLOB_NAME = efr32xg12
EFM32_LIBRAIL_HEADER_NAME = efr32xg1x
EFM32_LIBRAIL_PA_HEADER_NAME = efr32xg1x
# include vendor device headers
INCLUDES += -I$(RIOTCPU)/efm32/families/efr32mg12p/include/vendor

View File

@ -10,6 +10,7 @@ config CPU_FAM_EFR32MG1B
select CPU_COMMON_EFM32
select CPU_EFM32_SERIES1
select HAS_CORTEXM_MPU
select HAS_GECKO_SDK_LIBRAIL_NONFPU
config MODULE_CPU_EFR32MG1B
bool

View File

@ -0,0 +1 @@
FEATURES_PROVIDED += gecko_sdk_librail_nonfpu

View File

@ -3,5 +3,10 @@
# as easy as adding the header file only.
EFM32_HEADER = $(wildcard $(RIOTCPU)/efm32/families/efr32mg1b/include/vendor/$(CPU_MODEL).h)
# Names of librail related files
EFM32_LIBRAIL_BLOB_NAME = efr32xg1
EFM32_LIBRAIL_HEADER_NAME = efr32xg1x
EFM32_LIBRAIL_PA_HEADER_NAME = efr32xg1x
# include vendor device headers
INCLUDES += -I$(RIOTCPU)/efm32/families/efr32mg1b/include/vendor

View File

@ -10,6 +10,7 @@ config CPU_FAM_EFR32MG1P
select CPU_COMMON_EFM32
select CPU_EFM32_SERIES1
select HAS_CORTEXM_MPU
select HAS_GECKO_SDK_LIBRAIL_NONFPU
config MODULE_CPU_EFR32MG1P
bool

View File

@ -0,0 +1 @@
FEATURES_PROVIDED += gecko_sdk_librail_nonfpu

View File

@ -3,5 +3,10 @@
# as easy as adding the header file only.
EFM32_HEADER = $(wildcard $(RIOTCPU)/efm32/families/efr32mg1p/include/vendor/$(CPU_MODEL).h)
# Names of librail related files
EFM32_LIBRAIL_BLOB_NAME = efr32xg1
EFM32_LIBRAIL_HEADER_NAME = efr32xg1x
EFM32_LIBRAIL_PA_HEADER_NAME = efr32xg1x
# include vendor device headers
INCLUDES += -I$(RIOTCPU)/efm32/families/efr32mg1p/include/vendor