[openwrt/openwrt] uboot-mediatek: add support for compressed BL3/FIP image

LEDE Commits lede-commits at lists.infradead.org
Sun Aug 28 12:42:06 PDT 2022


dangole pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/a4933cdd121d1689764445441f6e7fcf67dd3beb

commit a4933cdd121d1689764445441f6e7fcf67dd3beb
Author: Daniel Golle <daniel at makrotopia.org>
AuthorDate: Wed Jul 13 21:06:36 2022 +0100

    uboot-mediatek: add support for compressed BL3/FIP image
    
    MediaTek's ARM Trusted Firmware v2.7+ allows the images inside a FIP
    structure to be compressed. Make use of that for boards with NOR flash.
    
    Signed-off-by: Daniel Golle <daniel at makrotopia.org>
---
 .../patches/100-increase-nor-bl3-size.patch                   | 11 -----------
 package/boot/uboot-mediatek/Makefile                          |  9 +++++++--
 2 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/package/boot/arm-trusted-firmware-mediatek/patches/100-increase-nor-bl3-size.patch b/package/boot/arm-trusted-firmware-mediatek/patches/100-increase-nor-bl3-size.patch
deleted file mode 100644
index 8de3cd77f6..0000000000
--- a/package/boot/arm-trusted-firmware-mediatek/patches/100-increase-nor-bl3-size.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/plat/mediatek/mt7622/bl2_boot_nor.c
-+++ b/plat/mediatek/mt7622/bl2_boot_nor.c
-@@ -12,7 +12,7 @@
- #define MT7622_NOR_MAP_BASE		0x30000000
- 
- #define FIP_BASE			0x20000
--#define FIP_SIZE			0x80000
-+#define FIP_SIZE			0xa0000
- 
- const io_block_spec_t mtk_boot_dev_fip_spec = {
- 	.offset	= MT7622_NOR_MAP_BASE + FIP_BASE,
diff --git a/package/boot/uboot-mediatek/Makefile b/package/boot/uboot-mediatek/Makefile
index 314cb8b84b..a8add7ef94 100644
--- a/package/boot/uboot-mediatek/Makefile
+++ b/package/boot/uboot-mediatek/Makefile
@@ -132,6 +132,7 @@ define U-Boot/mt7622_ubnt_unifi-6-lr
   BL2_BOOTDEV:=nor
   BL2_DDRBLOB:=2
   DEPENDS:=+trusted-firmware-a-mt7622-nor-2ddr
+  FIP_COMPRESS:=1
 endef
 
 define U-Boot/mt7623a_unielec_u7623
@@ -196,9 +197,13 @@ UBOOT_MAKE_FLAGS += $(UBOOT_IMAGE:.fip=.bin)
 endif
 
 define Build/fip-image
+	$(if $(FIP_COMPRESS),\
+		xz -f -e -k -9 -C crc32 $(STAGING_DIR_IMAGE)/$(BUILD_SUBTARGET)-$(BL2_BOOTDEV)-$(BL2_DDRBLOB)ddr-bl31.bin ;\
+		xz -f -e -k -9 -C crc32 $(PKG_BUILD_DIR)/u-boot.bin \
+	)
 	$(STAGING_DIR_HOST)/bin/fiptool create \
-		--soc-fw $(STAGING_DIR_IMAGE)/$(BUILD_SUBTARGET)-$(BL2_BOOTDEV)-$(BL2_DDRBLOB)ddr-bl31.bin \
-		--nt-fw $(PKG_BUILD_DIR)/u-boot.bin \
+		--soc-fw $(STAGING_DIR_IMAGE)/$(BUILD_SUBTARGET)-$(BL2_BOOTDEV)-$(BL2_DDRBLOB)ddr-bl31.bin$(if $(FIP_COMPRESS),.xz) \
+		--nt-fw $(PKG_BUILD_DIR)/u-boot.bin$(if $(FIP_COMPRESS),.xz) \
 		$(PKG_BUILD_DIR)/u-boot.fip
 endef
 




More information about the lede-commits mailing list