From 81b1bfcfef67577707691a3941879c63df619dcd Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 13 Jun 2024 13:23:43 +1000 Subject: [PATCH] stm32: Rework board variant support to require mpconfigvariant file. Following how the board variants now work in the esp8266 port. Signed-off-by: Damien George --- ports/stm32/Makefile | 13 +++++++++++++ ports/stm32/boards/PYBLITEV10/mpconfigboard.mk | 18 ------------------ .../boards/PYBLITEV10/mpconfigvariant_DP.mk | 1 + .../PYBLITEV10/mpconfigvariant_DP_THREAD.mk | 2 ++ .../PYBLITEV10/mpconfigvariant_NETWORK.mk | 1 + .../PYBLITEV10/mpconfigvariant_THREAD.mk | 1 + ports/stm32/boards/PYBV10/mpconfigboard.mk | 18 ------------------ .../stm32/boards/PYBV10/mpconfigvariant_DP.mk | 1 + .../boards/PYBV10/mpconfigvariant_DP_THREAD.mk | 2 ++ .../boards/PYBV10/mpconfigvariant_NETWORK.mk | 1 + .../boards/PYBV10/mpconfigvariant_THREAD.mk | 1 + ports/stm32/boards/PYBV11/mpconfigboard.mk | 18 ------------------ .../stm32/boards/PYBV11/mpconfigvariant_DP.mk | 1 + .../boards/PYBV11/mpconfigvariant_DP_THREAD.mk | 2 ++ .../boards/PYBV11/mpconfigvariant_NETWORK.mk | 1 + .../boards/PYBV11/mpconfigvariant_THREAD.mk | 1 + 16 files changed, 28 insertions(+), 54 deletions(-) create mode 100644 ports/stm32/boards/PYBLITEV10/mpconfigvariant_DP.mk create mode 100644 ports/stm32/boards/PYBLITEV10/mpconfigvariant_DP_THREAD.mk create mode 100644 ports/stm32/boards/PYBLITEV10/mpconfigvariant_NETWORK.mk create mode 100644 ports/stm32/boards/PYBLITEV10/mpconfigvariant_THREAD.mk create mode 100644 ports/stm32/boards/PYBV10/mpconfigvariant_DP.mk create mode 100644 ports/stm32/boards/PYBV10/mpconfigvariant_DP_THREAD.mk create mode 100644 ports/stm32/boards/PYBV10/mpconfigvariant_NETWORK.mk create mode 100644 ports/stm32/boards/PYBV10/mpconfigvariant_THREAD.mk create mode 100644 ports/stm32/boards/PYBV11/mpconfigvariant_DP.mk create mode 100644 ports/stm32/boards/PYBV11/mpconfigvariant_DP_THREAD.mk create mode 100644 ports/stm32/boards/PYBV11/mpconfigvariant_NETWORK.mk create mode 100644 ports/stm32/boards/PYBV11/mpconfigvariant_THREAD.mk diff --git a/ports/stm32/Makefile b/ports/stm32/Makefile index 50ac48e5a1..497e409c66 100644 --- a/ports/stm32/Makefile +++ b/ports/stm32/Makefile @@ -13,6 +13,12 @@ ifeq ($(wildcard $(BOARD_DIR)/.),) $(error Invalid BOARD specified: $(BOARD_DIR)) endif +ifneq ($(BOARD_VARIANT),) +ifeq ($(wildcard $(BOARD_DIR)/mpconfigvariant_$(BOARD_VARIANT).mk),) +$(error Invalid BOARD_VARIANT specified: $(BOARD_VARIANT)) +endif +endif + # If the build directory is not given, make it reflect the board name (and # optionally the board variant). ifneq ($(BOARD_VARIANT),) @@ -23,7 +29,14 @@ endif include ../../py/mkenv.mk -include mpconfigport.mk + +# Include board specific .mk file, and optional board variant .mk file. include $(BOARD_DIR)/mpconfigboard.mk +ifeq ($(BOARD_VARIANT),) +-include $(BOARD_DIR)/mpconfigvariant.mk +else +include $(BOARD_DIR)/mpconfigvariant_$(BOARD_VARIANT).mk +endif # qstr definitions (must come before including py.mk) QSTR_DEFS += qstrdefsport.h diff --git a/ports/stm32/boards/PYBLITEV10/mpconfigboard.mk b/ports/stm32/boards/PYBLITEV10/mpconfigboard.mk index 1fe609cbb5..603fa8865e 100644 --- a/ports/stm32/boards/PYBLITEV10/mpconfigboard.mk +++ b/ports/stm32/boards/PYBLITEV10/mpconfigboard.mk @@ -5,23 +5,5 @@ LD_FILES = boards/stm32f411.ld boards/common_ifs.ld TEXT0_ADDR = 0x08000000 TEXT1_ADDR = 0x08020000 -# Provide different variants for the downloads page. -ifeq ($(BOARD_VARIANT),DP) -MICROPY_FLOAT_IMPL=double -endif - -ifeq ($(BOARD_VARIANT),THREAD) -CFLAGS += -DMICROPY_PY_THREAD=1 -endif - -ifeq ($(BOARD_VARIANT),DP_THREAD) -MICROPY_FLOAT_IMPL=double -CFLAGS += -DMICROPY_PY_THREAD=1 -endif - -ifeq ($(BOARD_VARIANT),NETWORK) -MICROPY_PY_NETWORK_WIZNET5K=5200 -endif - # PYB-specific frozen modules FROZEN_MANIFEST ?= boards/PYBV10/manifest.py diff --git a/ports/stm32/boards/PYBLITEV10/mpconfigvariant_DP.mk b/ports/stm32/boards/PYBLITEV10/mpconfigvariant_DP.mk new file mode 100644 index 0000000000..73b32b4901 --- /dev/null +++ b/ports/stm32/boards/PYBLITEV10/mpconfigvariant_DP.mk @@ -0,0 +1 @@ +MICROPY_FLOAT_IMPL = double diff --git a/ports/stm32/boards/PYBLITEV10/mpconfigvariant_DP_THREAD.mk b/ports/stm32/boards/PYBLITEV10/mpconfigvariant_DP_THREAD.mk new file mode 100644 index 0000000000..af6ec87ecf --- /dev/null +++ b/ports/stm32/boards/PYBLITEV10/mpconfigvariant_DP_THREAD.mk @@ -0,0 +1,2 @@ +MICROPY_FLOAT_IMPL = double +CFLAGS += -DMICROPY_PY_THREAD=1 diff --git a/ports/stm32/boards/PYBLITEV10/mpconfigvariant_NETWORK.mk b/ports/stm32/boards/PYBLITEV10/mpconfigvariant_NETWORK.mk new file mode 100644 index 0000000000..2e2988aa93 --- /dev/null +++ b/ports/stm32/boards/PYBLITEV10/mpconfigvariant_NETWORK.mk @@ -0,0 +1 @@ +MICROPY_PY_NETWORK_WIZNET5K = 5200 diff --git a/ports/stm32/boards/PYBLITEV10/mpconfigvariant_THREAD.mk b/ports/stm32/boards/PYBLITEV10/mpconfigvariant_THREAD.mk new file mode 100644 index 0000000000..eab5c1c0d2 --- /dev/null +++ b/ports/stm32/boards/PYBLITEV10/mpconfigvariant_THREAD.mk @@ -0,0 +1 @@ +CFLAGS += -DMICROPY_PY_THREAD=1 diff --git a/ports/stm32/boards/PYBV10/mpconfigboard.mk b/ports/stm32/boards/PYBV10/mpconfigboard.mk index 1a4d676319..38f0b55f6c 100644 --- a/ports/stm32/boards/PYBV10/mpconfigboard.mk +++ b/ports/stm32/boards/PYBV10/mpconfigboard.mk @@ -15,23 +15,5 @@ endif # MicroPython settings MICROPY_VFS_LFS2 = 1 -# Provide different variants for the downloads page. -ifeq ($(BOARD_VARIANT),DP) -MICROPY_FLOAT_IMPL=double -endif - -ifeq ($(BOARD_VARIANT),THREAD) -CFLAGS += -DMICROPY_PY_THREAD=1 -endif - -ifeq ($(BOARD_VARIANT),DP_THREAD) -MICROPY_FLOAT_IMPL=double -CFLAGS += -DMICROPY_PY_THREAD=1 -endif - -ifeq ($(BOARD_VARIANT),NETWORK) -MICROPY_PY_NETWORK_WIZNET5K=5200 -endif - # PYB-specific frozen modules FROZEN_MANIFEST ?= $(BOARD_DIR)/manifest.py diff --git a/ports/stm32/boards/PYBV10/mpconfigvariant_DP.mk b/ports/stm32/boards/PYBV10/mpconfigvariant_DP.mk new file mode 100644 index 0000000000..73b32b4901 --- /dev/null +++ b/ports/stm32/boards/PYBV10/mpconfigvariant_DP.mk @@ -0,0 +1 @@ +MICROPY_FLOAT_IMPL = double diff --git a/ports/stm32/boards/PYBV10/mpconfigvariant_DP_THREAD.mk b/ports/stm32/boards/PYBV10/mpconfigvariant_DP_THREAD.mk new file mode 100644 index 0000000000..af6ec87ecf --- /dev/null +++ b/ports/stm32/boards/PYBV10/mpconfigvariant_DP_THREAD.mk @@ -0,0 +1,2 @@ +MICROPY_FLOAT_IMPL = double +CFLAGS += -DMICROPY_PY_THREAD=1 diff --git a/ports/stm32/boards/PYBV10/mpconfigvariant_NETWORK.mk b/ports/stm32/boards/PYBV10/mpconfigvariant_NETWORK.mk new file mode 100644 index 0000000000..2e2988aa93 --- /dev/null +++ b/ports/stm32/boards/PYBV10/mpconfigvariant_NETWORK.mk @@ -0,0 +1 @@ +MICROPY_PY_NETWORK_WIZNET5K = 5200 diff --git a/ports/stm32/boards/PYBV10/mpconfigvariant_THREAD.mk b/ports/stm32/boards/PYBV10/mpconfigvariant_THREAD.mk new file mode 100644 index 0000000000..eab5c1c0d2 --- /dev/null +++ b/ports/stm32/boards/PYBV10/mpconfigvariant_THREAD.mk @@ -0,0 +1 @@ +CFLAGS += -DMICROPY_PY_THREAD=1 diff --git a/ports/stm32/boards/PYBV11/mpconfigboard.mk b/ports/stm32/boards/PYBV11/mpconfigboard.mk index 6dcb2fd1b4..89e4a1d8a4 100644 --- a/ports/stm32/boards/PYBV11/mpconfigboard.mk +++ b/ports/stm32/boards/PYBV11/mpconfigboard.mk @@ -15,23 +15,5 @@ endif # MicroPython settings MICROPY_VFS_LFS2 = 1 -# Provide different variants for the downloads page. -ifeq ($(BOARD_VARIANT),DP) -MICROPY_FLOAT_IMPL=double -endif - -ifeq ($(BOARD_VARIANT),THREAD) -CFLAGS += -DMICROPY_PY_THREAD=1 -endif - -ifeq ($(BOARD_VARIANT),DP_THREAD) -MICROPY_FLOAT_IMPL=double -CFLAGS += -DMICROPY_PY_THREAD=1 -endif - -ifeq ($(BOARD_VARIANT),NETWORK) -MICROPY_PY_NETWORK_WIZNET5K=5200 -endif - # PYB-specific frozen modules FROZEN_MANIFEST ?= boards/PYBV10/manifest.py diff --git a/ports/stm32/boards/PYBV11/mpconfigvariant_DP.mk b/ports/stm32/boards/PYBV11/mpconfigvariant_DP.mk new file mode 100644 index 0000000000..73b32b4901 --- /dev/null +++ b/ports/stm32/boards/PYBV11/mpconfigvariant_DP.mk @@ -0,0 +1 @@ +MICROPY_FLOAT_IMPL = double diff --git a/ports/stm32/boards/PYBV11/mpconfigvariant_DP_THREAD.mk b/ports/stm32/boards/PYBV11/mpconfigvariant_DP_THREAD.mk new file mode 100644 index 0000000000..af6ec87ecf --- /dev/null +++ b/ports/stm32/boards/PYBV11/mpconfigvariant_DP_THREAD.mk @@ -0,0 +1,2 @@ +MICROPY_FLOAT_IMPL = double +CFLAGS += -DMICROPY_PY_THREAD=1 diff --git a/ports/stm32/boards/PYBV11/mpconfigvariant_NETWORK.mk b/ports/stm32/boards/PYBV11/mpconfigvariant_NETWORK.mk new file mode 100644 index 0000000000..2e2988aa93 --- /dev/null +++ b/ports/stm32/boards/PYBV11/mpconfigvariant_NETWORK.mk @@ -0,0 +1 @@ +MICROPY_PY_NETWORK_WIZNET5K = 5200 diff --git a/ports/stm32/boards/PYBV11/mpconfigvariant_THREAD.mk b/ports/stm32/boards/PYBV11/mpconfigvariant_THREAD.mk new file mode 100644 index 0000000000..eab5c1c0d2 --- /dev/null +++ b/ports/stm32/boards/PYBV11/mpconfigvariant_THREAD.mk @@ -0,0 +1 @@ +CFLAGS += -DMICROPY_PY_THREAD=1