boot/ti-k3-image-gen: new package
This is the image generator that builds the initial boot binary, tiboot3.bin, for the R5 core on TI's K3 family of devices. This requires the R5 SPL output from the ti-k3-r5-loader package as well as some boot firmware from ti-k3-boot-firmware. Signed-off-by: Xuanhao Shi <x-shi@ti.com> Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Acked-by: Andrew Davis <afd@ti.com> Tested-by: Bryan Brattlof <bb@ti.com> Cc: Romain Naour <romain.naour@gmail.com> Reviewed-by: Francois Perrad <francois.perrad@gadz.org> Reviewed-by: Julien Olivain <ju.o@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
2389c76a95
commit
6134872d28
@ -133,6 +133,7 @@ F: package/python-docopt/
|
||||
|
||||
N: Anand Gadiyar <gadiyar@ti.com>
|
||||
F: boot/ti-k3-boot-firmware/
|
||||
F: boot/ti-k3-image-gen/
|
||||
F: boot/ti-k3-r5-loader/
|
||||
|
||||
N: André Zwing <nerv@dawncrow.de>
|
||||
@ -3116,6 +3117,7 @@ F: package/fwup/
|
||||
|
||||
N: Xuanhao Shi <X15000177@gmail.com>
|
||||
F: boot/ti-k3-boot-firmware/
|
||||
F: boot/ti-k3-image-gen/
|
||||
F: boot/ti-k3-r5-loader/
|
||||
|
||||
N: Yair Ben Avraham <yairba@protonmail.com>
|
||||
|
@ -20,6 +20,7 @@ source "boot/s500-bootloader/Config.in"
|
||||
source "boot/shim/Config.in"
|
||||
source "boot/syslinux/Config.in"
|
||||
source "boot/ti-k3-boot-firmware/Config.in"
|
||||
source "boot/ti-k3-image-gen/Config.in"
|
||||
source "boot/ti-k3-r5-loader/Config.in"
|
||||
source "boot/uboot/Config.in"
|
||||
source "boot/vexpress-firmware/Config.in"
|
||||
|
77
boot/ti-k3-image-gen/Config.in
Normal file
77
boot/ti-k3-image-gen/Config.in
Normal file
@ -0,0 +1,77 @@
|
||||
config BR2_TARGET_TI_K3_IMAGE_GEN
|
||||
bool "ti-k3-image-gen"
|
||||
depends on BR2_TARGET_TI_K3_R5_LOADER
|
||||
select BR2_TARGET_TI_K3_BOOT_FIRMWARE
|
||||
# We need FIT support in uboot-tools, which is why we select a
|
||||
# host package
|
||||
select BR2_PACKAGE_HOST_UBOOT_TOOLS
|
||||
select BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT
|
||||
help
|
||||
Use TI's k3-image-gen to build a separate bare metal boot
|
||||
binary from a separate SPL that is running on the R5 core.
|
||||
|
||||
https://git.ti.com/cgit/k3-image-gen/k3-image-gen/
|
||||
|
||||
if BR2_TARGET_TI_K3_IMAGE_GEN
|
||||
choice
|
||||
prompt "SoC family"
|
||||
|
||||
config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX
|
||||
bool "am62ax"
|
||||
|
||||
config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X
|
||||
bool "am62x"
|
||||
|
||||
config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM64X
|
||||
bool "am64x"
|
||||
|
||||
config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM65X
|
||||
bool "am65x"
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Security type"
|
||||
help
|
||||
The target SoC security type option for image gen. Valid
|
||||
options are "gp" for General Purpose devices, "hs-fs" for
|
||||
High Security - Field Securable devices, or "hs" for High
|
||||
Security - Security Enforcing devices. Note for all High
|
||||
Security device variants the TI_SECURE_DEV_PKG environmental
|
||||
variable must be defined at build time pointing to a valid
|
||||
core-secdev-k3 folder location, otherwise the build will
|
||||
fail, see
|
||||
https://git.ti.com/cgit/security-development-tools/core-secdev-k3
|
||||
|
||||
config BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_GP
|
||||
bool "gp"
|
||||
|
||||
config BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_HS_FS
|
||||
bool "hs-fs"
|
||||
|
||||
config BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_HS
|
||||
bool "hs"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_TI_K3_IMAGE_GEN_SOC
|
||||
string
|
||||
default "am62ax" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX
|
||||
default "am62x" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X
|
||||
default "am64x" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM64X
|
||||
default "am65x" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM65X
|
||||
|
||||
config BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE
|
||||
string
|
||||
default "ti-fs" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX
|
||||
default "ti-fs" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X
|
||||
default "ti-sci" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM64X
|
||||
default "ti-sci" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM65X
|
||||
|
||||
config BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE
|
||||
string
|
||||
default "gp" if BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_GP
|
||||
default "hs-fs" if BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_HS_FS
|
||||
default "hs" if BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_HS
|
||||
|
||||
endif
|
3
boot/ti-k3-image-gen/ti-k3-image-gen.hash
Normal file
3
boot/ti-k3-image-gen/ti-k3-image-gen.hash
Normal file
@ -0,0 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 f89ea4b1f5c992455b1a682fde48359221b53f3294135df4bf20feea6aea90e4 k3-image-gen-08.06.00.007.tar.gz
|
||||
sha256 f012e8d000d711d0539e5b4c812fc1d3a59c10fc1e3d6ea155556f5b78286845 LICENSE
|
54
boot/ti-k3-image-gen/ti-k3-image-gen.mk
Normal file
54
boot/ti-k3-image-gen/ti-k3-image-gen.mk
Normal file
@ -0,0 +1,54 @@
|
||||
################################################################################
|
||||
#
|
||||
# ti-k3-image-gen
|
||||
#
|
||||
################################################################################
|
||||
|
||||
TI_K3_IMAGE_GEN_VERSION = 08.06.00.007
|
||||
TI_K3_IMAGE_GEN_SITE = https://git.ti.com/cgit/k3-image-gen/k3-image-gen/snapshot
|
||||
TI_K3_IMAGE_GEN_SOURCE = k3-image-gen-$(TI_K3_IMAGE_GEN_VERSION).tar.gz
|
||||
TI_K3_IMAGE_GEN_LICENSE = BSD-3-Clause
|
||||
TI_K3_IMAGE_GEN_LICENSE_FILES = LICENSE
|
||||
TI_K3_IMAGE_GEN_INSTALL_IMAGES = YES
|
||||
|
||||
# - ti-k3-image-gen is used to build tiboot3.bin, using the
|
||||
# r5-u-boot-spl.bin file from the ti-k3-r5-loader package. Hence the
|
||||
# dependency on ti-k3-r5-loader.
|
||||
# - the ti-k3-image-gen makefiles seem to need some feature from Make
|
||||
# v4.0, similar to u-boot.
|
||||
TI_K3_IMAGE_GEN_DEPENDENCIES = \
|
||||
host-arm-gnu-toolchain \
|
||||
host-python3 \
|
||||
host-openssl \
|
||||
host-uboot-tools \
|
||||
ti-k3-r5-loader \
|
||||
ti-k3-boot-firmware \
|
||||
$(BR2_MAKE_HOST_DEPENDENCY)
|
||||
|
||||
TI_K3_IMAGE_GEN_FW_TYPE = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE))
|
||||
TI_K3_IMAGE_GEN_SOC = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_SOC))
|
||||
TI_K3_IMAGE_GEN_SECTYPE = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE))
|
||||
|
||||
TI_K3_IMAGE_GEN_SYSFW = $(TI_K3_IMAGE_GEN_FW_TYPE)-firmware-$(TI_K3_IMAGE_GEN_SOC)-$(TI_K3_IMAGE_GEN_SECTYPE).bin
|
||||
|
||||
define TI_K3_IMAGE_GEN_CONFIGURE_CMDS
|
||||
cp $(BINARIES_DIR)/ti-sysfw/$(TI_K3_IMAGE_GEN_SYSFW) $(@D)
|
||||
endef
|
||||
|
||||
define TI_K3_IMAGE_GEN_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) \
|
||||
$(BR2_MAKE) -C $(@D) \
|
||||
SOC=$(TI_K3_IMAGE_GEN_SOC) \
|
||||
SOC_TYPE=$(TI_K3_IMAGE_GEN_SECTYPE) \
|
||||
CONFIG=evm \
|
||||
CROSS_COMPILE=$(HOST_DIR)/bin/arm-none-eabi- \
|
||||
SBL=$(BINARIES_DIR)/r5-u-boot-spl.bin \
|
||||
O=$(@D)/tmp \
|
||||
BIN_DIR=$(@D)
|
||||
endef
|
||||
|
||||
define TI_K3_IMAGE_GEN_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/tiboot3.bin $(BINARIES_DIR)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
Loading…
Reference in New Issue
Block a user