aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2022-07-13 21:06:36 +0100
committerDaniel Golle <daniel@makrotopia.org>2022-08-28 20:33:15 +0100
commita4933cdd121d1689764445441f6e7fcf67dd3beb (patch)
tree43d8cdbc1891015fc3ef4d7efd467079bee8ec06
parentd118cbdfece181994a96d1bcb1868bd807d481bf (diff)
downloadupstream-a4933cdd121d1689764445441f6e7fcf67dd3beb.tar.gz
upstream-a4933cdd121d1689764445441f6e7fcf67dd3beb.tar.bz2
upstream-a4933cdd121d1689764445441f6e7fcf67dd3beb.zip
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@makrotopia.org>
-rw-r--r--package/boot/arm-trusted-firmware-mediatek/patches/100-increase-nor-bl3-size.patch11
-rw-r--r--package/boot/uboot-mediatek/Makefile9
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