From 0189bcb47c7733c36fcbcb88fbf26f57958db576 Mon Sep 17 00:00:00 2001 From: Xuanhao Shi Date: Tue, 6 Dec 2022 11:17:17 -0600 Subject: [PATCH] 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 Signed-off-by: Anand Gadiyar Reviewed-by: Giulio Benetti Acked-by: Andrew Davis Tested-by: Bryan Brattlof Cc: Romain Naour Cc: Francois Perrad Reviewed-by: Francois Perrad Signed-off-by: Thomas Petazzoni --- DEVELOPERS | 6 +++ boot/Config.in | 1 + boot/ti-k3-r5-loader/Config.in | 35 ++++++++++++++++ boot/ti-k3-r5-loader/ti-k3-r5-loader.hash | 3 ++ boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 49 +++++++++++++++++++++++ 5 files changed, 94 insertions(+) create mode 100644 boot/ti-k3-r5-loader/Config.in create mode 100644 boot/ti-k3-r5-loader/ti-k3-r5-loader.hash create mode 100644 boot/ti-k3-r5-loader/ti-k3-r5-loader.mk diff --git a/DEVELOPERS b/DEVELOPERS index 29dffaadf1..8e9a743c70 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -128,6 +128,9 @@ F: package/dcron/ F: package/libxmlrpc/ F: package/python-docopt/ +N: Anand Gadiyar +F: boot/ti-k3-r5-loader/ + N: André Zwing F: package/libkrb5/ F: package/openal/ @@ -3005,6 +3008,9 @@ F: package/python-pyusb/ N: Wojciech Niziński F: package/fwup/ +N: Xuanhao Shi +F: boot/ti-k3-r5-loader/ + N: Yair Ben Avraham F: package/casync/ F: package/gloox/ diff --git a/boot/Config.in b/boot/Config.in index 40472ae07d..ce17b2df6b 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -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" diff --git a/boot/ti-k3-r5-loader/Config.in b/boot/ti-k3-r5-loader/Config.in new file mode 100644 index 0000000000..10602c8df3 --- /dev/null +++ b/boot/ti-k3-r5-loader/Config.in @@ -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 diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.hash b/boot/ti-k3-r5-loader/ti-k3-r5-loader.hash new file mode 100644 index 0000000000..c5d1cb8e09 --- /dev/null +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 50b4482a505bc281ba8470c399a3c26e145e29b23500bc35c50debd7fa46bdf8 u-boot-2022.10.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Licenses/gpl-2.0.txt diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk new file mode 100644 index 0000000000..422ab20d71 --- /dev/null +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk @@ -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))