diff options
Diffstat (limited to 'images')
30 files changed, 551 insertions, 62 deletions
diff --git a/images/.gitignore b/images/.gitignore index 377c14ceb3..1aa9620a42 100644 --- a/images/.gitignore +++ b/images/.gitignore @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0-only + *.pbl *.pblb *.img @@ -31,3 +33,5 @@ barebox.sum *.image *.mvebu1img *.stm32 +*.nmon +*.swapped diff --git a/images/Makefile b/images/Makefile index b8899dcd2a..c0105609ee 100644 --- a/images/Makefile +++ b/images/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0-only # # barebox image generation Makefile # @@ -42,6 +43,8 @@ # both as entrypoint and as filename # +include scripts/Makefile.lib + quiet_cmd_objcopy_bin = OBJCOPYB $@ cmd_objcopy_bin = \ $(OBJCOPY) -O binary $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@ && \ @@ -54,8 +57,9 @@ $(pbl-lds): $(obj)/../arch/$(SRCARCH)/lib/pbl.lds.S FORCE $(call if_changed_dep,cpp_lds_S) quiet_cmd_elf__ ?= LD $@ - cmd_elf__ ?= $(LD) $(LDFLAGS_pbl) --gc-sections \ + cmd_elf__ ?= $(LD) $(LDFLAGS_$(patsubst .%,%,$(suffix $(@F)))) \ -e $(2) -Map $@.map $(LDFLAGS_$(@F)) -o $@ \ + --gc-sections --defsym=__pbl_board_entry=$(2) \ -T $(pbl-lds) \ --whole-archive $(BAREBOX_PBL_OBJS) $(obj)/piggy.o \ $(obj)/sha_sum.o @@ -64,9 +68,16 @@ PBL_CPPFLAGS += -fdata-sections -ffunction-sections $(obj)/%.pbl: $(pbl-lds) $(BAREBOX_PBL_OBJS) $(obj)/piggy.o $(obj)/sha_sum.o FORCE $(call if_changed,elf__,$(*F)) + $(call cmd,prelink__) + +$(obj)/%.elf: $(pbl-lds) $(BAREBOX_PBL_OBJS) $(obj)/piggy.o $(obj)/sha_sum.o FORCE + $(call if_changed,elf__,$(*F)) + $(call cmd,prelink__) $(obj)/%.pblb: $(obj)/%.pbl FORCE $(call if_changed,objcopy_bin,$(*F)) + $(Q)$(OBJCOPY) -O binary --only-section=.missing_fw $< $@.missing-firmware + $(Q)[ -s $@.missing-firmware ] || rm -f $@.missing-firmware $(call cmd,check_file_size,$@,$(CONFIG_BAREBOX_MAX_IMAGE_SIZE)) # @@ -104,27 +115,24 @@ $(obj)/%.pblb: $(obj)/%.pbl FORCE $(obj)/%.s: $(obj)/% FORCE $(call if_changed,disasm) -suffix_$(CONFIG_IMAGE_COMPRESSION_GZIP) = gzip -suffix_$(CONFIG_IMAGE_COMPRESSION_LZO) = lzo -suffix_$(CONFIG_IMAGE_COMPRESSION_LZ4) = lz4 -suffix_$(CONFIG_IMAGE_COMPRESSION_XZKERN) = xzkern -suffix_$(CONFIG_IMAGE_COMPRESSION_NONE) = comp_copy +quiet_cmd_fit = FIT $@ +cmd_fit = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) \ + -D'$(subst -,_,$(*F))_dts=1' $(foreach f,$< $(2),-include '$(f)') /dev/null ; \ + mkimage -f $(dtc-tmp) $@ -E \ + cat $(depfile).pre $(depfile).dtc > $(depfile) + +$(obj)/%.fit: $(obj)/%.its FORCE + $(call if_changed,fit) $(obj)/piggy.o: $(obj)/barebox.z FORCE $(obj)/sha_sum.o: $(obj)/barebox.sha.bin FORCE -quiet_cmd_sha256bin ?= SHA-BIN $@ - cmd_sha256bin ?= printf "$(shell awk '{printf $$1}' < $(obj)/barebox.sum | sed -e 's/../\\x&/g' )" > $@ - -quiet_cmd_sha256sum ?= SHA $@ - cmd_sha256sum ?= sha256sum $(obj)/barebox.z > $@ - $(obj)/barebox.sha.bin: $(obj)/barebox.sum FORCE $(call if_changed,sha256bin) $(obj)/barebox.sum: $(obj)/barebox.z FORCE - $(call if_changed,sha256sum) + $(call if_changed,sha256sum,$<) # barebox.z - compressed barebox binary @@ -134,10 +142,14 @@ $(obj)/barebox.z: $(obj)/../barebox.bin FORCE # %.img - create a copy from another file # ---------------------------------------------------------------- + +missing_fw = $(strip $(wildcard $(obj)/$(FILE_$(@F)).missing-firmware $(basename $(obj)/$(FILE_$(@F))).missing-firmware)) + .SECONDEXPANSION: $(obj)/%.img: $(obj)/$$(FILE_$$(@F)) $(Q)if [ -z $(FILE_$(@F)) ]; then echo "FILE_$(@F) empty!"; false; fi - $(call if_changed,shipped) + $(Q)$(if $(missing_fw),cat $(missing_fw) >$@.missing-firmware,rm -f $@.missing-firmware) + $(call if_changed,$(if $(missing_fw),delete,shipped)) board = $(srctree)/arch/$(SRCARCH)/boards objboard = $(objtree)/arch/$(SRCARCH)/boards @@ -148,6 +160,7 @@ include $(srctree)/images/Makefile.ar231x include $(srctree)/images/Makefile.ath79 include $(srctree)/images/Makefile.bcm283x include $(srctree)/images/Makefile.bcm47xx +include $(srctree)/images/Makefile.clps711x include $(srctree)/images/Makefile.imx include $(srctree)/images/Makefile.loongson include $(srctree)/images/Makefile.malta @@ -158,17 +171,20 @@ include $(srctree)/images/Makefile.rockchip include $(srctree)/images/Makefile.socfpga include $(srctree)/images/Makefile.stm32mp include $(srctree)/images/Makefile.tegra +include $(srctree)/images/Makefile.versatile include $(srctree)/images/Makefile.vexpress include $(srctree)/images/Makefile.xburst include $(srctree)/images/Makefile.at91 include $(srctree)/images/Makefile.zynq include $(srctree)/images/Makefile.zynqmp include $(srctree)/images/Makefile.layerscape +include $(srctree)/images/Makefile.riscv +include $(srctree)/images/Makefile.k3 -pblb-$(CONFIG_BOARD_ARM_GENERIC_DT) += start_dt_2nd +pblb-$(CONFIG_BOARD_GENERIC_DT) += start_dt_2nd FILE_barebox-dt-2nd.img = start_dt_2nd.pblb -image-$(CONFIG_BOARD_ARM_GENERIC_DT) += barebox-dt-2nd.img +image-$(CONFIG_BOARD_GENERIC_DT) += barebox-dt-2nd.img ifdef CONFIG_ARM pblb-$(CONFIG_PBL_SINGLE_IMAGE) += start_pbl @@ -198,16 +214,27 @@ multi-image-build: images: $(image-y-path) $(flash-link) $(flash-list) FORCE @echo "images built:" - @for i in $(image-y); do echo $$i; done + @for i in $(image-y); do \ + if [ -s $(obj)/$$i ]; then echo $$i; \ + else >&2 echo "** $$i skipped due to missing firmware **"; \ + $(if $(CONFIG_MISSING_FIRMWARE_ERROR), >&2 sed 's/^/\t/' <$(obj)/$${i}.missing-firmware; missing=1;) \ + fi; done; if [ -n "$$missing" ]; then \ + echo >&2 "Firmware missing in CONFIG_MISSING_FIRMWARE_ERROR=y build"; exit 1; fi + +__images_install: images + @for i in $(image-y-path); do if [ -s $$i ]; then install -t "$(INSTALL_PATH)" $$i; fi; done + +PHONY += __images_install $(flash-link): $(link-dest) FORCE $(call if_changed,ln) $(flash-list): $(image-y-path) - @for i in $^; do echo $$i; done > $@ + @for i in $^; do if [ -s $$i ]; then echo $$i; fi; done > $@ -clean-files := *.pbl *.pblb *.map start_*.imximg *.img barebox.z start_*.kwbimg \ +clean-files := *.pbl *.pblb *.elf *.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 + *.t30img.cfg *.t124img *.t124img.cfg *.mlospi *.mlo *.mxsbs *.mxssd *.rkimg \ + start_*.simximg start_*.usimximg start_*.pimximg start_*.psimximg *.zynqimg \ + *.image *.swapped *.missing-firmware clean-files += pbl.lds diff --git a/images/Makefile.am33xx b/images/Makefile.am33xx index 1de2474df5..a63def771e 100644 --- a/images/Makefile.am33xx +++ b/images/Makefile.am33xx @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0-only # %.mlo - convert into mlo image # ---------------------------------------------------------------- @@ -25,6 +26,14 @@ FILE_barebox-am33xx-afi-gf-mlo.spi.img = start_am33xx_afi_gf_sram.pblb.mlospi am33xx-mlo-$(CONFIG_MACH_AFI_GF) += barebox-am33xx-afi-gf-mlo.img am33xx-mlospi-$(CONFIG_MACH_AFI_GF) += barebox-am33xx-afi-gf-mlo.spi.img +pblb-$(CONFIG_MACH_MYIRTECH_X335X) += start_am33xx_myirtech_sdram +FILE_barebox-am33xx-myirtech.img = start_am33xx_myirtech_sdram.pblb +am33xx-barebox-$(CONFIG_MACH_MYIRTECH_X335X) += barebox-am33xx-myirtech.img + +pblb-$(CONFIG_MACH_MYIRTECH_X335X) += start_am33xx_myirtech_sram +FILE_barebox-am33xx-myirtech-mlo.img = start_am33xx_myirtech_sram.pblb.mlo +am33xx-mlo-$(CONFIG_MACH_MYIRTECH_X335X) += barebox-am33xx-myirtech-mlo.img + pblb-$(CONFIG_MACH_PHYTEC_SOM_AM335X) += start_am33xx_phytec_phycore_nand_sdram FILE_barebox-am33xx-phytec-phycore.img = start_am33xx_phytec_phycore_nand_sdram.pblb am33xx-barebox-$(CONFIG_MACH_PHYTEC_SOM_AM335X) += barebox-am33xx-phytec-phycore.img diff --git a/images/Makefile.am35xx b/images/Makefile.am35xx index 6d30baee64..d5371d9e11 100644 --- a/images/Makefile.am35xx +++ b/images/Makefile.am35xx @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0-only # %.mlo - convert into mlo image # ---------------------------------------------------------------- diff --git a/images/Makefile.ar231x b/images/Makefile.ar231x index 31b9704866..8992bc0fd0 100644 --- a/images/Makefile.ar231x +++ b/images/Makefile.ar231x @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0-only + pblb-$(CONFIG_BOARD_NETGEAR_WG102) += start_netgear_wg102 FILE_barebox-netgear-wg102.img = start_netgear_wg102.pblb image-$(CONFIG_BOARD_NETGEAR_WG102) += barebox-netgear-wg102.img diff --git a/images/Makefile.at91 b/images/Makefile.at91 index 00fa4cab27..06f8936893 100644 --- a/images/Makefile.at91 +++ b/images/Makefile.at91 @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0-only # # barebox image generation Makefile for AT91 images # @@ -14,6 +15,29 @@ pblb-$(CONFIG_MACH_MICROCHIP_KSZ9477_EVB) += start_sama5d3_xplained_ung8071 FILE_barebox-microchip-ksz9477-evb.img = start_sama5d3_xplained_ung8071.pblb image-$(CONFIG_MACH_MICROCHIP_KSZ9477_EVB) += barebox-microchip-ksz9477-evb.img +pblb-$(CONFIG_MACH_MICROCHIP_KSZ9477_EVB) += start_sama5d3_xplained_ung8071_xload_mmc +MAX_PBL_IMAGE_SIZE_start_sama5d3_xplained_ung8071_xload_mmc = 0xffff +FILE_barebox-microchip-ksz9477-evb-xload-mmc.img = start_sama5d3_xplained_ung8071_xload_mmc.pblb +image-$(CONFIG_MACH_MICROCHIP_KSZ9477_EVB) += barebox-microchip-ksz9477-evb-xload-mmc.img + +pblb-$(CONFIG_MACH_MICROCHIP_SAMA5D3_EDS) += start_microchip_sama5d3_eds +FILE_barebox-microchip-sama5d3-eds.img = start_microchip_sama5d3_eds.pblb +image-$(CONFIG_MACH_MICROCHIP_SAMA5D3_EDS) += barebox-microchip-sama5d3-eds.img + +pblb-$(CONFIG_MACH_MICROCHIP_SAMA5D3_EDS) += start_microchip_sama5d3_eds_xload_mmc +MAX_PBL_IMAGE_SIZE_start_microchip_sama5d3_eds_xload_mmc = 0xffff +FILE_barebox-microchip-sama5d3-eds-xload-mmc.img = start_microchip_sama5d3_eds_xload_mmc.pblb +image-$(CONFIG_MACH_MICROCHIP_SAMA5D3_EDS) += barebox-microchip-sama5d3-eds-xload-mmc.img + +pblb-$(CONFIG_MACH_SAMA5D3_XPLAINED) += start_sama5d3_xplained +FILE_barebox-sama5d3-xplained.img = start_sama5d3_xplained.pblb +image-$(CONFIG_MACH_SAMA5D3_XPLAINED) += barebox-sama5d3-xplained.img + +pblb-$(CONFIG_MACH_SAMA5D3_XPLAINED) += start_sama5d3_xplained_xload_mmc +MAX_PBL_IMAGE_SIZE_start_sama5d3_xplained_xload_mmc = 0xffff +FILE_barebox-sama5d3-xplained-xload-mmc.img = start_sama5d3_xplained_xload_mmc.pblb +image-$(CONFIG_MACH_SAMA5D3_XPLAINED) += barebox-sama5d3-xplained-xload-mmc.img + pblb-$(CONFIG_MACH_SAMA5D27_SOM1) += start_sama5d27_som1_ek FILE_barebox-sama5d27-som1-ek.img = start_sama5d27_som1_ek.pblb image-$(CONFIG_MACH_SAMA5D27_SOM1) += barebox-sama5d27-som1-ek.img @@ -31,3 +55,121 @@ pblb-$(CONFIG_MACH_SAMA5D27_GIANTBOARD) += start_sama5d27_giantboard_xload_mmc FILE_barebox-groboards-sama5d27-giantboard-xload-mmc.img = start_sama5d27_giantboard_xload_mmc.pblb MAX_PBL_IMAGE_SIZE_start_sama5d27_giantboard_xload_mmc = 0xffff image-$(CONFIG_MACH_SAMA5D27_GIANTBOARD) += barebox-groboards-sama5d27-giantboard-xload-mmc.img + +pblb-$(CONFIG_MACH_SKOV_ARM9CPU) += start_skov_arm9cpu_xload_mmc +FILE_barebox-skov-arm9cpu-xload-mmc.img = start_skov_arm9cpu_xload_mmc.pblb +MAX_PBL_MEMORY_SIZE_start_skov_arm9cpu = 0x12000 +image-$(CONFIG_MACH_SKOV_ARM9CPU) += barebox-skov-arm9cpu-xload-mmc.img + +pblb-$(CONFIG_MACH_SKOV_ARM9CPU) += start_skov_arm9cpu +FILE_barebox-skov-arm9cpu.img = start_skov_arm9cpu.pblb +image-$(CONFIG_MACH_SKOV_ARM9CPU) += barebox-skov-arm9cpu.img + +pblb-$(CONFIG_MACH_SAMA5D4_WIFX) += start_sama5d4_wifx_l1 +FILE_barebox-wifx-l1.img = start_sama5d4_wifx_l1.pblb +image-$(CONFIG_MACH_SAMA5D4_WIFX) += barebox-wifx-l1.img + +pblb-$(CONFIG_MACH_AT91SAM9261EK) += start_at91sam9261ek +FILE_barebox-at91sam9261ek.img = start_at91sam9261ek.pblb +image-$(CONFIG_MACH_AT91SAM9261EK) += barebox-at91sam9261ek.img + +pblb-$(CONFIG_MACH_AT91SAM9G10EK) += start_at91sam9g10ek +FILE_barebox-at91sam9g10ek.img = start_at91sam9g10ek.pblb +image-$(CONFIG_MACH_AT91SAM9G10EK) += barebox-at91sam9g10ek.img + +pblb-$(CONFIG_MACH_ANIMEO_IP) += start_animeo_ip +FILE_barebox-animeo-ip.img = start_animeo_ip.pblb +image-$(CONFIG_MACH_ANIMEO_IP) += barebox-animeo-ip.img + +pblb-$(CONFIG_MACH_AT91RM9200EK) += start_at91rm9200ek +FILE_barebox-at91rm9200ek.img = start_at91rm9200ek.pblb +image-$(CONFIG_MACH_AT91RM9200EK) += barebox-at91rm9200ek.img + +pblb-$(CONFIG_MACH_AT91SAM9260EK) += start_at91sam9260ek +FILE_barebox-at91sam9260ek.img = start_at91sam9260ek.pblb +image-$(CONFIG_MACH_AT91SAM9260EK) += barebox-at91sam9260ek.img + +pblb-$(CONFIG_MACH_AT91SAM9G20EK) += start_at91sam9g20ek +FILE_barebox-at91sam9g20ek.img = start_at91sam9g20ek.pblb +image-$(CONFIG_MACH_AT91SAM9G20EK) += barebox-at91sam9g20ek.img + +pblb-$(CONFIG_MACH_AT91SAM9M10G45EK) += start_at91sam9m10g45ek +FILE_barebox-at91sam9m10g45ek.img = start_at91sam9m10g45ek.pblb +image-$(CONFIG_MACH_AT91SAM9M10G45EK) += barebox-at91sam9m10g45ek.img + +pblb-$(CONFIG_MACH_AT91SAM9M10IHD) += start_at91sam9m10ihd +FILE_barebox-at91sam9m10ihd.img = start_at91sam9m10ihd.pblb +image-$(CONFIG_MACH_AT91SAM9M10IHD) += barebox-at91sam9m10ihd.img + +pblb-$(CONFIG_MACH_AT91SAM9N12EK) += start_at91sam9n12ek +FILE_barebox-at91sam9n12ek.img = start_at91sam9n12ek.pblb +image-$(CONFIG_MACH_AT91SAM9N12EK) += barebox-at91sam9n12ek.img + +pblb-$(CONFIG_MACH_DSS11) += start_dss11 +FILE_barebox-dss11.img = start_dss11.pblb +image-$(CONFIG_MACH_DSS11) += barebox-dss11.img + +pblb-$(CONFIG_MACH_HABA_KNX_LITE) += start_haba_knx_lite +FILE_barebox-haba-knx-lite.img = start_haba_knx_lite.pblb +image-$(CONFIG_MACH_HABA_KNX_LITE) += barebox-haba-knx-lite.img + +pblb-$(CONFIG_MACH_PM9261) += start_pm9261 +FILE_barebox-pm9261.img = start_pm9261.pblb +image-$(CONFIG_MACH_PM9261) += barebox-pm9261.img + +pblb-$(CONFIG_MACH_PM9263) += start_pm9263 +FILE_barebox-pm9263.img = start_pm9263.pblb +image-$(CONFIG_MACH_PM9263) += barebox-pm9263.img + +pblb-$(CONFIG_MACH_PM9G45) += start_pm9g45 +FILE_barebox-pm9g45.img = start_pm9g45.pblb +image-$(CONFIG_MACH_PM9G45) += barebox-pm9g45.img + +pblb-$(CONFIG_MACH_QIL_A9260) += start_qil_a926x +FILE_barebox-qil-a926x.img = start_qil_a926x.pblb +image-$(CONFIG_MACH_QIL_A9260) += barebox-qil-a926x.img + +pblb-$(CONFIG_MACH_QIL_A9G20) += start_qil_a9g20 +FILE_barebox-qil-a9g20.img = start_qil_a9g20.pblb +image-$(CONFIG_MACH_QIL_A9G20) += barebox-qil-a9g20.img + +pblb-$(CONFIG_MACH_GE863) += start_telit_evk_pro3 +FILE_barebox-telit-evk-pro3.img = start_telit_evk_pro3.pblb +image-$(CONFIG_MACH_GE863) += barebox-telit-evk-pro3.img + +pblb-$(CONFIG_MACH_TNY_A9260) += start_tny_a9260 +FILE_barebox-tny-a9260.img = start_tny_a9260.pblb +image-$(CONFIG_MACH_TNY_A9260) += barebox-tny-a9260.img + +pblb-$(CONFIG_MACH_TNY_A9263) += start_tny_a9263 +FILE_barebox-tny-a9263.img = start_tny_a9263.pblb +image-$(CONFIG_MACH_TNY_A9263) += barebox-tny-a9263.img + +pblb-$(CONFIG_MACH_TNY_A9G20) += start_tny_a9g20 +FILE_barebox-tny-a9g20.img = start_tny_a9g20.pblb +image-$(CONFIG_MACH_TNY_A9G20) += barebox-tny-a9g20.img + +pblb-$(CONFIG_MACH_USB_A9260) += start_usb_a9260 +FILE_barebox-usb-a9260.img = start_usb_a9260.pblb +image-$(CONFIG_MACH_USB_A9260) += barebox-usb-a9260.img + +pblb-$(CONFIG_MACH_USB_A9263) += start_usb_a9263 +FILE_barebox-usb-a9263.img = start_usb_a9263.pblb +image-$(CONFIG_MACH_USB_A9263) += barebox-usb-a9263.img + +pblb-$(CONFIG_MACH_USB_A9263) += start_usb_a9263_128m +FILE_barebox-usb-a9263-128m.img = start_usb_a9263_128m.pblb +image-$(CONFIG_MACH_USB_A9263) += barebox-usb-a9263-128m.img + +pblb-$(CONFIG_MACH_USB_A9G20) += start_usb_a9g20 +FILE_barebox-usb-a9g20.img = start_usb_a9g20.pblb +image-$(CONFIG_MACH_USB_A9G20) += barebox-usb-a9g20.img + +pblb-$(CONFIG_MACH_CALAO) += start_tny_a9260 start_tny_a9g20 \ + start_usb_a9260 start_usb_a9g20 +FILE_barebox-tny-a9260.img = start_tny_a9260.pblb +FILE_barebox-tny-a9g20.img = start_tny_a9g20.pblb +FILE_barebox-usb-a9260.img = start_usb_a9260.pblb +FILE_barebox-usb-a9g20.img = start_usb_a9g20.pblb +image-$(CONFIG_MACH_CALAO) += barebox-tny-a9260.img barebox-tny-a9g20.img \ + barebox-usb-a9260.img barebox-usb-a9g20.img diff --git a/images/Makefile.ath79 b/images/Makefile.ath79 index 072062b0aa..018c2223ce 100644 --- a/images/Makefile.ath79 +++ b/images/Makefile.ath79 @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0-only + pblb-$(CONFIG_SOC_QCA_AR9331) += start_ar9331_spi_trap FILE_barebox-ar9331-spi-trap.img = start_ar9331_spi_trap.pblb image-$(CONFIG_SOC_QCA_AR9331) += barebox-ar9331-spi-trap.img diff --git a/images/Makefile.bcm283x b/images/Makefile.bcm283x index 3fd2c3d06a..f4ef7f447c 100644 --- a/images/Makefile.bcm283x +++ b/images/Makefile.bcm283x @@ -1,7 +1,12 @@ +# SPDX-License-Identifier: GPL-2.0-only # # barebox image generation Makefile for BCM283x images # +# New boards use board-dt-2nd.img as common binary +# and have the videocore pass the correct DT. +ifeq ($(CONFIG_32BIT),y) + pblb-$(CONFIG_MACH_RPI) += start_raspberry_pi1 FILE_barebox-raspberry-pi-1.img = start_raspberry_pi1.pblb image-$(CONFIG_MACH_RPI) += barebox-raspberry-pi-1.img @@ -16,4 +21,10 @@ image-$(CONFIG_MACH_RPI3) += barebox-raspberry-pi-3.img pblb-$(CONFIG_MACH_RPI_CM3) += start_raspberry_pi_cm3 FILE_barebox-raspberry-pi-cm3.img = start_raspberry_pi_cm3.pblb -image-$(CONFIG_MACH_RPI_CM3) += barebox-raspberry-pi-cm3.img
\ No newline at end of file +image-$(CONFIG_MACH_RPI_CM3) += barebox-raspberry-pi-cm3.img + +endif + +pblb-$(CONFIG_MACH_RPI_COMMON) += start_raspberry_pi_generic +FILE_barebox-raspberry-pi.img = start_raspberry_pi_generic.pblb +image-$(CONFIG_MACH_RPI_COMMON) += barebox-raspberry-pi.img diff --git a/images/Makefile.bcm47xx b/images/Makefile.bcm47xx index 839243e3a8..569a2b0ed1 100644 --- a/images/Makefile.bcm47xx +++ b/images/Makefile.bcm47xx @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0-only + pblb-$(CONFIG_BOARD_DLINK_DIR320) += start_dlink_dir_320 FILE_barebox-dlink-dir-320.img = start_dlink_dir_320.pblb image-$(CONFIG_BOARD_DLINK_DIR320) += barebox-dlink-dir-320.img diff --git a/images/Makefile.clps711x b/images/Makefile.clps711x new file mode 100644 index 0000000000..d76911d627 --- /dev/null +++ b/images/Makefile.clps711x @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# barebox image generation Makefile for CLPS711X images +# + +pblb-$(CONFIG_MACH_CLEP7212) += start_ep7212_clep7212 +FILE_barebox-ep7212-clep7212.img = start_ep7212_clep7212.pblb +image-$(CONFIG_MACH_CLEP7212) += barebox-ep7212-clep7212.img diff --git a/images/Makefile.imx b/images/Makefile.imx index 3434a10e7c..d0f1f156ea 100644 --- a/images/Makefile.imx +++ b/images/Makefile.imx @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0-only # # barebox image generation Makefile for i.MX images # @@ -20,6 +21,20 @@ endif ) endef +define build_imx8m_habv4img = +$(eval +ifeq ($($(strip $(1))), y) + pblb-y += $(strip $(2)) + CFG_$(strip $(2)).pblb.imximg = $(board)/$(strip $(3)).imxcfg + MAX_PBL_MEMORY_SIZE_$(strip $(2)) = 0x3f000 + FILE_barebox-$(strip $(4)).img = $(strip $(2)).pblb.pimximg + FILE_barebox-$(strip $(4))-s.img = $(strip $(2)).pblb.psimximg + image-y += barebox-$(strip $(4)).img + image-$(CONFIG_HABV4_IMAGE_SIGNED) += barebox-$(strip $(4))-s.img +endif +) +endef + # %.imximg - convert into i.MX image # ---------------------------------------------------------------- @@ -87,10 +102,12 @@ FILE_barebox-kindle-ey21.img = start_imx50_kindle_ey21.pblb.imximg image-$(CONFIG_MACH_KINDLE_MX50) += barebox-kindle-ey21.img # ----------------------- i.MX51 based boards --------------------------- -pblb-$(CONFIG_MACH_CCMX51) += start_ccxmx51 -CFG_start_ccxmx51.pblb.imximg = $(board)/ccxmx51/flash-header.imxcfg -FILE_barebox-imx51-ccxmx51.img = start_ccxmx51.pblb.imximg -image-$(CONFIG_MACH_CCMX51) += barebox-imx51-ccxmx51.img +pblb-$(CONFIG_MACH_CCMX51) += start_ccxmx51_x16 start_ccxmx51_x32 +CFG_start_ccxmx51_x16.pblb.imximg = $(board)/ccxmx51/flash-header-x16.imxcfg +CFG_start_ccxmx51_x32.pblb.imximg = $(board)/ccxmx51/flash-header-x32.imxcfg +FILE_barebox-imx51-ccxmx51-x16.img = start_ccxmx51_x16.pblb.imximg +FILE_barebox-imx51-ccxmx51-x32.img = start_ccxmx51_x32.pblb.imximg +image-$(CONFIG_MACH_CCMX51) += barebox-imx51-ccxmx51-x16.img barebox-imx51-ccxmx51-x32.img pblb-$(CONFIG_MACH_FREESCALE_MX51_PDK) += start_imx51_babbage CFG_start_imx51_babbage.pblb.imximg = $(board)/freescale-mx51-babbage/flash-header-imx51-babbage.imxcfg @@ -179,6 +196,8 @@ $(call build_imx_habv4img, CONFIG_MACH_TQMA6X, start_imx6dl_mba6x, tqma6x/flash- $(call build_imx_habv4img, CONFIG_MACH_TQMA6X, start_imx6q_mba6x, tqma6x/flash-header-tqma6q, tq-tqma6q-mba6x) +$(call build_imx_habv4img, CONFIG_MACH_TQMA6UL, start_imx6ul_mba6ulx, tqma6ulx/flash-header-imx6ul-tqma6ulx, tq-tqma6ul-mba6ulx) + $(call build_imx_habv4img, CONFIG_MACH_PHYTEC_SOM_IMX6, start_phytec_pbab01_4gib, phytec-som-imx6/flash-header-phytec-pfla02-4gib, phytec-pbab01-4gib) $(call build_imx_habv4img, CONFIG_MACH_PHYTEC_SOM_IMX6, start_phytec_pbab01_2gib, phytec-som-imx6/flash-header-phytec-pfla02-2gib, phytec-pbab01-2gib) @@ -215,7 +234,11 @@ $(call build_imx_habv4img, CONFIG_MACH_SABRELITE, start_imx6q_sabrelite, freesca $(call build_imx_habv4img, CONFIG_MACH_SABRELITE, start_imx6dl_sabrelite, freescale-mx6-sabrelite/flash-header-mx6-sabrelite, freescale-imx6dl-sabrelite) -$(call build_imx_habv4img, CONFIG_MACH_SABRESD, start_imx6q_sabresd, freescale-mx6-sabresd/flash-header-mx6-sabresd, freescale-imx6q-sabresd) +$(call build_imx_habv4img, CONFIG_MACH_SABRESD, start_imx6q_sabresd, freescale-mx6-sabresd/flash-header-mx6q-sabresd, freescale-imx6q-sabresd) + +$(call build_imx_habv4img, CONFIG_MACH_SABRESD, start_imx6qp_sabresd, freescale-mx6-sabresd/flash-header-mx6qp-sabresd, freescale-imx6qp-sabresd) + +$(call build_imx_habv4img, CONFIG_MACH_SABRESD, start_imx6dl_sabresd, freescale-mx6-sabresd/flash-header-mx6dl-sabresd, freescale-imx6dl-sabresd) $(call build_imx_habv4img, CONFIG_MACH_UDOO_NEO, start_imx6sx_udoo_neo, udoo-neo/flash-header-mx6sx-udoo-neo_full, udoo-neo) @@ -251,6 +274,8 @@ $(call build_imx_habv4img, CONFIG_MACH_NITROGEN6, start_imx6dl_nitrogen6x_2g, bo $(call build_imx_habv4img, CONFIG_MACH_NITROGEN6, start_imx6qp_nitrogen6_max, boundarydevices-nitrogen6/flash-header-nitrogen6qp-max, boundarydevices-imx6qp-nitrogen6_max) +$(call build_imx_habv4img, CONFIG_MACH_NOVENA, start_imx6q_novena, novena/flash-header-novena, imx6q-novena) + $(call build_imx_habv4img, CONFIG_MACH_TX6X, start_imx6dl_tx6x_512m, karo-tx6x/flash-header-tx6dl-512m, karo-imx6dl-tx6x-512m) $(call build_imx_habv4img, CONFIG_MACH_TX6X, start_imx6dl_tx6x_1g, karo-tx6x/flash-header-tx6dl-1g, karo-imx6dl-tx6x-1g) @@ -327,10 +352,14 @@ $(call build_imx_habv4img, CONFIG_MACH_PROTONIC_IMX6, start_imx6qp_prtwd3, proto $(call build_imx_habv4img, CONFIG_MACH_PROTONIC_IMX6, start_imx6qp_vicutp, protonic-imx6/flash-header-vicutp, protonic-vicutp) +$(call build_imx_habv4img, CONFIG_MACH_PROTONIC_IMX6, start_imx6ull_jozacp, protonic-imx6/flash-header-jozacp, protonic-jozacp) + $(call build_imx_habv4img, CONFIG_MACH_KONTRON_SAMX6I, start_imx6q_samx6i, kontron-samx6i/flash-header-samx6i-quad, imx6q-samx6i) $(call build_imx_habv4img, CONFIG_MACH_KONTRON_SAMX6I, start_imx6dl_samx6i, kontron-samx6i/flash-header-samx6i-duallite, imx6dl-samx6i) +$(call build_imx_habv4img, CONFIG_MACH_SKOV_IMX6, start_imx6_skov_imx6, skov-imx6/flash-header-mx6-skov-imx6, skov-imx6) + $(call build_imx_habv4img, CONFIG_MACH_GW_VENTANA, start_imx6q_gw54xx_1gx64, gateworks-ventana/flash-header-ventana-quad-1gx64, gateworks-imx6q-ventana-1gx64) $(call build_imx_habv4img, CONFIG_MACH_ELTEC_HIPERCAM, start_imx6dl_eltec_hipercam, eltec-hipercam/flash-header-eltec-hipercam, eltec-hipercam) @@ -346,6 +375,8 @@ $(call build_imx_habv4img, CONFIG_MACH_GRINN_LITEBOARD, start_imx6ul_liteboard_5 $(call build_imx_habv4img, CONFIG_MACH_NXP_IMX6ULL_EVK, start_nxp_imx6ull_evk, nxp-imx6ull-evk/flash-header-nxp-imx6ull-evk, nxp-imx6ull-evk) +$(call build_imx_habv4img, CONFIG_MACH_PHYTEC_SOM_IMX6, start_phytec_phycore_imx6ul_som_emmc_512mb, phytec-som-imx6/flash-header-phytec-pcl063ul-512mb, phytec-phycore-imx6ul-emmc-512mb) + $(call build_imx_habv4img, CONFIG_MACH_PHYTEC_SOM_IMX6, start_phytec_phycore_imx6ul_som_nand_512mb, phytec-som-imx6/flash-header-phytec-pcl063ul-512mb, phytec-phycore-imx6ul-nand-512mb) $(call build_imx_habv4img, CONFIG_MACH_PHYTEC_SOM_IMX6, start_phytec_phycore_imx6ull_som_lc_nand_256mb, phytec-som-imx6/flash-header-phytec-pcl063ull-256mb, phytec-phycore-imx6ull-lc-nand-256mb) @@ -362,6 +393,12 @@ $(call build_imx_habv4img, CONFIG_MACH_TECHNEXION_PICO_HOBBIT, start_imx6ul_pico $(call build_imx_habv4img, CONFIG_MACH_DIGI_CCIMX6ULSBCPRO, start_imx6ul_ccimx6ulsbcpro, digi-ccimx6ulsom/flash-header-imx6ul-ccimx6ulsbcpro, imx6ul-ccimx6ulsbcpro) +$(call build_imx_habv4img, CONFIG_MACH_WEBASTO_CCBV2, start_imx6ul_ccbv2_256m, webasto-ccbv2/flash-header-imx6ul-webasto-ccbv2-256, imx6ul-webasto-ccbv2-256m) + +$(call build_imx_habv4img, CONFIG_MACH_WEBASTO_CCBV2, start_imx6ul_ccbv2_512m, webasto-ccbv2/flash-header-imx6ul-webasto-ccbv2-512, imx6ul-webasto-ccbv2-512m) + +$(call build_imx_habv4img, CONFIG_MACH_WEBASTO_CCBV2, start_imx6ul_marvel, webasto-ccbv2/flash-header-imx6ul-webasto-ccbv2-512, imx6ul-webasto-marvel-512m) + # ----------------------- vf6xx based boards --------------------------- pblb-$(CONFIG_MACH_VF610_TWR) += start_vf610_twr CFG_start_vf610_twr.pblb.imximg = $(board)/freescale-vf610-twr/flash-header-vf610-twr.imxcfg @@ -399,23 +436,58 @@ CFG_start_zii_imx7d_dev.pblb.imximg = $(board)/zii-imx7d-dev/flash-header-zii-im FILE_barebox-zii-imx7d-dev.img = start_zii_imx7d_dev.pblb.imximg image-$(CONFIG_MACH_ZII_IMX7D_DEV) += barebox-zii-imx7d-dev.img +pblb-$(CONFIG_MACH_MEERKAT96) += start_imx7d_meerkat96 +CFG_start_imx7d_meerkat96.pblb.imximg = $(board)/meerkat96/flash-header-mx7-meerkat96.imxcfg +FILE_barebox-meerkat96.img = start_imx7d_meerkat96.pblb.imximg +image-$(CONFIG_MACH_MEERKAT96) += barebox-meerkat96.img + +pblb-$(CONFIG_MACH_KAMSTRUP_MX7_CONCENTRATOR) += start_kamstrup_mx7_concentrator +CFG_start_kamstrup_mx7_concentrator.pblb.imximg = $(board)/kamstrup-mx7-concentrator/flash-header-tqma7d.imxcfg +FILE_barebox-kamstrup-mx7-concentrator.img = start_kamstrup_mx7_concentrator.pblb.imximg +image-$(CONFIG_MACH_KAMSTRUP_MX7_CONCENTRATOR) += barebox-kamstrup-mx7-concentrator.img + +pblb-$(CONFIG_MACH_VARISCITE_SOM_MX7) += start_gome_e143_01 +CFG_start_gome_e143_01.pblb.imximg = $(board)/variscite-som-mx7/flash-header.imxcfg +FILE_barebox-gome-e143_01.img = start_gome_e143_01.pblb.imximg +image-$(CONFIG_MACH_VARISCITE_SOM_MX7) += barebox-gome-e143_01.img + # ----------------------- i.MX8mm based boards -------------------------- -pblb-$(CONFIG_MACH_NXP_IMX8MM_EVK) += start_nxp_imx8mm_evk -CFG_start_nxp_imx8mm_evk.pblb.imximg = $(board)/nxp-imx8mm-evk/flash-header-imx8mm-evk.imxcfg -FILE_barebox-nxp-imx8mm-evk.img = start_nxp_imx8mm_evk.pblb.pimximg -image-$(CONFIG_MACH_NXP_IMX8MM_EVK) += barebox-nxp-imx8mm-evk.img +$(call build_imx8m_habv4img, CONFIG_MACH_NXP_IMX8MM_EVK, start_nxp_imx8mm_evk, nxp-imx8mm-evk/flash-header-imx8mm-evk, nxp-imx8mm-evk) + +$(call build_imx8m_habv4img, CONFIG_MACH_PHYTEC_SOM_IMX8MM, start_phyboard_polis_rdk_ddr_autodetect, phytec-som-imx8mm/flash-header-imx8mm-phyboard-polis-rdk, phyboard-polis-rdk-ddr-autodetect) + +$(call build_imx8m_habv4img, CONFIG_MACH_PHYTEC_SOM_IMX8MM, start_phyboard_polis_rdk_ddr_1g, phytec-som-imx8mm/flash-header-imx8mm-phyboard-polis-rdk, phyboard-polis-rdk-ddr-1g) + +$(call build_imx8m_habv4img, CONFIG_MACH_PHYTEC_SOM_IMX8MM, start_phyboard_polis_rdk_ddr_2g, phytec-som-imx8mm/flash-header-imx8mm-phyboard-polis-rdk, phyboard-polis-rdk-ddr-2g) + +$(call build_imx8m_habv4img, CONFIG_MACH_PHYTEC_SOM_IMX8MM, start_phyboard_polis_rdk_ddr_4g, phytec-som-imx8mm/flash-header-imx8mm-phyboard-polis-rdk, phyboard-polis-rdk-ddr-4g) + +$(call build_imx8m_habv4img, CONFIG_MACH_PROTONIC_IMX8M, start_prt_prt8mm, protonic-imx8m/flash-header-prt8mm, prt-prt8mm) + +$(call build_imx8m_habv4img, CONFIG_MACH_INNOCOMM_WB15, start_innocomm_wb15_evk, innocomm-imx8mm-wb15/flash-header-imx8mm-wb15, innocomm-imx8mm-wb15-evk) + +# ----------------------- i.MX8mn based boards -------------------------- +$(call build_imx8m_habv4img, CONFIG_MACH_NXP_IMX8MN_EVK, start_nxp_imx8mn_evk, nxp-imx8mn-evk/flash-header-imx8mn-evk, nxp-imx8mn-evk) # ----------------------- i.MX8mp based boards -------------------------- -pblb-$(CONFIG_MACH_NXP_IMX8MP_EVK) += start_nxp_imx8mp_evk -CFG_start_nxp_imx8mp_evk.pblb.imximg = $(board)/nxp-imx8mp-evk/flash-header-imx8mp-evk.imxcfg -FILE_barebox-nxp-imx8mp-evk.img = start_nxp_imx8mp_evk.pblb.pimximg -image-$(CONFIG_MACH_NXP_IMX8MP_EVK) += barebox-nxp-imx8mp-evk.img +$(call build_imx8m_habv4img, CONFIG_MACH_NXP_IMX8MP_EVK, start_nxp_imx8mp_evk, nxp-imx8mp-evk/flash-header-imx8mp-evk, nxp-imx8mp-evk) + +$(call build_imx8m_habv4img, CONFIG_MACH_KOENIGBAUER_ALPHAJET, start_koenigbauer_alphajet, congatec-qmx8p/flash-header-congatec-qmx8p, koenigbauer-alphajet) + +$(call build_imx8m_habv4img, CONFIG_MACH_KARO_QSXP_ML81, start_karo_qsxp_ml81, karo-qsxp-ml81/flash-header-karo-qsxp-ml81, karo-qsxp-ml81) + +$(call build_imx8m_habv4img, CONFIG_MACH_SKOV_IMX8MP, start_skov_imx8mp, skov-imx8mp/flash-header-skov-imx8mp, skov-imx8mp) + +$(call build_imx8m_habv4img, CONFIG_MACH_TQ_MBA8MPXL, start_tqma8mpxl, tqma8mpxl/flash-header-tqma8mpxl, tqma8mpxl) + +$(call build_imx8m_habv4img, CONFIG_MACH_POLYHEX_DEBIX, start_polyhex_debix, polyhex-debix/flash-header-polyhex-debix, polyhex-debix) + +$(call build_imx8m_habv4img, CONFIG_MACH_POLYHEX_DEBIX, start_polyhex_debix_som_a_8g, polyhex-debix/flash-header-polyhex-debix, polyhex-debix-som-a-8g) + +$(call build_imx8m_habv4img, CONFIG_MACH_VARISCITE_DT8MCUSTOMBOARD_IMX8MP, start_variscite_imx8mp_dart, variscite-dt8mcustomboard-imx8mp/flash-header-imx8mp-dart, variscite-imx8mp-dart-cb) # ----------------------- i.MX8mq based boards -------------------------- -pblb-$(CONFIG_MACH_NXP_IMX8MQ_EVK) += start_nxp_imx8mq_evk -CFG_start_nxp_imx8mq_evk.pblb.imximg = $(board)/nxp-imx8mq-evk/flash-header-imx8mq-evk.imxcfg -FILE_barebox-nxp-imx8mq-evk.img = start_nxp_imx8mq_evk.pblb.pimximg -image-$(CONFIG_MACH_NXP_IMX8MQ_EVK) += barebox-nxp-imx8mq-evk.img +$(call build_imx8m_habv4img, CONFIG_MACH_NXP_IMX8MQ_EVK, start_nxp_imx8mq_evk, nxp-imx8mq-evk/flash-header-imx8mq-evk, nxp-imx8mq-evk) pblb-$(CONFIG_MACH_ZII_IMX8MQ_DEV) += start_zii_imx8mq_dev CFG_start_zii_imx8mq_dev.pblb.imximg = $(board)/zii-imx8mq-dev/flash-header-zii-imx8mq-dev.imxcfg @@ -428,3 +500,21 @@ CFG_start_phytec_phycore_imx8mq.pblb.imximg = $(board)/phytec-som-imx8mq/flash-h MAX_PBL_MEMORY_SIZE_start_phytec_phycore_imx8mq = 0x3f000 FILE_barebox-phytec-phycore-imx8mq.img = start_phytec_phycore_imx8mq.pblb.imximg image-$(CONFIG_MACH_PHYTEC_SOM_IMX8MQ) += barebox-phytec-phycore-imx8mq.img + +pblb-$(CONFIG_MACH_MNT_REFORM) += start_mnt_reform +CFG_start_mnt_reform.pblb.imximg = $(board)/mnt-reform/flash-header-mnt-reform.imxcfg +MAX_PBL_MEMORY_SIZE_start_mnt_reform = 0x3f000 +FILE_barebox-mnt-reform.img = start_mnt_reform.pblb.imximg +image-$(CONFIG_MACH_MNT_REFORM) += barebox-mnt-reform.img + +# ----------------------- i.MX9 based boards -------------------------- +quiet_cmd_imx9img = IMX9IMG $@ +cmd_imx9img = $(objtree)/scripts/imx9image -soc IMX9 -c -ap $< a55 0x2049A000 -out $@ \ + -pblsize $($(patsubst $(obj)/%.pblb,PBL_MEMORY_SIZE_%,$<)) > /dev/null + +$(obj)/%.imx9img: $(obj)/% FORCE + $(call if_changed,imx9img) + +pblb-$(CONFIG_MACH_TQMA93XX) += start_imx93_tqma93xx +FILE_barebox-tqma93xx.img = start_imx93_tqma93xx.pblb.imx9img +image-$(CONFIG_MACH_TQMA93XX) += barebox-tqma93xx.img diff --git a/images/Makefile.k3 b/images/Makefile.k3 new file mode 100644 index 0000000000..f7acd78014 --- /dev/null +++ b/images/Makefile.k3 @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# barebox image generation Makefile for K3 images +# + +pblb-$(CONFIG_MACH_BEAGLEPLAY) += start_beagleplay +FILE_barebox-beagleplay.img = start_beagleplay.pblb +image-$(CONFIG_MACH_BEAGLEPLAY) += barebox-beagleplay.img + +$(obj)/k3-am625-beagleplay.fit: $(obj)/barebox-beagleplay.img +FILE_barebox-beagleplay-fit.img = k3-am625-beagleplay.fit +image-$(CONFIG_MACH_BEAGLEPLAY) += barebox-beagleplay-fit.img + diff --git a/images/Makefile.layerscape b/images/Makefile.layerscape index 806c09d8fb..9cb88270d7 100644 --- a/images/Makefile.layerscape +++ b/images/Makefile.layerscape @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0-only # # barebox image generation Makefile for NXP Layerscape images # @@ -12,30 +13,39 @@ quiet_cmd_lspbl_image = LSPBL-IMG $@ cmd_lspbl_image = $(CPP) $(lspbl_cfg_cpp_flags) -o $(lspbl-rcw-tmp) $(word 2,$^) ; \ $(CPP) $(lspbl_cfg_cpp_flags) -o $(lspbl-pbi-tmp) $(word 3,$^) ; \ $(objtree)/scripts/pblimage -o $@ -r $(lspbl-rcw-tmp) \ - -m $($(patsubst $(obj)/%.pblb,PBL_CODE_SIZE_%,$<)) -p $(lspbl-pbi-tmp) -i $< + -c $(2) -m $($(patsubst $(obj)/%.pblb,PBL_CODE_SIZE_%,$<)) -p $(lspbl-pbi-tmp) -i $< quiet_cmd_lspbl_spi_image = LSPBL-SPI-IMG $@ cmd_lspbl_spi_image = $(CPP) $(lspbl_cfg_cpp_flags) -o $(lspbl-rcw-tmp) $(word 2,$^) ; \ $(CPP) $(lspbl_cfg_cpp_flags) -o $(lspbl-pbi-tmp) $(word 3,$^) ; \ $(objtree)/scripts/pblimage -o $@ -r $(lspbl-rcw-tmp) -s \ - -m $($(patsubst $(obj)/%.pblb,PBL_CODE_SIZE_%,$<)) -p $(lspbl-pbi-tmp) -i $< + -c $(2) -m $($(patsubst $(obj)/%.pblb,PBL_CODE_SIZE_%,$<)) -p $(lspbl-pbi-tmp) -i $< + +pbl-$(CONFIG_MACH_LS1028ARDB) += start_ls1028ardb.pbl + +$(obj)/barebox-ls1028ardb-sd.image: $(obj)/start_ls1028ardb.pblb \ + $(board)/ls1028ardb/ls1028ardb_rcw_sd.cfg \ + $(board)/ls1028ardb/ls1028ardb_pbi.cfg + $(call if_changed,lspbl_image,ls1028a) + +image-$(CONFIG_MACH_LS1028ARDB) += barebox-ls1028ardb-sd.image pbl-$(CONFIG_MACH_LS1046ARDB) += start_ls1046ardb.pbl $(obj)/barebox-ls1046ardb-sd.image: $(obj)/start_ls1046ardb.pblb \ $(board)/ls1046ardb/ls1046ardb_rcw_sd.cfg \ $(board)/ls1046ardb/ls1046ardb_pbi.cfg - $(call if_changed,lspbl_image) + $(call if_changed,lspbl_image,ls1046a) $(obj)/barebox-ls1046ardb-emmc.image: $(obj)/start_ls1046ardb.pblb \ $(board)/ls1046ardb/ls1046ardb_rcw_emmc.cfg \ $(board)/ls1046ardb/ls1046ardb_pbi.cfg - $(call if_changed,lspbl_image) + $(call if_changed,lspbl_image,ls1046a) $(obj)/barebox-ls1046ardb-qspi.image: $(obj)/start_ls1046ardb.pblb \ $(board)/ls1046ardb/ls1046ardb_rcw_qspi.cfg \ $(board)/ls1046ardb/ls1046ardb_pbi.cfg - $(call if_changed,lspbl_spi_image) + $(call if_changed,lspbl_spi_image,ls1046a) image-$(CONFIG_MACH_LS1046ARDB) += barebox-ls1046ardb-sd.image barebox-ls1046ardb-qspi.image \ barebox-ls1046ardb-emmc.image @@ -45,12 +55,21 @@ pbl-$(CONFIG_MACH_TQMLS1046A) += start_tqmls1046a.pbl $(obj)/barebox-tqmls1046a-sd.image: $(obj)/start_tqmls1046a.pblb \ $(board)/tqmls1046a/tqmls1046a_rcw_sd_3333_5559.cfg \ $(board)/tqmls1046a/tqmls1046a_pbi.cfg - $(call if_changed,lspbl_image) + $(call if_changed,lspbl_image,ls1046a) $(obj)/barebox-tqmls1046a-qspi.image: $(obj)/start_tqmls1046a.pblb \ $(board)/tqmls1046a/tqmls1046a_rcw_qspi_3333_5559.cfg \ $(board)/tqmls1046a/tqmls1046a_pbi.cfg - $(call if_changed,lspbl_spi_image) + $(call if_changed,lspbl_spi_image,ls1046a) image-$(CONFIG_MACH_TQMLS1046A) += barebox-tqmls1046a-sd.image \ barebox-tqmls1046a-qspi.image + +pbl-$(CONFIG_MACH_LS1021AIOT) += start_ls1021aiot.pbl + +$(obj)/barebox-ls1021aiot-qspi.image: $(obj)/start_ls1021aiot.pblb \ + $(board)/ls1021aiot/ls102xa_rcw_sd_qspi.cfg \ + $(board)/ls1021aiot/ls102xa_pbi.cfg + $(call if_changed,lspbl_spi_image,ls1046a) + +image-$(CONFIG_MACH_LS1021AIOT) += barebox-ls1021aiot-qspi.image diff --git a/images/Makefile.loongson b/images/Makefile.loongson index f5918b5407..75c20bf4bc 100644 --- a/images/Makefile.loongson +++ b/images/Makefile.loongson @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0-only + pblb-$(CONFIG_BOARD_LOONGSON_TECH_LS1B) += start_loongson_ls1b FILE_barebox-loongson-ls1b.img = start_loongson_ls1b.pblb image-$(CONFIG_BOARD_LOONGSON_TECH_LS1B) += barebox-loongson-ls1b.img diff --git a/images/Makefile.malta b/images/Makefile.malta index 5739ec4640..87866f08ac 100644 --- a/images/Makefile.malta +++ b/images/Makefile.malta @@ -1,3 +1,13 @@ +# SPDX-License-Identifier: GPL-2.0-only + +quiet_cmd_bswap32_image = BSWAP4 $@ + cmd_bswap32_image = cp $< $@ && \ + truncate -s %4 $@ && \ + objcopy -I binary --reverse-byte=4 $@ + +$(obj)/%.img.swapped: $(obj)/%.img FORCE + $(call if_changed,bswap32_image) + pblb-$(CONFIG_BOARD_QEMU_MALTA) += start_qemu_malta FILE_barebox-qemu-malta.img = start_qemu_malta.pblb -image-$(CONFIG_BOARD_QEMU_MALTA) += barebox-qemu-malta.img +image-$(CONFIG_BOARD_QEMU_MALTA) += barebox-qemu-malta.img barebox-qemu-malta.img.swapped diff --git a/images/Makefile.mvebu b/images/Makefile.mvebu index 112227424b..7c918cb9f1 100644 --- a/images/Makefile.mvebu +++ b/images/Makefile.mvebu @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0-only # # barebox image generation Makefile for Marvell mvebu # diff --git a/images/Makefile.mxs b/images/Makefile.mxs index ceb7b376a5..87549afe48 100644 --- a/images/Makefile.mxs +++ b/images/Makefile.mxs @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0-only # # barebox image generation Makefile for MXS images # diff --git a/images/Makefile.omap3 b/images/Makefile.omap3 index 4d87b1da26..f8ecb68684 100644 --- a/images/Makefile.omap3 +++ b/images/Makefile.omap3 @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0-only +# # %.mlo - convert into mlo image # ---------------------------------------------------------------- quiet_cmd_omap3_mlo_image = MLO $@ diff --git a/images/Makefile.riscv b/images/Makefile.riscv new file mode 100644 index 0000000000..df0e5a9146 --- /dev/null +++ b/images/Makefile.riscv @@ -0,0 +1,29 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +quiet_cmd_erizo_nmon_image = MKIMAGE $@ + cmd_erizo_nmon_image = $(srctree)/scripts/erizo-nmon-image $< $@ || \ + echo "WARNING: Couldn't create erizo nmon image due to previous errors." + +$(obj)/%.nmon: $(obj)/%.img FORCE + $(call if_changed,erizo_nmon_image) + +pblb-$(CONFIG_BOARD_ERIZO_GENERIC) += start_erizo_generic +FILE_barebox-erizo-generic.img = start_erizo_generic.pblb +image-$(CONFIG_BOARD_ERIZO_GENERIC) += barebox-erizo-generic.img barebox-erizo-generic.nmon + +pblb-$(CONFIG_BOARD_HIFIVE) += start_hifive_unmatched start_hifive_unleashed +FILE_barebox-hifive-unmatched.img = start_hifive_unmatched.pblb +FILE_barebox-hifive-unleashed.img = start_hifive_unleashed.pblb +image-$(CONFIG_BOARD_HIFIVE) += barebox-hifive-unmatched.img barebox-hifive-unleashed.img + +pblb-$(CONFIG_BOARD_BEAGLEV) += start_beaglev_starlight +FILE_barebox-beaglev-starlight.img = start_beaglev_starlight.pblb +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.rockchip b/images/Makefile.rockchip index 16303164ae..ea32af4241 100644 --- a/images/Makefile.rockchip +++ b/images/Makefile.rockchip @@ -1,7 +1,26 @@ +# SPDX-License-Identifier: GPL-2.0-only # # barebox image generation Makefile for Rockchip images # +quiet_cmd_rkimg_image = RK-IMG $@ + cmd_rkimg_image = $(objtree)/scripts/rkimage -o $@ $(word 2,$^) $(word 1,$^) + +# params: CONFIG symbol, entry point, sdram-init.bin, board identifier string +define build_rockchip_image = +$(eval +ifeq ($($(strip $(1))), y) + pblb-y += $(strip $(2)) + FILE_barebox-$(strip $(4)).img = $(strip $(2)).pblb.rkimg + image-y += barebox-$(strip $(4)).img + +$$(obj)/$(strip $(2)).pblb.rkimg: $$(obj)/$(strip $(2)).pblb $$(wildcard $(board)/$(strip $(3))) FORCE + $$(Q)$$(if $$(word 3,$$^),rm -f $$@.missing-firmware,echo arch/$(SRCARCH)/boards/$(strip $(3)) >$$@.missing-firmware) + $$(call if_changed,$$(if $$(word 3,$$^),rkimg_image,0size)) +endif +) +endef + pblb-$(CONFIG_MACH_RADXA_ROCK) += start_radxa_rock FILE_barebox-radxa-rock.img = start_radxa_rock.pblb image-$(CONFIG_MACH_RADXA_ROCK) += barebox-radxa-rock.img @@ -9,3 +28,10 @@ image-$(CONFIG_MACH_RADXA_ROCK) += barebox-radxa-rock.img pblb-$(CONFIG_MACH_PHYTEC_SOM_RK3288) += start_rk3288_phycore_som FILE_barebox-rk3288-phycore-som.img = start_rk3288_phycore_som.pblb image-$(CONFIG_MACH_PHYTEC_SOM_RK3288) += barebox-rk3288-phycore-som.img + +$(call build_rockchip_image, CONFIG_MACH_RK3568_EVB, start_rk3568_evb, rockchip-rk3568-evb/sdram-init.bin, rk3568-evb) +$(call build_rockchip_image, CONFIG_MACH_RK3568_BPI_R2PRO, start_rk3568_bpi_r2pro, rockchip-rk3568-bpi-r2pro/sdram-init.bin, rk3568-bpi-r2pro) +$(call build_rockchip_image, CONFIG_MACH_PINE64_QUARTZ64, start_quartz64a, pine64-quartz64/sdram-init.bin, quartz64a) +$(call build_rockchip_image, CONFIG_MACH_RADXA_ROCK3, start_rock3a, radxa-rock3/sdram-init.bin, rock3a) +$(call build_rockchip_image, CONFIG_MACH_RADXA_ROCK5, start_rock5b, radxa-rock5/sdram-init.bin, rock5b) +$(call build_rockchip_image, CONFIG_MACH_RADXA_CM3, start_radxa_cm3_io, radxa-cm3/sdram-init.bin, radxa-cm3-io) diff --git a/images/Makefile.socfpga b/images/Makefile.socfpga index b36e2a5033..7f95bed032 100644 --- a/images/Makefile.socfpga +++ b/images/Makefile.socfpga @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0-only # # barebox image generation Makefile for Altera socfpga # @@ -30,6 +31,26 @@ pblb-$(CONFIG_MACH_SOCFPGA_TERASIC_DE0_NANO_SOC) += start_socfpga_de0_nano_soc FILE_barebox-socfpga-de0_nano_soc.img = start_socfpga_de0_nano_soc.pblb socfpga-barebox-$(CONFIG_MACH_SOCFPGA_TERASIC_DE0_NANO_SOC) += barebox-socfpga-de0_nano_soc.img +pblb-$(CONFIG_MACH_SOCFPGA_TERASIC_DE10_NANO) += start_socfpga_de10_nano_xload +FILE_barebox-socfpga-de10_nano-xload.img = start_socfpga_de10_nano_xload.pblb.socfpgaimg +socfpga-xload-$(CONFIG_MACH_SOCFPGA_TERASIC_DE10_NANO) += barebox-socfpga-de10_nano-xload.img + +pblb-$(CONFIG_MACH_SOCFPGA_TERASIC_DE10_NANO) += start_socfpga_de10_nano +FILE_barebox-socfpga-de10_nano.img = start_socfpga_de10_nano.pblb +socfpga-barebox-$(CONFIG_MACH_SOCFPGA_TERASIC_DE10_NANO) += barebox-socfpga-de10_nano.img + +pblb-$(CONFIG_MACH_SOCFPGA_ENCLUSTRA_AA1) += start_socfpga_aa1_xload +FILE_barebox-socfpga-aa1-xload.img = start_socfpga_aa1_xload.pblb.socfpgaimg +socfpga-barebox-$(CONFIG_MACH_SOCFPGA_ENCLUSTRA_AA1) += barebox-socfpga-aa1-xload.img + +pblb-$(CONFIG_MACH_SOCFPGA_ENCLUSTRA_AA1) += start_socfpga_aa1 +FILE_barebox-socfpga-aa1.img = start_socfpga_aa1.pblb +socfpga-barebox-$(CONFIG_MACH_SOCFPGA_ENCLUSTRA_AA1) += barebox-socfpga-aa1.img + +pblb-$(CONFIG_MACH_SOCFPGA_ENCLUSTRA_AA1) += start_socfpga_aa1_bringup +FILE_barebox-socfpga-aa1-bringup.img = start_socfpga_aa1_bringup.pblb +socfpga-barebox-$(CONFIG_MACH_SOCFPGA_ENCLUSTRA_AA1) += barebox-socfpga-aa1-bringup.img + pblb-$(CONFIG_MACH_SOCFPGA_REFLEX_ACHILLES) += start_socfpga_achilles_xload FILE_barebox-socfpga-achilles-xload.img = start_socfpga_achilles_xload.pblb.socfpgaimg socfpga-barebox-$(CONFIG_MACH_SOCFPGA_REFLEX_ACHILLES) += barebox-socfpga-achilles-xload.img diff --git a/images/Makefile.stm32mp b/images/Makefile.stm32mp index 1330a7ef3d..cc70aee923 100644 --- a/images/Makefile.stm32mp +++ b/images/Makefile.stm32mp @@ -6,24 +6,39 @@ # %.stm32 - convert into STM32MP image # -------------------------------------- -$(obj)/%.stm32: $(obj)/% FORCE +.SECONDEXPANSION: +$(obj)/%.stm32: $(obj)/$$(FILE_$$(@F)) FORCE + $(Q)if [ -z $(FILE_$(@F)) ]; then echo "FILE_$(@F) empty!"; false; fi + @(cd $(obj) && rm -f $(basename $(notdir $@)).img) $(call if_changed,stm32_image) -STM32MP1_OPTS = -a 0xc0100000 -e 0xc0100000 -v1 +define build_stm32mp_image = +$(eval +ifeq ($($(strip $(1))), y) + pblb-y += $(strip $(2)) + FILE_barebox-$(strip $(3)).stm32 = $(strip $(2)).pblb + OPTS_barebox-$(strip $(3)).stm32 = -a 0xc0100000 -e 0xc0100000 -v1 + image-y += barebox-$(strip $(3)).stm32 +endif +) +endef # -------------------------------------- -pblb-$(CONFIG_MACH_STM32MP157C_DK2) += start_stm32mp157c_dk2 -FILE_barebox-stm32mp157c-dk2.img = start_stm32mp157c_dk2.pblb.stm32 -OPTS_start_stm32mp157c_dk2.pblb.stm32 = $(STM32MP1_OPTS) -image-$(CONFIG_MACH_STM32MP157C_DK2) += barebox-stm32mp157c-dk2.img +# For use as --nt-fw (BL33) in FIP images +pblb-$(CONFIG_ARCH_STM32MP) += start_stm32mp_bl33 +FILE_barebox-stm32mp-generic-bl33.img = start_stm32mp_bl33.pblb +image-$(CONFIG_ARCH_STM32MP) += barebox-stm32mp-generic-bl33.img -pblb-$(CONFIG_MACH_LXA_MC1) += start_stm32mp157c_lxa_mc1 -FILE_barebox-stm32mp157c-lxa-mc1.img = start_stm32mp157c_lxa_mc1.pblb.stm32 -OPTS_start_stm32mp157c_lxa_mc1.pblb.stm32 = $(STM32MP1_OPTS) -image-$(CONFIG_MACH_LXA_MC1) += barebox-stm32mp157c-lxa-mc1.img +$(call build_stm32mp_image, CONFIG_MACH_STM32MP15XX_DKX, start_stm32mp15xx_dkx, stm32mp15xx-dkx) +$(call build_stm32mp_image, CONFIG_MACH_STM32MP15X_EV1, start_stm32mp15x_ev1, stm32mp15x-ev1) -pblb-$(CONFIG_MACH_SEEED_ODYSSEY) += start_stm32mp157c_seeed_odyssey -FILE_barebox-stm32mp157c-seeed-odyssey.img = start_stm32mp157c_seeed_odyssey.pblb.stm32 -OPTS_start_stm32mp157c_seeed_odyssey.pblb.stm32 = $(STM32MP1_OPTS) -image-$(CONFIG_MACH_SEEED_ODYSSEY) += barebox-stm32mp157c-seeed-odyssey.img +$(call build_stm32mp_image, CONFIG_MACH_LXA_MC1, start_stm32mp157c_lxa_mc1, stm32mp157c-lxa-mc1) + +$(call build_stm32mp_image, CONFIG_MACH_PROTONIC_STM32MP1, start_prtt1a, prtt1a) +$(call build_stm32mp_image, CONFIG_MACH_PROTONIC_STM32MP1, start_prtt1s, prtt1s) +$(call build_stm32mp_image, CONFIG_MACH_PROTONIC_STM32MP1, start_prtt1c, prtt1c) + +$(call build_stm32mp_image, CONFIG_MACH_SEEED_ODYSSEY, start_stm32mp157c_seeed_odyssey, stm32mp157c-seeed-odyssey) + +$(call build_stm32mp_image, CONFIG_MACH_PHYTEC_PHYCORE_STM32MP1, start_phycore_stm32mp1_3, phycore-stm32mp1) diff --git a/images/Makefile.tegra b/images/Makefile.tegra index f5b5841e06..97a92f321c 100644 --- a/images/Makefile.tegra +++ b/images/Makefile.tegra @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0-only # # barebox image generation Makefile for Tegra images # diff --git a/images/Makefile.versatile b/images/Makefile.versatile new file mode 100644 index 0000000000..c57a32868d --- /dev/null +++ b/images/Makefile.versatile @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# barebox image generation Makefile for VExpress images +# + +pblb-$(CONFIG_MACH_VERSATILEPB) += start_versatile_pb +FILE_barebox-versatile-pb.img = start_versatile_pb.pblb +image-$(CONFIG_MACH_VERSATILEPB) += barebox-versatile-pb.img diff --git a/images/Makefile.vexpress b/images/Makefile.vexpress index d2af191845..11c49cca0c 100644 --- a/images/Makefile.vexpress +++ b/images/Makefile.vexpress @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0-only # # barebox image generation Makefile for VExpress images # diff --git a/images/Makefile.xburst b/images/Makefile.xburst index 6c63a5657b..13ed130672 100644 --- a/images/Makefile.xburst +++ b/images/Makefile.xburst @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0-only + pblb-$(CONFIG_BOARD_CI20) += start_img_ci20 FILE_barebox-img-ci20.img = start_img_ci20.pblb image-$(CONFIG_BOARD_CI20) += barebox-img-ci20.img diff --git a/images/Makefile.zynq b/images/Makefile.zynq index b00e748697..ac9ce8157b 100644 --- a/images/Makefile.zynq +++ b/images/Makefile.zynq @@ -1,9 +1,10 @@ +# SPDX-License-Identifier: GPL-2.0-only # # barebox image generation Makefile for Xilinx Zynq images # zynqcfg_cpp_flags = -Wp,-MD,$(depfile) -nostdinc -x assembler-with-cpp \ - -I $(srctree)/arch/arm/mach-zynq/include + -I $(srctree)/include/mach zynqcfg-tmp = $(subst $(comma),_,$(dot-target).zynqcfg.tmp) diff --git a/images/Makefile.zynqmp b/images/Makefile.zynqmp index da3e90b847..baf5c2b08b 100644 --- a/images/Makefile.zynqmp +++ b/images/Makefile.zynqmp @@ -3,6 +3,14 @@ # barebox image generation Makefile for Xilinx Zynq UltraScale+ # +pblb-$(CONFIG_MACH_XILINX_ZCU102) += start_zynqmp_zcu102 +FILE_barebox-zynqmp-zcu102.img = start_zynqmp_zcu102.pblb +image-$(CONFIG_MACH_XILINX_ZCU102) += barebox-zynqmp-zcu102.img + pblb-$(CONFIG_MACH_XILINX_ZCU104) += start_zynqmp_zcu104 FILE_barebox-zynqmp-zcu104.img = start_zynqmp_zcu104.pblb image-$(CONFIG_MACH_XILINX_ZCU104) += barebox-zynqmp-zcu104.img + +pblb-$(CONFIG_MACH_XILINX_ZCU106) += start_zynqmp_zcu106 +FILE_barebox-zynqmp-zcu106.img = start_zynqmp_zcu106.pblb +image-$(CONFIG_MACH_XILINX_ZCU106) += barebox-zynqmp-zcu106.img diff --git a/images/k3-am625-beagleplay.its b/images/k3-am625-beagleplay.its new file mode 100644 index 0000000000..987d4d1660 --- /dev/null +++ b/images/k3-am625-beagleplay.its @@ -0,0 +1,29 @@ + +/dts-v1/; + +/ { + description = "barebox for BeaglePlay board"; + + images { + barebox { + description = "barebox for BeaglePlay board"; + type = "firmware"; + os = "linux"; + arch = "arm"; + compression = "none"; + load = <0x80800000>; + entry = <0x80800000>; + data = /incbin/("barebox-beagleplay.img"); + }; + }; + + configurations { + default = "conf-0"; + + conf-0 { + description = "barebox for BeaglePlay board"; + firmware = "barebox"; + loadables = "barebox"; + }; + }; +}; diff --git a/images/piggy.S b/images/piggy.S index c2274ebac7..654933ea2f 100644 --- a/images/piggy.S +++ b/images/piggy.S @@ -1,3 +1,5 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + .section .piggydata,"a" .globl input_data input_data: |