[PATCH v2] Add make feature support for SoCFPGA Handoff

Tom Rini trini at konsulko.com
Mon Nov 3 16:36:57 CET 2025


On Sat, Nov 01, 2025 at 11:52:52AM +0800, Brian Sune wrote:

> Added new make command to support
> Altera GEN5 SoCFPGA handoff conversion.
> The new make qts_handoff_gen will use
> two parameters QTS_DIR and HANDOFF_DIR.
> Checking is done via .config SoCFPGA
> family selection and directory existency.
> 
> Signed-off-by: Brian Sune <briansune at gmail.com>
> ---
>  Makefile | 42 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
> 
> diff --git a/Makefile b/Makefile
> index 750f8a84b1f..74474368413 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -484,6 +484,48 @@ CFLAGS_KERNEL	=
>  AFLAGS_KERNEL	=
>  LDFLAGS_vmlinux =
>  
> +# Intel-Altera Gen5 SoCFPGA QTS Handoff generator target (detect SoC from .config)
> +QTS_HANDOFF_GEN_PY  := $(CURDIR)/tools/cv_bsp_generator/cv_bsp_generator.py
> +
> +# Detect SOC family from .config
> +SOC_FAMILY := $(shell \
> +	if grep -q '^CONFIG_TARGET_SOCFPGA_CYCLONE5=y' .config; then \
> +		echo cyclone5; \
> +	elif grep -q '^CONFIG_TARGET_SOCFPGA_ARRIA5=y' .config; then \
> +		echo arria5; \
> +	elif grep -q '^CONFIG_TARGET_SOCFPGA_ARRIA10=y' .config; then \
> +		echo arria10; \
> +	else \
> +		echo unknown; \
> +	fi)
> +
> +.PHONY: qts_handoff_gen
> +qts_handoff_gen:
> +	@if [ ! -f .config ]; then \
> +		echo "Error: .config not found. Run 'make <defconfig>' first."; \
> +		exit 1; \
> +	fi
> +	@if [ "$(SOC_FAMILY)" = "unknown" ]; then \
> +		echo "Error: Could not detect SoCFPGA family from .config"; \
> +		exit 1; \
> +	fi
> +	@if [ ! -d "$(HANDOFF_DIR)" ]; then \
> +		echo "Error: handoff directory '$(HANDOFF_DIR)' does not exist."; \
> +		exit 1; \
> +	fi
> +	@if [ -z "$(QTS_DIR)" ]; then \
> +		echo "Error: QTS_DIR is not defined."; \
> +		exit 1; \
> +	fi
> +	@if [ ! -d "$(CURDIR)/board/$(QTS_DIR)/qts" ]; then \
> +		echo "Creating QTS output directory: $(CURDIR)/board/$(QTS_DIR)/qts"; \
> +		exit 1; \
> +	fi
> +	@echo "=== Detected SoCFPGA family: $(SOC_FAMILY) ==="
> +	@echo "=== Generating BSP to $(CURDIR)/board/$(QTS_DIR)/qts ==="
> +	python3 $(QTS_HANDOFF_GEN_PY) -i $(HANDOFF_DIR) -o $(CURDIR)/board/$(QTS_DIR)/qts
> +	@echo "=== QTS generation complete ==="
> +
>  # Use USERINCLUDE when you must reference the UAPI directories only.
>  USERINCLUDE    := \
>  		-I$(srctree)/arch/$(SRCARCH)/include/uapi \

OK. I was hoping that we could just automate as part of the regular
build process seeing for example $(BOARD)/foo.xml and invoking the
script to re-create foo.c and so forth, but that doesn't seem to be the
case. So, no Makefile logic. We should then instead start on some
content for doc/board/socfpga/ and document this tool there. Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20251103/35f36ce3/attachment.sig>


More information about the U-Boot mailing list