This is an automated email from the ASF dual-hosted git repository. acassis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit a7e4cd76041172f6c67f63786776f27eb5f1397a Author: Ricard Rosson <[email protected]> AuthorDate: Wed Oct 28 08:54:39 2026 +0000 boards/arm/rp23xx/common: Stage the CYW43439 firmware in common. rp23xx_firmware.c, which .incbin's the CYW43439 firmware, is built from the common directory, and the CMake build already stages the blob there. The Make rules that stage it, however, were copied into the src/Make.defs of each board with the chip. Move those rules next to rp23xx_firmware.c in common/src/Make.defs and remove the copies from raspberrypi-pico-2-w and pimoroni-pico-plus-2-w. This is a Make-only change, as CMake already does this [skip-cmake-parity]. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Ricard Rosson <[email protected]> --- boards/arm/rp23xx/common/src/Make.defs | 34 ++++++++++++++++-- .../rp23xx/pimoroni-pico-plus-2-w/src/Make.defs | 42 ---------------------- .../arm/rp23xx/raspberrypi-pico-2-w/src/Make.defs | 42 ---------------------- 3 files changed, 32 insertions(+), 86 deletions(-) diff --git a/boards/arm/rp23xx/common/src/Make.defs b/boards/arm/rp23xx/common/src/Make.defs index 7a174bcfaef..b5b7b54f4c1 100644 --- a/boards/arm/rp23xx/common/src/Make.defs +++ b/boards/arm/rp23xx/common/src/Make.defs @@ -114,11 +114,41 @@ ifeq ($(CONFIG_SENSORS_MAX6675),y) CSRCS += rp23xx_max6675.c endif -# Firmware blob for the Infineon CYW43439 WiFi chip. The board that carries -# the chip stages the blob itself, see its src/Make.defs. +# Firmware blob for the Infineon CYW43439 WiFi chip. rp23xx_firmware.c +# .incbin's it, so stage it out of pico_sdk next to rp23xx_firmware.c, which +# is both on the include path and reachable via VPATH. This mirrors what +# rp2040 does for the Raspberry Pi Pico W. ifeq ($(CONFIG_IEEE80211_INFINEON_CYW43439),y) CSRCS += rp23xx_firmware.c + +FIRMWARE = src$(DELIM)cyw43439.firmware.image + +# --- If PICO_SDK_PATH is not defined set a dummy path. -------------------- +# See comment below. + +ifeq ($(PICO_SDK_PATH),) + PICO_SDK_PATH = /tmp +endif + +FIRMWARE_SRC := $(patsubst "%",%,$(CONFIG_CYW43439_FIRMWARE_BIN_PATH)) + +# --- If the firmware source does not exist create a dummy file. ----------- +# NuttX built with the cyw43439 driver will not talk to the wireless +# chip when built with this dummy file. The sole purpose of adding +# this dummy is so the CI build tests will not fail. + +$(FIRMWARE_SRC): + $(Q) mkdir -p `dirname $(FIRMWARE_SRC)` + $(Q) echo "dummy" >$(FIRMWARE_SRC) + +$(FIRMWARE): $(FIRMWARE_SRC) + $(call CATFILE, $(FIRMWARE), $(FIRMWARE_SRC)) + +src$(DELIM)rp23xx_firmware.c: $(FIRMWARE) + +distclean:: + $(call DELFILE, $(FIRMWARE)) endif DEPPATH += --dep-path src diff --git a/boards/arm/rp23xx/pimoroni-pico-plus-2-w/src/Make.defs b/boards/arm/rp23xx/pimoroni-pico-plus-2-w/src/Make.defs index aa2b2fa5676..782c88e149a 100644 --- a/boards/arm/rp23xx/pimoroni-pico-plus-2-w/src/Make.defs +++ b/boards/arm/rp23xx/pimoroni-pico-plus-2-w/src/Make.defs @@ -49,45 +49,3 @@ endif DEPPATH += --dep-path board VPATH += :board CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board - -############################################################################ -# The rules below stage the cyw43439 blob out of pico_sdk so that the -# .incbin in rp23xx_firmware.c can pick it up. -# -# rp23xx_firmware.c lives in the *common* src directory, which is both on the -# include path (added by common/src/Make.defs) and reachable via VPATH, so the -# blob is staged next to it there. This mirrors what rp2040 does for the -# Raspberry Pi Pico W. -############################################################################ - -ifeq ($(CONFIG_IEEE80211_INFINEON_CYW43439),y) - -FIRMWARE = src$(DELIM)cyw43439.firmware.image - -# --- If PICO_SDK_PATH is not defined set a dummy path. -------------------- -# See comment below. - -ifeq ($(PICO_SDK_PATH),) - PICO_SDK_PATH = /tmp -endif - -FIRMWARE_SRC := $(patsubst "%",%,$(CONFIG_CYW43439_FIRMWARE_BIN_PATH)) - -# --- If the firmware source does not exist create a dummy file. ----------- -# NuttX built with the cyw43439 driver will not talk to the wireless -# chip when built with this dummy file. The sole purpose of adding -# this dummy is so the CI build tests will not fail. - -$(FIRMWARE_SRC): - $(Q) mkdir -p `dirname $(FIRMWARE_SRC)` - $(Q) echo "dummy" >$(FIRMWARE_SRC) - -$(FIRMWARE): $(FIRMWARE_SRC) - $(call CATFILE, $(FIRMWARE), $(FIRMWARE_SRC)) - -src$(DELIM)rp23xx_firmware.c: $(FIRMWARE) - -distclean:: - $(call DELFILE, $(FIRMWARE)) - -endif diff --git a/boards/arm/rp23xx/raspberrypi-pico-2-w/src/Make.defs b/boards/arm/rp23xx/raspberrypi-pico-2-w/src/Make.defs index 271b9e5ce80..a1d6a150de8 100644 --- a/boards/arm/rp23xx/raspberrypi-pico-2-w/src/Make.defs +++ b/boards/arm/rp23xx/raspberrypi-pico-2-w/src/Make.defs @@ -45,45 +45,3 @@ endif DEPPATH += --dep-path board VPATH += :board CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board - -############################################################################ -# The rules below stage the cyw43439 blob out of pico_sdk so that the -# .incbin in rp23xx_firmware.c can pick it up. -# -# rp23xx_firmware.c lives in the *common* src directory, which is both on the -# include path (added by common/src/Make.defs) and reachable via VPATH, so the -# blob is staged next to it there. This mirrors what rp2040 does for the -# Raspberry Pi Pico W. -############################################################################ - -ifeq ($(CONFIG_IEEE80211_INFINEON_CYW43439),y) - -FIRMWARE = src$(DELIM)cyw43439.firmware.image - -# --- If PICO_SDK_PATH is not defined set a dummy path. -------------------- -# See comment below. - -ifeq ($(PICO_SDK_PATH),) - PICO_SDK_PATH = /tmp -endif - -FIRMWARE_SRC := $(patsubst "%",%,$(CONFIG_CYW43439_FIRMWARE_BIN_PATH)) - -# --- If the firmware source does not exist create a dummy file. ----------- -# NuttX built with the cyw43439 driver will not talk to the wireless -# chip when built with this dummy file. The sole purpose of adding -# this dummy is so the CI build tests will not fail. - -$(FIRMWARE_SRC): - $(Q) mkdir -p `dirname $(FIRMWARE_SRC)` - $(Q) echo "dummy" >$(FIRMWARE_SRC) - -$(FIRMWARE): $(FIRMWARE_SRC) - $(call CATFILE, $(FIRMWARE), $(FIRMWARE_SRC)) - -src$(DELIM)rp23xx_firmware.c: $(FIRMWARE) - -distclean:: - $(call DELFILE, $(FIRMWARE)) - -endif
