Add Khadas VIM3 (#1473)

* Add Khadas VIM3

Add Khadas VIM3 board support.

Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
This commit is contained in:
Stefan Agner
2021-08-06 14:14:09 +02:00
committed by GitHub
parent f47b371f23
commit ac407a6679
10 changed files with 1052 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
config BR2_PACKAGE_KHADAS_BOOT
bool "Khadas Amlogic Secure Boot Loader"
depends on BR2_TARGET_UBOOT
help
Add secure boot loader to U-Boot for Khadas Amlogic targets.
if BR2_PACKAGE_KHADAS_BOOT
choice
prompt "Target"
default BR2_PACKAGE_KHADAS_BOOT_VIM3
config BR2_PACKAGE_KHADAS_BOOT_VIM3
bool "VIM3"
help
Build boot loader for Khadas VIM3
endchoice
endif

View File

@@ -0,0 +1,110 @@
################################################################################
#
# Khadas AMLogic secure boot loader
#
################################################################################
KHADAS_BOOT_SOURCE = fip-$(KHADAS_BOOT_VERSION).tar.xz
KHADAS_BOOT_SITE = https://github.com/khadas/khadas-uboot/releases/download/tc
KHADAS_BOOT_LICENSE = GPL-2.0+
KHADAS_BOOT_LICENSE_FILES = Licenses/gpl-2.0.txt
KHADAS_BOOT_INSTALL_IMAGES = YES
KHADAS_BOOT_DEPENDENCIES = uboot
ifeq ($(BR2_PACKAGE_KHADAS_BOOT_VIM3),y)
KHADAS_BOOT_VERSION = 251220
KHADAS_BOOT_BINS += u-boot.gxl
KHADAS_BOOT_FIP_DIR = $(@D)/VIM3
define KHADAS_BOOT_BUILD_CMDS
# Implement signing u-boot.bin similar to how its done in
# https://github.com/spikerguy/khadas-uboot/blob/master/packages/u-boot-mainline/package.mk
mkdir -p $(@D)/fip
cp $(KHADAS_BOOT_FIP_DIR)/bl301.bin $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/acs.bin $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/bl2.bin $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/bl30.bin $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/bl31.img $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/ddr3_1d.fw $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/ddr4_1d.fw $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/ddr4_2d.fw $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/diag_lpddr4.fw $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/lpddr3_1d.fw $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/lpddr4_1d.fw $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/lpddr4_2d.fw $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/piei.fw $(@D)/fip/
cp $(KHADAS_BOOT_FIP_DIR)/aml_ddr.fw $(@D)/fip/
cp $(BINARIES_DIR)/u-boot.bin $(@D)/fip/bl33.bin
cd $(@D); $(KHADAS_BOOT_FIP_DIR)/blx_fix.sh \
fip/bl30.bin \
fip/zero_tmp \
fip/bl30_zero.bin \
fip/bl301.bin \
fip/bl301_zero.bin \
fip/bl30_new.bin \
bl30
cd $(@D); $(KHADAS_BOOT_FIP_DIR)/blx_fix.sh \
fip/bl2.bin \
fip/zero_tmp \
fip/bl2_zero.bin \
fip/acs.bin \
fip/bl21_zero.bin \
fip/bl2_new.bin \
bl2
cd $(@D); \
$(KHADAS_BOOT_FIP_DIR)/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \
--output fip/bl30_new.bin.g12a.enc \
--level v3
cd $(@D); \
$(KHADAS_BOOT_FIP_DIR)/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \
--output fip/bl30_new.bin.enc \
--level v3 --type bl30
cd $(@D); \
$(KHADAS_BOOT_FIP_DIR)/aml_encrypt_g12b --bl3sig --input fip/bl31.img \
--output fip/bl31.img.enc \
--level v3 --type bl31
cd $(@D); \
$(KHADAS_BOOT_FIP_DIR)/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \
--output fip/bl33.bin.enc \
--level v3 --type bl33 --compress lz4
cd $(@D); \
$(KHADAS_BOOT_FIP_DIR)/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \
--output fip/bl2.n.bin.sig
cd $(@D); \
$(KHADAS_BOOT_FIP_DIR)/aml_encrypt_g12b --bootmk \
--output fip/u-boot.bin \
--bl2 fip/bl2.n.bin.sig \
--bl30 fip/bl30_new.bin.enc \
--bl31 fip/bl31.img.enc \
--bl33 fip/bl33.bin.enc \
--ddrfw1 fip/ddr4_1d.fw \
--ddrfw2 fip/ddr4_2d.fw \
--ddrfw3 fip/ddr3_1d.fw \
--ddrfw4 fip/piei.fw \
--ddrfw5 fip/lpddr4_1d.fw \
--ddrfw6 fip/lpddr4_2d.fw \
--ddrfw7 fip/diag_lpddr4.fw \
--ddrfw8 fip/aml_ddr.fw \
--ddrfw9 fip/lpddr3_1d.fw \
--level v3
cp -f $(@D)/fip/u-boot.bin.sd.bin $(@D)/u-boot.gxl
endef
endif
define KHADAS_BOOT_INSTALL_IMAGES_CMDS
$(foreach f,$(KHADAS_BOOT_BINS), \
cp -dpf $(@D)/$(f) $(BINARIES_DIR)/
)
endef
$(eval $(generic-package))