From c238cc25dcd1cd77c36bfaf09e89b7c1b24a08c6 Mon Sep 17 00:00:00 2001 From: Bryan Brattlof Date: Wed, 14 Oct 2026 12:10:13 -0500 Subject: [PATCH] configs/ti_am64x_sk: bump tfa, linux and uboot versions Bump the am64x-sk reference board to use the latest stable tfa, uboot and linux kernel releases to pull in the latest bug fixes and features. Because swig 4.5.0 removes support for Python 2 compatibility we need to backport a patch for U-Boot to remove the Python 2 macros it uses to generate the final fimrware images. Signed-off-by: Bryan Brattlof [Julien: - add "Upstream:" and "Signed-off-by:" tags in patches - add link to upstream hash source in linux.hash ] Signed-off-by: Julien Olivain --- .../arm-trusted-firmware.hash | 2 +- board/ti/am64x-sk/patches/linux/linux.hash | 4 +- ...-removed-SWIG-Python-2-compatibility.patch | 67 +++++++++++++++++++ ...-removed-SWIG-Python-2-compatibility.patch | 67 +++++++++++++++++++ board/ti/am64x-sk/patches/uboot/uboot.hash | 2 +- configs/ti_am64x_sk_defconfig | 10 +-- 6 files changed, 143 insertions(+), 9 deletions(-) create mode 100644 board/ti/am64x-sk/patches/ti-k3-r5-loader/0001-pylibfdt-Replace-removed-SWIG-Python-2-compatibility.patch create mode 100644 board/ti/am64x-sk/patches/uboot/0001-pylibfdt-Replace-removed-SWIG-Python-2-compatibility.patch diff --git a/board/ti/am64x-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/ti/am64x-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash index 8b77e1f165..2e24bcd0de 100644 --- a/board/ti/am64x-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash +++ b/board/ti/am64x-sk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz +sha256 b807d8bf190b7c46b4260729b4bbe2f7df83cd1086edcb181d66595ae6598d23 arm-trusted-firmware-v2.15.0-git4.tar.gz diff --git a/board/ti/am64x-sk/patches/linux/linux.hash b/board/ti/am64x-sk/patches/linux/linux.hash index 53eb143894..49bf75b924 100644 --- a/board/ti/am64x-sk/patches/linux/linux.hash +++ b/board/ti/am64x-sk/patches/linux/linux.hash @@ -1,2 +1,2 @@ -# Locally calculated -sha256 774698422ee54c5f1e704456f37c65c06b51b4e9a8b0866f34580d86fef8e226 linux-6.10.tar.xz +# From https://www.kernel.org/pub/linux/kernel/v7.x/sha256sums.asc +sha256 2feaa70453e91f541be6a5c9078d8168e081af45a3d9718054850538cff2ebf3 linux-7.2.10.tar.xz diff --git a/board/ti/am64x-sk/patches/ti-k3-r5-loader/0001-pylibfdt-Replace-removed-SWIG-Python-2-compatibility.patch b/board/ti/am64x-sk/patches/ti-k3-r5-loader/0001-pylibfdt-Replace-removed-SWIG-Python-2-compatibility.patch new file mode 100644 index 0000000000..10968ce876 --- /dev/null +++ b/board/ti/am64x-sk/patches/ti-k3-r5-loader/0001-pylibfdt-Replace-removed-SWIG-Python-2-compatibility.patch @@ -0,0 +1,67 @@ +From 527115ef6783cec49e5610c523c124b399011361 Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Tue, 11 Aug 2026 15:34:33 +0200 +Subject: [PATCH] pylibfdt: Replace removed SWIG Python 2 compatibility macros +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +SWIG 4.5.0 removed Python 2 compatibility macros (PyInt_*, PyString_*) +from its runtime header pyhead.swg (see commit 79f7a2b7cb7d). Replace +them with their Python 3 C API equivalents: + +- PyString_FromString -> PyUnicode_FromString +- PyString_AsString -> PyBytes_AsString +- PyInt_AsLong -> PyLong_AsLong + +The replacements are safe since the macros were already aliased to +these exact functions in SWIG's Python 3 code path. + +This is a backport of dtc commit 5008d1d6a356 ("pylibfdt: Replace +removed SWIG Python 2 compatibility macros"). + +Signed-off-by: Jaipaul Cheernam +Reviewed-by: Jérémie Dautheribes +Tested-by: Jérémie Dautheribes +Signed-off-by: Peter Robinson +Reviewed-by: Peter Robinson +Upstream: https://git.u-boot-project.org/u-boot/u-boot/-/commit/527115ef6783cec49e5610c523c124b399011361 +Signed-off-by: Julien Olivain +--- + scripts/dtc/pylibfdt/libfdt.i_shipped | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped +index e4659489a96ab..326a15c7941e3 100644 +--- a/scripts/dtc/pylibfdt/libfdt.i_shipped ++++ b/scripts/dtc/pylibfdt/libfdt.i_shipped +@@ -1033,7 +1033,7 @@ typedef uint32_t fdt32_t; + PyObject *buff; + + if ($1) { +- resultobj = PyString_FromString( ++ resultobj = PyUnicode_FromString( + fdt_string(fdt1, fdt32_to_cpu($1->nameoff))); + buff = PyByteArray_FromStringAndSize( + (const char *)($1 + 1), fdt32_to_cpu($1->len)); +@@ -1064,13 +1064,13 @@ typedef uint32_t fdt32_t; + } + $1 = PyBytes_AsString($input); + %#else +- $1 = PyString_AsString($input); /* char *str */ ++ $1 = PyBytes_AsString($input); /* char *str */ + %#endif + } + + /* typemaps used for fdt_next_node() */ + %typemap(in, numinputs=1) int *depth (int depth) { +- depth = (int) PyInt_AsLong($input); ++ depth = (int) PyLong_AsLong($input); + $1 = &depth; + } + + +base-commit: 1262e50a34a0e01f974e8d909c5b255f8fa7199e +-- +2.55.0 + diff --git a/board/ti/am64x-sk/patches/uboot/0001-pylibfdt-Replace-removed-SWIG-Python-2-compatibility.patch b/board/ti/am64x-sk/patches/uboot/0001-pylibfdt-Replace-removed-SWIG-Python-2-compatibility.patch new file mode 100644 index 0000000000..10968ce876 --- /dev/null +++ b/board/ti/am64x-sk/patches/uboot/0001-pylibfdt-Replace-removed-SWIG-Python-2-compatibility.patch @@ -0,0 +1,67 @@ +From 527115ef6783cec49e5610c523c124b399011361 Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Tue, 11 Aug 2026 15:34:33 +0200 +Subject: [PATCH] pylibfdt: Replace removed SWIG Python 2 compatibility macros +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +SWIG 4.5.0 removed Python 2 compatibility macros (PyInt_*, PyString_*) +from its runtime header pyhead.swg (see commit 79f7a2b7cb7d). Replace +them with their Python 3 C API equivalents: + +- PyString_FromString -> PyUnicode_FromString +- PyString_AsString -> PyBytes_AsString +- PyInt_AsLong -> PyLong_AsLong + +The replacements are safe since the macros were already aliased to +these exact functions in SWIG's Python 3 code path. + +This is a backport of dtc commit 5008d1d6a356 ("pylibfdt: Replace +removed SWIG Python 2 compatibility macros"). + +Signed-off-by: Jaipaul Cheernam +Reviewed-by: Jérémie Dautheribes +Tested-by: Jérémie Dautheribes +Signed-off-by: Peter Robinson +Reviewed-by: Peter Robinson +Upstream: https://git.u-boot-project.org/u-boot/u-boot/-/commit/527115ef6783cec49e5610c523c124b399011361 +Signed-off-by: Julien Olivain +--- + scripts/dtc/pylibfdt/libfdt.i_shipped | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped +index e4659489a96ab..326a15c7941e3 100644 +--- a/scripts/dtc/pylibfdt/libfdt.i_shipped ++++ b/scripts/dtc/pylibfdt/libfdt.i_shipped +@@ -1033,7 +1033,7 @@ typedef uint32_t fdt32_t; + PyObject *buff; + + if ($1) { +- resultobj = PyString_FromString( ++ resultobj = PyUnicode_FromString( + fdt_string(fdt1, fdt32_to_cpu($1->nameoff))); + buff = PyByteArray_FromStringAndSize( + (const char *)($1 + 1), fdt32_to_cpu($1->len)); +@@ -1064,13 +1064,13 @@ typedef uint32_t fdt32_t; + } + $1 = PyBytes_AsString($input); + %#else +- $1 = PyString_AsString($input); /* char *str */ ++ $1 = PyBytes_AsString($input); /* char *str */ + %#endif + } + + /* typemaps used for fdt_next_node() */ + %typemap(in, numinputs=1) int *depth (int depth) { +- depth = (int) PyInt_AsLong($input); ++ depth = (int) PyLong_AsLong($input); + $1 = &depth; + } + + +base-commit: 1262e50a34a0e01f974e8d909c5b255f8fa7199e +-- +2.55.0 + diff --git a/board/ti/am64x-sk/patches/uboot/uboot.hash b/board/ti/am64x-sk/patches/uboot/uboot.hash index fe9b4f53dc..ff6e4ed2e2 100644 --- a/board/ti/am64x-sk/patches/uboot/uboot.hash +++ b/board/ti/am64x-sk/patches/uboot/uboot.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2 +sha256 78e8bfc382fe388f9b55aa1daf8c563522a037779b5d4c349d1415e381f1243e u-boot-2026.07.tar.bz2 diff --git a/configs/ti_am64x_sk_defconfig b/configs/ti_am64x_sk_defconfig index f31989e1e7..f914436d2d 100644 --- a/configs/ti_am64x_sk_defconfig +++ b/configs/ti_am64x_sk_defconfig @@ -10,7 +10,7 @@ BR2_ROOTFS_POST_BUILD_SCRIPT_ARGS="-c ttyS2,115200n8 -d k3-am642-sk.dtb -l am64x BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS="-c board/ti/am64x-sk/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.10" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="7.2.10" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am642-sk" @@ -18,10 +18,10 @@ BR2_PACKAGE_LINUX_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ROOTFS_EXT2_SIZE="180M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.11" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.15.0" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y @@ -29,12 +29,12 @@ BR2_TARGET_OPTEE_OS=y BR2_TARGET_OPTEE_OS_PLATFORM="k3-am64x" BR2_TARGET_TI_K3_R5_LOADER=y BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y -BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2026.07" BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am64x_evm_r5" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am64x_evm_a53" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y