>From d32de6b6e10378ab430c4c0164dcbb704bb5f70c Mon Sep 17 00:00:00 2001 From: Marco Felsch Date: Wed, 26 Apr 2023 11:57:18 +0200 Subject: [PATCH 2/2] images: add Sunxi eGON image support Add Makefile.sunxi to make it possible to build sunxi eGON images out of the box. Signed-off-by: Marco Felsch --- images/.gitignore | 1 + images/Makefile | 3 ++- images/Makefile.riscv | 4 ---- images/Makefile.sunxi | 28 ++++++++++++++++++++++++++++ scripts/Makefile.lib | 3 +++ 5 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 images/Makefile.sunxi diff --git a/images/.gitignore b/images/.gitignore index 1aa9620a42..a3cc17a3bd 100644 --- a/images/.gitignore +++ b/images/.gitignore @@ -35,3 +35,4 @@ barebox.sum *.stm32 *.nmon *.swapped +*.egon diff --git a/images/Makefile b/images/Makefile index aa5814710f..4f08404e7b 100644 --- a/images/Makefile +++ b/images/Makefile @@ -151,6 +151,7 @@ include $(srctree)/images/Makefile.omap3 include $(srctree)/images/Makefile.rockchip include $(srctree)/images/Makefile.socfpga include $(srctree)/images/Makefile.stm32mp +include $(srctree)/images/Makefile.sunxi include $(srctree)/images/Makefile.tegra include $(srctree)/images/Makefile.vexpress include $(srctree)/images/Makefile.xburst @@ -209,5 +210,5 @@ $(flash-list): $(image-y-path) clean-files := *.pbl *.pblb *.map start_*.imximg *.img barebox.z start_*.kwbimg \ start_*.kwbuartimg *.socfpgaimg *.mlo *.t20img *.t20img.cfg *.t30img \ *.t30img.cfg *.t124img *.t124img.cfg *.mlospi *.mlo *.mxsbs *.mxssd \ - start_*.simximg start_*.usimximg *.zynqimg *.image *.swapped + start_*.simximg start_*.usimximg *.zynqimg *.image *.swapped *.egon clean-files += pbl.lds diff --git a/images/Makefile.riscv b/images/Makefile.riscv index df0e5a9146..0645238c43 100644 --- a/images/Makefile.riscv +++ b/images/Makefile.riscv @@ -23,7 +23,3 @@ image-$(CONFIG_BOARD_BEAGLEV) += barebox-beaglev-starlight.img pblb-$(CONFIG_BOARD_LITEX_LINUX) += start_litex_linux FILE_barebox-litex-linux.img = start_litex_linux.pblb image-$(CONFIG_BOARD_LITEX_LINUX) += barebox-litex-linux.img - -pblb-$(CONFIG_BOARD_ALLWINNER_D1) += start_allwinner_d1 -FILE_barebox-allwinner-d1.img = start_allwinner_d1.pblb -image-$(CONFIG_BOARD_ALLWINNER_D1) += barebox-allwinner-d1.img diff --git a/images/Makefile.sunxi b/images/Makefile.sunxi new file mode 100644 index 0000000000..77cac3aa86 --- /dev/null +++ b/images/Makefile.sunxi @@ -0,0 +1,28 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# barebox image generation Makefile for Allwinner Sunxi SoC's +# + +# %.egon - convert into Sunxi egon image +# -------------------------------------- + +.SECONDEXPANSION: +$(obj)/%.egon: $(obj)/$$(FILE_$$(@F)) FORCE + $(Q)if [ -z $(FILE_$(@F)) ]; then echo "FILE_$(@F) empty!"; false; fi + $(call if_changed,egon_image) + +define build_egon_image = +$(eval +ifeq ($($(strip $(1))), y) + pblb-y += $(strip $(2)) + FILE_barebox-$(strip $(3)).egon = $(strip $(2)).pblb + OPTS_barebox-$(strip $(3)).egon = -a $(4) -o 0x2000 -p $$($$(patsubst $$(obj)/%.pblb,PBL_MEMORY_SIZE_%,$$<)) + image-y += barebox-$(strip $(3)).egon +endif +) +endef + +# Sunxi RISC-V images +# ------------------- + +$(call build_egon_image, CONFIG_BOARD_ALLWINNER_D1, start_allwinner_d1, allwinner-d1, riscv) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 51beff56ae..0db2a7b716 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -603,6 +603,9 @@ $(obj)/%.bct: $(obj)/%.bct.cfg quiet_cmd_stm32_image = STM32-IMG $@ cmd_stm32_image = $(objtree)/scripts/stm32image $(OPTS_$(@F)) -i $< -o $@ +quiet_cmd_egon_image = EGON-IMG $@ + cmd_egon_image = $(objtree)/scripts/sunxi_egon $(OPTS_$(@F)) $< $@ + quiet_cmd_b64dec = B64DEC $@ cmd_b64dec = base64 -d $< > $@ -- 2.39.2