[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