[Buildroot] [git commit] boot/ti-k3-r5-loader: new package
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Sun Dec 11 20:14:20 UTC 2022
commit: https://git.buildroot.net/buildroot/commit/?id=0189bcb47c7733c36fcbcb88fbf26f57958db576
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
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 at ti.com>
Signed-off-by: Anand Gadiyar <gadiyar at ti.com>
Reviewed-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
Acked-by: Andrew Davis <afd at ti.com>
Tested-by: Bryan Brattlof <bb at ti.com>
Cc: Romain Naour <romain.naour at gmail.com>
Cc: Francois Perrad <francois.perrad at gadz.org>
Reviewed-by: Francois Perrad <francois.perrad at gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
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(+)
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 <gadiyar at ti.com>
+F: boot/ti-k3-r5-loader/
+
N: André Zwing <nerv at dawncrow.de>
F: package/libkrb5/
F: package/openal/
@@ -3005,6 +3008,9 @@ F: package/python-pyusb/
N: Wojciech NiziÅski <niziak at spox.org>
F: package/fwup/
+N: Xuanhao Shi <X15000177 at gmail.com>
+F: boot/ti-k3-r5-loader/
+
N: Yair Ben Avraham <yairba at protonmail.com>
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))
More information about the buildroot
mailing list