diff --git a/boards/common/slwstk6000b/Makefile.features b/boards/common/slwstk6000b/Makefile.features index 69f83b7559..a32588dc27 100644 --- a/boards/common/slwstk6000b/Makefile.features +++ b/boards/common/slwstk6000b/Makefile.features @@ -1,5 +1,14 @@ CPU = efm32 -# TODO move CPU_MODEL here based on the daughter board + +# The radio board connected to the slwstk6000b mainboard +BOARD_MODULE = $(word 2, $(subst -, ,$(BOARD))) + +include $(RIOTBOARD)/common/slwstk6000b/slwstk6000b.info.mk +CPU_MODEL = $(word 1, $(SLWSTK6000B_MAINBOARD_VARS_$(BOARD_MODULE))) + +ifeq (,$(CPU_MODEL)) + $(error $(BOARD_MODULE) can not be used with slwstk600b mainboard) +endif # Put defined MCU peripherals here (in alphabetical order) FEATURES_PROVIDED += periph_adc diff --git a/boards/common/slwstk6000b/Makefile.include b/boards/common/slwstk6000b/Makefile.include index c216f7d05f..eca05dc67d 100644 --- a/boards/common/slwstk6000b/Makefile.include +++ b/boards/common/slwstk6000b/Makefile.include @@ -1,7 +1,5 @@ -include $(RIOTBOARD)/common/slwstk6000b/module-info.mk - INCLUDES += -I$(RIOTBOARD)/common/slwstk6000b/include -# add module specific includes +# add BOARD_MODULE specific includes INCLUDES += -I$(RIOTBOARD)/common/slwstk6000b/modules/$(BOARD_MODULE)/include # set default port depending on operating system @@ -12,7 +10,8 @@ PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbmodem*))) include $(RIOTMAKE)/tools/serial.inc.mk # setup JLink for flashing -export JLINK_DEVICE := $(MODULE_JLINK_DEVICE) +include $(RIOTBOARD)/common/slwstk6000b/slwstk6000b.info.mk +export JLINK_DEVICE = $(word 2, $(SLWSTK6000B_MAINBOARD_VARS_$(BOARD_MODULE))) # include board common include $(RIOTBOARD)/common/silabs/Makefile.include diff --git a/boards/common/slwstk6000b/module-info.mk b/boards/common/slwstk6000b/module-info.mk deleted file mode 100644 index 94db0d2a88..0000000000 --- a/boards/common/slwstk6000b/module-info.mk +++ /dev/null @@ -1,21 +0,0 @@ -ifeq (,$(BOARD_MODULE)) - $(error Board module must be defined in $(BOARD_MODULE)) -endif - -# Find the header file that should exist if the module is supported. -MODULE_HEADER = $(wildcard $(RIOTBOARD)/common/slwstk6000b/modules/$(BOARD_MODULE)/include/board_module.h) - -ifeq (,$(MODULE_HEADER)) - $(error Header file for $(BOARD_MODULE) is missing) -endif - -# Lookup up CPU information using grep. -MODULE_INFO = $(shell grep $(BOARD_MODULE) $(RIOTBOARD)/common/slwstk6000b/modules.txt) - -ifeq (,$(MODULE_INFO)) - $(error Unable to read module information for $(BOARD_MODULE)) -endif - -# Export variables to use in this build. -export MODULE_CPU = $(word 2, $(MODULE_INFO)) -export MODULE_JLINK_DEVICE = $(word 3, $(MODULE_INFO)) diff --git a/boards/common/slwstk6000b/modules.txt b/boards/common/slwstk6000b/modules.txt deleted file mode 100644 index ff6ef8e9c6..0000000000 --- a/boards/common/slwstk6000b/modules.txt +++ /dev/null @@ -1,24 +0,0 @@ -# This file contains the supported modules by the SLWSTK6000B wireless starter -# kit. See Silicon Labs website for more information. - -# The intended usage is to grep for the exact module name, and split by spaces -# to get the required information. - -# Module - CPU - JLink Device -slwrb4150a efr32mg1p233f256gm48 efr32mg1pxxxf256 -slwrb4150b efr32mg1p233f256gm48 efr32mg1pxxxf256 -slwrb4151a efr32mg1p232f256gm48 efr32mg1pxxxf256 -slwrb4152a efr32mg1p232f256gm48 efr32mg1pxxxf256 -slwrb4153a efr32mg1p132f256gm48 efr32mg1pxxxf256 -slwrb4154a efr32mg1p732f256gm32 efr32mg1pxxxf256 -slwrb4158a efr32mg13p733f512gm48 efr32mg13p733f512gm48 -slwrb4159a efr32mg13p632f512gm48 efr32mg13p632f512gm48 -slwrb4161a efr32mg12p432f1024gl125 efr32mg12p432f1024gl125 -slwrb4162a efr32mg12p332f1024gl125 efr32mg12p332f1024gl125 -slwrb4163a efr32mg12p433f1024gl125 efr32mg12p433f1024gl125 -slwrb4164a efr32mg12p433f1024gl125 efr32mg12p433f1024gl125 -slwrb4167a efr32mg13p733f512gm48 efr32mg13p733f512gm48 -slwrb4168a efr32mg13p732f512gm48 efr32mg13p732f512gm48 -slwrb4169a efr32mg14p733f256gm48 efr32mg14p733f256gm48 -slwrb4169b efr32mg14p733f256gm48 efr32mg14p733f256gm48 -slwrb4170a efr32mg12p433f1024gm68 efr32mg12p433f1024gm68 diff --git a/boards/common/slwstk6000b/slwstk6000b.info.mk b/boards/common/slwstk6000b/slwstk6000b.info.mk new file mode 100644 index 0000000000..b785b4b798 --- /dev/null +++ b/boards/common/slwstk6000b/slwstk6000b.info.mk @@ -0,0 +1,18 @@ +# CPU_MODEL - JLINK_DEVICE +SLWSTK6000B_MAINBOARD_VARS_slwrb4150a = efr32mg1p233f256gm48 efr32mg1pxxxf256 +SLWSTK6000B_MAINBOARD_VARS_slwrb4150b = efr32mg1p233f256gm48 efr32mg1pxxxf256 +SLWSTK6000B_MAINBOARD_VARS_slwrb4151a = efr32mg1p232f256gm48 efr32mg1pxxxf256 +SLWSTK6000B_MAINBOARD_VARS_slwrb4152a = efr32mg1p232f256gm48 efr32mg1pxxxf256 +SLWSTK6000B_MAINBOARD_VARS_slwrb4153a = efr32mg1p132f256gm48 efr32mg1pxxxf256 +SLWSTK6000B_MAINBOARD_VARS_slwrb4154a = efr32mg1p732f256gm32 efr32mg1pxxxf256 +SLWSTK6000B_MAINBOARD_VARS_slwrb4158a = efr32mg13p733f512gm48 efr32mg13p733f512gm48 +SLWSTK6000B_MAINBOARD_VARS_slwrb4159a = efr32mg13p632f512gm48 efr32mg13p632f512gm48 +SLWSTK6000B_MAINBOARD_VARS_slwrb4161a = efr32mg12p432f1024gl125 efr32mg12p432f1024gl125 +SLWSTK6000B_MAINBOARD_VARS_slwrb4162a = efr32mg12p332f1024gl125 efr32mg12p332f1024gl125 +SLWSTK6000B_MAINBOARD_VARS_slwrb4163a = efr32mg12p433f1024gl125 efr32mg12p433f1024gl125 +SLWSTK6000B_MAINBOARD_VARS_slwrb4164a = efr32mg12p433f1024gl125 efr32mg12p433f1024gl125 +SLWSTK6000B_MAINBOARD_VARS_slwrb4167a = efr32mg13p733f512gm48 efr32mg13p733f512gm48 +SLWSTK6000B_MAINBOARD_VARS_slwrb4168a = efr32mg13p732f512gm48 efr32mg13p732f512gm48 +SLWSTK6000B_MAINBOARD_VARS_slwrb4169a = efr32mg14p733f256gm48 efr32mg14p733f256gm48 +SLWSTK6000B_MAINBOARD_VARS_slwrb4169b = efr32mg14p733f256gm48 efr32mg14p733f256gm48 +SLWSTK6000B_MAINBOARD_VARS_slwrb4170a = efr32mg12p433f1024gm68 efr32mg12p433f1024gm68 diff --git a/boards/slwstk6000b-slwrb4150a/Makefile.features b/boards/slwstk6000b-slwrb4150a/Makefile.features index 4890267050..d536aa382b 100644 --- a/boards/slwstk6000b-slwrb4150a/Makefile.features +++ b/boards/slwstk6000b-slwrb4150a/Makefile.features @@ -1,4 +1,2 @@ -# HACK this should be deduced from the daughter board in 'common/slwstk6000b' CPU_FAM = efr32mg1p -CPU_MODEL = efr32mg1p233f256gm48 include $(RIOTBOARD)/common/slwstk6000b/Makefile.features diff --git a/boards/slwstk6000b-slwrb4150a/Makefile.include b/boards/slwstk6000b-slwrb4150a/Makefile.include index fc9870821d..bf1a2c84f4 100644 --- a/boards/slwstk6000b-slwrb4150a/Makefile.include +++ b/boards/slwstk6000b-slwrb4150a/Makefile.include @@ -1,3 +1 @@ -BOARD_MODULE = slwrb4150a - include $(RIOTBOARD)/common/slwstk6000b/Makefile.include diff --git a/boards/slwstk6000b-slwrb4162a/Makefile.features b/boards/slwstk6000b-slwrb4162a/Makefile.features index 756fd27081..df1fefe402 100644 --- a/boards/slwstk6000b-slwrb4162a/Makefile.features +++ b/boards/slwstk6000b-slwrb4162a/Makefile.features @@ -1,4 +1,2 @@ -# HACK this should be deduced from the daughter board in 'common/slwstk6000b' CPU_FAM = efr32mg12p -CPU_MODEL = efr32mg12p332f1024gl125 include $(RIOTBOARD)/common/slwstk6000b/Makefile.features diff --git a/boards/slwstk6000b-slwrb4162a/Makefile.include b/boards/slwstk6000b-slwrb4162a/Makefile.include index a5d9d7c157..bf1a2c84f4 100644 --- a/boards/slwstk6000b-slwrb4162a/Makefile.include +++ b/boards/slwstk6000b-slwrb4162a/Makefile.include @@ -1,3 +1 @@ -BOARD_MODULE = slwrb4162a - include $(RIOTBOARD)/common/slwstk6000b/Makefile.include