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 <[email protected]> > --- > 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
signature.asc
Description: PGP signature

