boot/ti-k3-r5-loader: new package

This is a separate U-Boot package that allows to build the
intermediate SPL binary for the Cortex-R5 core on TI's k3
platforms. Usually, the resulting SPL will be used for k3-image-gen to
build the full R5 boot binary tiboot3.bin.

Signed-off-by: Xuanhao Shi <x-shi@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@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>
Cc: Francois Perrad <francois.perrad@gadz.org>
Reviewed-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Xuanhao Shi 2022-12-06 11:17:17 -06:00 committed by Thomas Petazzoni
parent 93d982207b
commit 0189bcb47c
5 changed files with 94 additions and 0 deletions

View File

@ -128,6 +128,9 @@ F: package/dcron/
F: package/libxmlrpc/
F: package/python-docopt/
N: Anand Gadiyar <gadiyar@ti.com>
F: boot/ti-k3-r5-loader/
N: André Zwing <nerv@dawncrow.de>
F: package/libkrb5/
F: package/openal/
@ -3005,6 +3008,9 @@ F: package/python-pyusb/
N: Wojciech Niziński <niziak@spox.org>
F: package/fwup/
N: Xuanhao Shi <X15000177@gmail.com>
F: boot/ti-k3-r5-loader/
N: Yair Ben Avraham <yairba@protonmail.com>
F: package/casync/
F: package/gloox/

View File

@ -22,6 +22,7 @@ source "boot/s500-bootloader/Config.in"
source "boot/shim/Config.in"
source "boot/sun20i-d1-spl/Config.in"
source "boot/syslinux/Config.in"
source "boot/ti-k3-r5-loader/Config.in"
source "boot/uboot/Config.in"
source "boot/vexpress-firmware/Config.in"

View File

@ -0,0 +1,35 @@
config BR2_TARGET_TI_K3_R5_LOADER
bool "ti-k3-r5-loader"
depends on BR2_aarch64
help
Separate U-Boot build for R5 cores on TI's k3 boards.
Usually used to build tiboot3.bin with k3-image-gen.
if BR2_TARGET_TI_K3_R5_LOADER
choice
prompt "Configuration"
default BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
config BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
bool "Using an in-tree board defconfig file"
config BR2_TARGET_TI_K3_R5_LOADER_USE_CUSTOM_CONFIG
bool "Using a custom board (def)config file"
endchoice
config BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG
string "Board defconfig"
depends on BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
help
Name of the board for which TI K3 R5 Loader should be
built, without the _defconfig suffix.
config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_CONFIG_FILE
string "Configuration file path"
depends on BR2_TARGET_TI_K3_R5_LOADER_USE_CUSTOM_CONFIG
help
Path to the TI K3 R5 Loader configuration file.
endif

View File

@ -0,0 +1,3 @@
# Locally computed:
sha256 50b4482a505bc281ba8470c399a3c26e145e29b23500bc35c50debd7fa46bdf8 u-boot-2022.10.tar.bz2
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Licenses/gpl-2.0.txt

View File

@ -0,0 +1,49 @@
################################################################################
#
# ti-k3-r5-loader
#
################################################################################
TI_K3_R5_LOADER_VERSION = 2022.10
TI_K3_R5_LOADER_SITE = https://ftp.denx.de/pub/u-boot
TI_K3_R5_LOADER_SOURCE = u-boot-$(TI_K3_R5_LOADER_VERSION).tar.bz2
TI_K3_R5_LOADER_LICENSE = GPL-2.0+
TI_K3_R5_LOADER_LICENSE_FILES = Licenses/gpl-2.0.txt
TI_K3_R5_LOADER_CPE_ID_VENDOR = denx
TI_K3_R5_LOADER_CPE_ID_PRODUCT = u-boot
TI_K3_R5_LOADER_INSTALL_IMAGES = YES
TI_K3_R5_LOADER_DEPENDENCIES = \
host-pkgconf \
$(BR2_MAKE_HOST_DEPENDENCY) \
host-arm-gnu-toolchain \
host-openssl
TI_K3_R5_LOADER_MAKE = $(BR2_MAKE)
TI_K3_R5_LOADER_MAKE_ENV = $(TARGET_MAKE_ENV)
TI_K3_R5_LOADER_KCONFIG_DEPENDENCIES = \
host-arm-gnu-toolchain \
$(BR2_MAKE_HOST_DEPENDENCY) \
$(BR2_BISON_HOST_DEPENDENCY) \
$(BR2_FLEX_HOST_DEPENDENCY)
TI_K3_R5_LOADER_BOARD = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_BOARD))
ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG),y)
TI_K3_R5_LOADER_KCONFIG_DEFCONFIG = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG))_defconfig
else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_USE_CUSTOM_CONFIG),y)
TI_K3_R5_LOADER_KCONFIG_FILE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_CONFIG_FILE))
endif # BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
TI_K3_R5_LOADER_MAKE_OPTS = \
CROSS_COMPILE=$(HOST_DIR)/bin/arm-none-eabi- \
ARCH=arm \
HOSTCC="$(HOSTCC) $(subst -I/,-isystem /,$(subst -I /,-isystem /,$(HOST_CFLAGS)))" \
HOSTLDFLAGS="$(HOST_LDFLAGS)"
define TI_K3_R5_LOADER_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) $(TI_K3_R5_LOADER_MAKE) -C $(@D) $(TI_K3_R5_LOADER_MAKE_OPTS)
endef
define TI_K3_R5_LOADER_INSTALL_IMAGES_CMDS
cp $(@D)/spl/u-boot-spl.bin $(BINARIES_DIR)/r5-u-boot-spl.bin
endef
$(eval $(kconfig-package))