All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] board/andes/ae350: bump to AndeSight v5.4.x and add OP-TEE
@ 2026-01-11 16:49 Che-Wei Chuang via buildroot
  2026-01-30  9:25 ` Leo Liang via buildroot
  0 siblings, 1 reply; 2+ messages in thread
From: Che-Wei Chuang via buildroot @ 2026-01-11 16:49 UTC (permalink / raw)
  To: buildroot; +Cc: Leo Yu-Chi Liang, Che-Wei Chuang

Update the Andes AE350 board support to align with the AndeSight v5.4.x
software stack. This update includes the following changes:

- Bump Linux kernel to v6.6.49, and update U-Boot and OpenSBI to the
  corresponding AndeSight v5.4.x custom tarballs for the QEMU Andes
  AE350 machine.
- Add optional support for OP-TEE (Open Portable Trusted Execution
  Environment) via config fragments.
- Update genimage_sdcard.cfg to align the final SD card image size to a
  power of 2, which is required for correct QEMU emulation.
- Modify post-build.sh to install all generated DTBs rather than a single
  hardcoded DTB.
- Add a patch for optee-test to disable fragmentation calculation, fixing
  a build failure caused by struct mismatch between optee-test 4.6.0
  and the older optee-os 4.3.0.

Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
---
 board/andes/ae350/genimage_sdcard.cfg         |   8 +-
 board/andes/ae350/linux.config.fragment       |   1 +
 board/andes/ae350/patches/linux/linux.hash    |   3 +-
 .../andes/ae350/patches/opensbi/opensbi.hash  |   3 +-
 .../patches/optee-client/optee-client.hash    |   2 +
 .../optee-examples/optee-examples.hash        |   2 +
 .../ae350/patches/optee-os/optee-os.hash      |   2 +
 ...ble-fragmentation-calculation-for-ol.patch |  44 ++++++
 .../ae350/patches/optee-test/optee-test.hash  |   2 +
 board/andes/ae350/patches/uboot/uboot.hash    |   3 +-
 board/andes/ae350/post-build.sh               |  12 +-
 board/andes/ae350/readme.txt                  | 126 +++++++++++++++++-
 .../boot/extlinux/extlinux.conf               |   1 -
 board/andes/ae350/uboot-optee.config.fragment |   5 +
 board/andes/ae350/uboot.config.fragment       |   5 +
 configs/andes_ae350_45_defconfig              |  17 ++-
 16 files changed, 215 insertions(+), 21 deletions(-)
 create mode 100644 board/andes/ae350/linux.config.fragment
 create mode 100644 board/andes/ae350/patches/optee-client/optee-client.hash
 create mode 100644 board/andes/ae350/patches/optee-examples/optee-examples.hash
 create mode 100644 board/andes/ae350/patches/optee-os/optee-os.hash
 create mode 100644 board/andes/ae350/patches/optee-test/4.6.0/0001-xtest-stats-Disable-fragmentation-calculation-for-ol.patch
 create mode 100644 board/andes/ae350/patches/optee-test/optee-test.hash
 create mode 100644 board/andes/ae350/uboot-optee.config.fragment

diff --git a/board/andes/ae350/genimage_sdcard.cfg b/board/andes/ae350/genimage_sdcard.cfg
index 58c6f8f156..2b5b1ae0b7 100644
--- a/board/andes/ae350/genimage_sdcard.cfg
+++ b/board/andes/ae350/genimage_sdcard.cfg
@@ -3,10 +3,10 @@ image boot.vfat {
 		files = {
 			"u-boot-spl.bin",
 			"u-boot.itb",
-			"ae350_ax45mp.dtb",
+			"dtb",
 		}
 	}
-	size = 2M
+	size = 2040K
 }
 
 image sdcard.img {
@@ -16,11 +16,15 @@ image sdcard.img {
 	partition boot {
 		partition-type = 0xC
 		image = "boot.vfat"
+		offset = 8K
+		size = 2040K # 2MB - 8KB
 	}
 
 	partition rootfs {
 		partition-type = 0x83
 		bootable = true
 		image = "rootfs.ext4"
+		offset = 2M
+		size = 30M
 	}
 }
diff --git a/board/andes/ae350/linux.config.fragment b/board/andes/ae350/linux.config.fragment
new file mode 100644
index 0000000000..becad4d7ed
--- /dev/null
+++ b/board/andes/ae350/linux.config.fragment
@@ -0,0 +1 @@
+CONFIG_INITRAMFS_SOURCE=""
diff --git a/board/andes/ae350/patches/linux/linux.hash b/board/andes/ae350/patches/linux/linux.hash
index 1a6a136b71..16fc60fe1b 100644
--- a/board/andes/ae350/patches/linux/linux.hash
+++ b/board/andes/ae350/patches/linux/linux.hash
@@ -1,2 +1,3 @@
 # Locally calculated
-sha256  c71af3d2c86c0a0deca4f54b51d1c35217082b030052cc3513dc42e852652733  linux-v6.0.y-andes.tar.gz
+sha256  92564d3bb7643873232b19c605d77d0ab888f6a9142d1436a25d01239bceeed0  linux-ast-v5_4_1-release.tar.gz
+sha256  2a1dc278902473fed28fc40d4eecdbe0692b23c1282649db8281efcb8306e679  linux-optee_ast540_v4.3.tar.gz
diff --git a/board/andes/ae350/patches/opensbi/opensbi.hash b/board/andes/ae350/patches/opensbi/opensbi.hash
index d7893a1dee..67d9b2c562 100644
--- a/board/andes/ae350/patches/opensbi/opensbi.hash
+++ b/board/andes/ae350/patches/opensbi/opensbi.hash
@@ -1,2 +1,3 @@
 # Locally calculated
-sha256  d11702103f177a2914e94eec57ce5ed820296d874f6b6525c4482e55d71a3667  opensbi-1.6.tar.gz
+sha256  f53ee069cfee739d0dc22dc65006c9dde6b18f41044aac3b3eda236266bc7152  opensbi-ast-v5_4_1-release.tar.gz
+sha256  70a38b6d3c8c9c4eaeb6076480e567c7c5155f321e8989492ccc95ad87304185  opensbi-optee_ast540_v4.3.tar.gz
diff --git a/board/andes/ae350/patches/optee-client/optee-client.hash b/board/andes/ae350/patches/optee-client/optee-client.hash
new file mode 100644
index 0000000000..0154c2b2e9
--- /dev/null
+++ b/board/andes/ae350/patches/optee-client/optee-client.hash
@@ -0,0 +1,2 @@
+# From https://github.com/OP-TEE/optee_client/releases/tag/4.3.0
+sha256  a9a91bdb433df795c87a6d15198effbd648e3671ae611f2a3f8b41229d61cce0  optee_client-4.3.0.tar.gz
diff --git a/board/andes/ae350/patches/optee-examples/optee-examples.hash b/board/andes/ae350/patches/optee-examples/optee-examples.hash
new file mode 100644
index 0000000000..bf831bbf9c
--- /dev/null
+++ b/board/andes/ae350/patches/optee-examples/optee-examples.hash
@@ -0,0 +1,2 @@
+# From https://github.com/linaro-swg/optee_examples/releases/tag/4.3.0
+sha256  ee1576617365b5fe9d20d72c16cf6b39159eb79b1401189bd37a91ef03371820  optee_examples-4.3.0.tar.gz
diff --git a/board/andes/ae350/patches/optee-os/optee-os.hash b/board/andes/ae350/patches/optee-os/optee-os.hash
new file mode 100644
index 0000000000..0e1dacd925
--- /dev/null
+++ b/board/andes/ae350/patches/optee-os/optee-os.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256  f56fa9636afe671f67b87b1bfcd546d124003a4817ad1b47d1a8c91d80a4043a  optee_os-optee_ast540_v4.3.tar.gz
diff --git a/board/andes/ae350/patches/optee-test/4.6.0/0001-xtest-stats-Disable-fragmentation-calculation-for-ol.patch b/board/andes/ae350/patches/optee-test/4.6.0/0001-xtest-stats-Disable-fragmentation-calculation-for-ol.patch
new file mode 100644
index 0000000000..1121e7865a
--- /dev/null
+++ b/board/andes/ae350/patches/optee-test/4.6.0/0001-xtest-stats-Disable-fragmentation-calculation-for-ol.patch
@@ -0,0 +1,44 @@
+From cc87f97d5b4b29cf13df14e475f31b4806e4eae7 Mon Sep 17 00:00:00 2001
+From: Che-Wei Chuang <cnoize@andestech.com>
+Date: Tue, 6 Jan 2026 11:19:31 +0800
+Subject: [PATCH] xtest: stats: Disable fragmentation calculation for older
+ OP-TEE OS
+
+optee-os versions prior to 4.6.0 do not provide the free2_sum field in
+struct pta_stats_alloc. xtest 4.6.0 unconditionally accesses this field,
+which breaks the build when used together with older OP-TEE OS releases
+such as 4.3.0.
+
+Disable the fragmentation calculation based on free2_sum to restore
+compatibility with older OP-TEE OS versions while keeping the remaining
+statistics intact.
+
+Upstream: Not applicable (Andes AE350 board-specific workaround)
+Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
+---
+ host/xtest/stats.c | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/host/xtest/stats.c b/host/xtest/stats.c
+index dc05d7b..212e5a5 100644
+--- a/host/xtest/stats.c
++++ b/host/xtest/stats.c
+@@ -155,15 +155,6 @@ static int stat_alloc(int argc, char *argv[])
+ 		       stats[n].desc);
+ 		printf("Bytes allocated:                       %"PRId32"\n",
+ 		       stats[n].allocated);
+-		if (stats[n].free2_sum && stats[n].size != stats[n].allocated) {
+-			double free2_sum = stats[n].free2_sum;
+-			double free_sum = stats[n].size - stats[n].allocated;
+-			double free_quote = sqrt(free2_sum) / free_sum;
+-			double fragmentation = 1.0 - free_quote * free_quote;
+-
+-			printf("Fragmentation:			       %u %%\n",
+-				(unsigned int)(fragmentation * 100.0));
+-		}
+ 		printf("Max bytes allocated:                   %"PRId32"\n",
+ 		       stats[n].max_allocated);
+ 		printf("Size of pool:                          %"PRId32"\n",
+-- 
+2.34.1
+
diff --git a/board/andes/ae350/patches/optee-test/optee-test.hash b/board/andes/ae350/patches/optee-test/optee-test.hash
new file mode 100644
index 0000000000..2b4fef8e2f
--- /dev/null
+++ b/board/andes/ae350/patches/optee-test/optee-test.hash
@@ -0,0 +1,2 @@
+# From https://github.com/OP-TEE/optee_test/releases/tag/4.3.0
+sha256  7bb181b74be88593df48321b816837acaad8e4d45e883f25a2e039978e5ec415  optee_test-4.3.0.tar.gz
diff --git a/board/andes/ae350/patches/uboot/uboot.hash b/board/andes/ae350/patches/uboot/uboot.hash
index 440526977b..5914d3cd78 100644
--- a/board/andes/ae350/patches/uboot/uboot.hash
+++ b/board/andes/ae350/patches/uboot/uboot.hash
@@ -1,2 +1,3 @@
 # Locally calculated
-sha256  0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7  u-boot-2025.07.tar.bz2
+sha256  c7726a52c9e626253962f6643fa9706a789b47acdf7ffb7f315f46d5ecf46d4d  uboot-ast-v5_4_1-release.tar.gz
+sha256  c6d9232e09ba1f318b6ff6c558c5847b8ac576eccfbeffb6d3c315dad3da4b49  uboot-optee_ast540_v4.3.tar.gz
diff --git a/board/andes/ae350/post-build.sh b/board/andes/ae350/post-build.sh
index e1669c2bcd..abfce537b4 100755
--- a/board/andes/ae350/post-build.sh
+++ b/board/andes/ae350/post-build.sh
@@ -1,3 +1,13 @@
 #!/bin/sh
+set -e
+
+mkdir -p "${BINARIES_DIR}"/dtb
+cd "${BUILD_DIR}"/linux-custom/arch/riscv/boot/dts/andes/ || exit 1
+
+for f in *.dtb; do
+	[ -e "$f" ] || continue
+	cp -a "$f" "${BINARIES_DIR}"/dtb
+done
+
 cp "$BINARIES_DIR"/Image "$TARGET_DIR"/boot
-cp "$BINARIES_DIR"/ae350_ax45mp.dtb "$TARGET_DIR"/boot
+cp -a "$BINARIES_DIR"/dtb "$TARGET_DIR"/boot
diff --git a/board/andes/ae350/readme.txt b/board/andes/ae350/readme.txt
index 36561fc777..9132869172 100644
--- a/board/andes/ae350/readme.txt
+++ b/board/andes/ae350/readme.txt
@@ -3,7 +3,7 @@ Intro
 
 Andestech AE350 Platform
 
-The AE350 prototype demonstrates the AE350 platform on the FPGA.
+The AE350 prototype demonstrates the AE350 platform on the FPGA and QEMU.
 
 How to build it
 ===============
@@ -30,7 +30,7 @@ Result of the build
 After building, you should obtain the following files:
 
   output/images/
-  |-- ae350_ax45mp.dtb
+  |-- dtb/*.dtb
   |-- boot.vfat
   |-- fw_dynamic.bin
   |-- fw_dynamic.elf
@@ -71,15 +71,16 @@ The Andes SPI_burn tool will be located in output/host/bin. Use
 the following commands to update the bootloader and device tree:
 
   $ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0x0     -i u-boot-spl.bin
-  $ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0x10000 -i u-boot.itb
-  $ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0xf0000 -i ae350_ax45mp.dtb
+  $ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0x20000 -i u-boot.itb
+  $ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0x1e0000 \
+	-i dtb/ax45_c1_d_dsp_noncoherent_ae350_optee.dtb
 
 Note that the --addr option specifies the offset starting from
 the flash base address 0x80000000 and set by U-Boot configurations.
 e.g.
-u-boot-spl.bin  : CONFIG_SPL_TEXT_BASE=0x80000000
-u-boot.itb      : CONFIG_SPL_LOAD_FIT_ADDRESS=0x80010000
-ae350_ax45mp.dtb: CONFIG_SYS_FDT_BASE=0x800f0000
+u-boot-spl.bin: CONFIG_SPL_TEXT_BASE=0x80000000
+u-boot.itb:     CONFIG_SPL_LOAD_FIT_ADDRESS=0x80020000
+ax45_c1_d_dsp_noncoherent_ae350_optee.dtb: CONFIG_SYS_FDT_BASE=0x801E0000
 
 How to write the SD card
 ========================
@@ -104,3 +105,114 @@ Your SD card partition should be:
   /dev/sdb2  *     4097 126976  122880  60M 83 Linux
 
 Insert SD card and reset the board, it should boot Linux from mmc.
+
+QEMU (AE350 simulation) 
+=======================
+
+To run the andes_ae350 machine model, use the QEMU version:
+https://github.com/andestech/qemu
+
+Boot command example:
+  qemu-system-riscv64 \
+    -nographic \
+    -M andes_ae350 \
+    -cpu andes-ax45 \
+    -m 2G -smp 1 \
+    -bios none \
+    -device loader,file=u-boot-spl.bin,addr=0x80000000 \
+    -device loader,file=u-boot.itb,addr=0x80020000 \
+    -device loader,file=dtb/ax45_c1_d_dsp_noncoherent_ae350.dtb,addr=0x801E0000 \
+    -drive file=sdcard.img,format=raw,id=sd1 \
+    -device sd-card,drive=sd1 \
+    -net nic,model=atfmac100 \
+    -net user,net=192.168.96.0/24,dhcpstart=192.168.96.10,\
+domainname=andestech.com,hostfwd=tcp::9623-:23 \
+    -gdb tcp::9696
+
+OP-TEE OS (4.3.0)
+=================
+
+The file `tee.bin` is the OP-TEE OS secure world binary.
+It provides a Trusted Execution Environment (TEE) that runs alongside Linux in
+secure mode.
+
+The OP-TEE OS binary (`tee.bin`) is packaged inside the `u-boot.itb` image on
+the AE350 platform.
+
+OP-TEE provides the following core security services:
+
+- Secure execution of Trusted Applications (TAs)
+- Secure key storage and cryptographic operations
+- Hardware-backed isolation between Secure World and Normal World
+- Secure monitor call (SMC) interface for Linux communication
+
+Linux communicates with OP-TEE through the standard OP-TEE Linux driver using
+SMC calls. This allows normal world applications to access secure services
+without exposing sensitive data to the Linux kernel.
+
+For the single-core configuration, use ax45_c1_d_dsp_noncoherent_ae350_optee DTS.
+For the quad-core configuration, switch to ax45mp_c4_d_dsp_ae350_optee.
+
+To enable this feature, configure the following options in the Buildroot menuconfig:
+Bootloaders  --->
+[*] optee_os  --->
+OP-TEE OS version (Custom tarball)  --->
+URL of custom OP-TEE OS tarball:
+  $(call github,andestech,optee_os,optee_ast540_v4.3)/optee_os-optee_ast540_v4.3.tar.gz
+[*]   OP-TEE OS needs host-python-cryptography 
+Target platform (mandatory):
+  ae350
+Additional build variables:
+  ARCH=riscv CFG_TEE_CORE_NB_CORE=1 CFG_NUM_THREADS=2 CFG_UNWIND=y
+  CFG_IN_TREE_EARLY_TAS=trusted_keys/f04a0fe7-1f5d-4b9b-abf7-619b85b4ce8c
+  mem_usage CFG_CORE_HEAP_SIZE=524288 CFG_TEE_RAM_VA_SIZE=0x00800000
+  CFG_TDDRAM_SIZE=0x04000000 CFG_PKCS11_TA_HEAP_SIZE=131072
+Binary boot images:
+  tee.bin
+
+[*] opensbi  --->
+OpenSBI Version (Custom tarball)  --->
+URL of custom OpenSBI tarball:
+  $(call github,andestech,opensbi,optee_ast540_v4.3)/opensbi-optee_ast540_v4.3.tar.gz
+
+[*] U-Boot  --->
+U-Boot Version (Custom tarball)  --->
+URL of custom U-Boot tarball:
+  $(call github,andestech,uboot,optee_ast540_v4.3)/uboot-optee_ast540_v4.3.tar.gz
+Additional configuration fragment files:
+  board/andes/ae350/uboot.config.fragment board/andes/ae350/uboot-optee.config.fragment
+[*]   U-Boot needs OPTEE TEE
+U-Boot OPTEE TEE format (tee.bin)
+
+Kernel  --->
+Kernel version (Custom tarball)  --->
+URL of custom kernel tarball:
+  $(call github,andestech,linux,optee_ast540_v4.3)/linux-optee_ast540_v4.3.tar.gz
+In-tree Device Tree Source file names:
+  andes/ax45_c1_d_dsp_noncoherent_ae350_optee
+
+OP-TEE User-space Configuration (4.3.0)
+=======================================
+
+The OP-TEE user-space components are built from custom upstream
+tarballs and provide Linux support for OP-TEE OS.
+
+They can be enabled from Buildroot menuconfig:
+Target packages  --->
+  Security  --->
+
+-*- optee-client
+    optee-client version (Custom tarball)  --->
+      URL of custom optee-client tarball:
+        $(call github,OP-TEE,optee_client,4.3.0)/optee_client-4.3.0.tar.gz
+
+[*] optee-examples
+    optee-examples version (Custom tarball)  --->
+      URL of custom optee-examples tarball:
+        $(call github,linaro-swg,optee_examples,4.3.0)/optee_examples-4.3.0.tar.gz
+
+[*] optee-test
+    optee-test version (Custom tarball)  --->
+      URL of custom optee-test tarball:
+        $(call github,OP-TEE,optee_test,4.3.0)/optee_test-4.3.0.tar.gz
+
diff --git a/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf b/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf
index be19e196a8..5506fab7c0 100644
--- a/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf
+++ b/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf
@@ -1,4 +1,3 @@
 label linux
    kernel /boot/Image
-   fdt /boot/ae350_ax45mp.dtb
    append earlycon=sbi root=/dev/mmcblk0p2 rootwait
diff --git a/board/andes/ae350/uboot-optee.config.fragment b/board/andes/ae350/uboot-optee.config.fragment
new file mode 100644
index 0000000000..b36776de17
--- /dev/null
+++ b/board/andes/ae350/uboot-optee.config.fragment
@@ -0,0 +1,5 @@
+CONFIG_CMD_OPTEE=y
+CONFIG_OPTEE=y
+CONFIG_OPTEE_LIB=y
+CONFIG_OPTEE_TA_RPC_TEST=y
+CONFIG_TEE=y
diff --git a/board/andes/ae350/uboot.config.fragment b/board/andes/ae350/uboot.config.fragment
index 4497ed4c74..058e9f12d4 100644
--- a/board/andes/ae350/uboot.config.fragment
+++ b/board/andes/ae350/uboot.config.fragment
@@ -1,6 +1,11 @@
 CONFIG_SPL_FS_FAT=y
+CONFIG_SPL_LOAD_FIT_ADDRESS=0x80020000
 CONFIG_SPL_MMC=y
 CONFIG_SPL_OPENSBI_LOAD_ADDR=0x0
 CONFIG_SPL_OPENSBI_SCRATCH_OPTIONS=0x0
+CONFIG_SPL_RAM_DEVICE=y
+CONFIG_SPL_TEXT_BASE=0x80000000
 CONFIG_DISPLAY_CPUINFO=y
 CONFIG_DISPLAY_BOARDINFO=y
+CONFIG_SYS_FDT_BASE=0x801E0000
+CONFIG_TEXT_BASE=0x01800000
diff --git a/configs/andes_ae350_45_defconfig b/configs/andes_ae350_45_defconfig
index 80b780b6e0..1845228ebb 100644
--- a/configs/andes_ae350_45_defconfig
+++ b/configs/andes_ae350_45_defconfig
@@ -11,22 +11,24 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/andes/ae350/genimage_sdcard.cfg"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,andestech,linux,v6.0.y-andes)/linux-v6.0.y-andes.tar.gz"
-BR2_LINUX_KERNEL_DEFCONFIG="ae350_ax45mp"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,andestech,linux,ast-v5_4_1-release)/linux-ast-v5_4_1-release.tar.gz"
+BR2_LINUX_KERNEL_DEFCONFIG="ae350_rv64_smp"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/andes/ae350/linux.config.fragment"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="andes/ae350_ax45mp"
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="andes/ax45_c1_d_dsp_noncoherent_ae350"
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="30M"
 # BR2_TARGET_ROOTFS_TAR is not set
 BR2_TARGET_OPENSBI=y
-BR2_TARGET_OPENSBI_CUSTOM_VERSION=y
-BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6"
+BR2_TARGET_OPENSBI_CUSTOM_TARBALL=y
+BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION="$(call github,andestech,opensbi,ast-v5_4_1-release)/opensbi-ast-v5_4_1-release.tar.gz"
 BR2_TARGET_OPENSBI_PLAT="generic"
 # BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.07"
+BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
+BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,andestech,uboot,ast-v5_4_1-release)/uboot-ast-v5_4_1-release.tar.gz"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ae350_rv64_spl_xip"
 BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/andes/ae350/uboot.config.fragment"
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
@@ -37,6 +39,7 @@ BR2_TARGET_UBOOT_NEEDS_OPENSBI=y
 BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
 BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb"
 BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SWDTB=1"
 BR2_PACKAGE_HOST_ANDES_SPI_BURN=y
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
 BR2_PACKAGE_HOST_GENIMAGE=y
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-01-30  9:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-11 16:49 [Buildroot] [PATCH] board/andes/ae350: bump to AndeSight v5.4.x and add OP-TEE Che-Wei Chuang via buildroot
2026-01-30  9:25 ` Leo Liang via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.