public inbox for buildroot@busybox.net
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/3] boot/uboot: improve U-Boot OP-TEE TEE format options help text
@ 2026-03-04 21:35 Romain Naour via buildroot
  2026-03-04 21:35 ` [Buildroot] [PATCH 2/3] boot/uboot: add support for embedded TEE in raw binary format Romain Naour via buildroot
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Romain Naour via buildroot @ 2026-03-04 21:35 UTC (permalink / raw)
  To: buildroot; +Cc: Romain Naour

OP-TEE generates a few binaries that can be used by u-boot on some
platforms (Rockchip, Texas Instruments K3) using TEE variable.

Add a link to the OP-TEE documentation were we can find easily the
desciption for each TEE format that can be used by u-boot.

For convenience, copy tee.elf and tee.bin description in each option
choice help text.

Signed-off-by: Romain Naour <romain.naour@smile.fr>
---
 boot/uboot/Config.in | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index 47ce24ee76..17b7f95f50 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -295,15 +295,23 @@ choice
 	  Since this version, the TEE in binary format must be used as
 	  it contains important meta-data.
 
+	  https://optee.readthedocs.io/en/4.9.0/architecture/porting_guidelines.html#binaries
+
 config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_ELF
 	bool "tee.elf"
 	help
+	  The main OP-TEE ELF file. All other OP-TEE binaries are
+	  created with this as input.
+
 	  ELF format may be used only for OP-TEE versions before
 	  3.8.0.
 
 config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_BIN
 	bool "tee.bin"
 	help
+	  The original OP-TEE binary with a header (v1) and combined
+	  init, paged, and unpaged parts.
+
 	  Binary format must be used for OP-TEE versions since 3.8.0.
 
 endchoice
-- 
2.52.0

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

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

* [Buildroot] [PATCH 2/3] boot/uboot: add support for embedded TEE in raw binary format
  2026-03-04 21:35 [Buildroot] [PATCH 1/3] boot/uboot: improve U-Boot OP-TEE TEE format options help text Romain Naour via buildroot
@ 2026-03-04 21:35 ` Romain Naour via buildroot
  2026-03-04 21:35 ` [Buildroot] [PATCH 3/3] configs/beagleboneai64_defconfig: use BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN Romain Naour via buildroot
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Romain Naour via buildroot @ 2026-03-04 21:35 UTC (permalink / raw)
  To: buildroot; +Cc: Romain Naour

Some platforms such Texas Instrument’s K3 familly of SoCs requires
TEE in raw binary format to support their boot flow [1].

Add a new option to select tee-raw.bin instead of tee.bin.

[1] https://docs.u-boot.org/en/latest/board/ti/k3.html#building-tispl-bin

Signed-off-by: Romain Naour <romain.naour@smile.fr>
---
 boot/uboot/Config.in | 12 ++++++++++++
 boot/uboot/uboot.mk  |  2 ++
 2 files changed, 14 insertions(+)

diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index 17b7f95f50..3331b81e8c 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -314,6 +314,18 @@ config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_BIN
 
 	  Binary format must be used for OP-TEE versions since 3.8.0.
 
+config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN
+	bool "tee-raw.bin"
+	help
+	  Raw binary suitable to copy into physical memory where OP-TEE
+	  be can executed from.
+
+	  OP-TEE since 3.21 suggests to use tee-raw.bin instead of (the
+	  still identical) tee-pager_v2.bin.
+
+	  Texas Instrument’s K3 family of SoCs embed tee-raw.bin in
+	  U-Boot (using Binman tool) to support their boot flow.
+
 endchoice
 
 config BR2_TARGET_UBOOT_NEEDS_OPENSBI
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index 6ddbb9e438..5b3f46ac74 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -204,6 +204,8 @@ ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_ELF),y)
 UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee.elf
 else ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_BIN),y)
 UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee.bin
+else ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN),y)
+UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee-raw.bin
 endif
 endif
 
-- 
2.52.0

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

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

* [Buildroot] [PATCH 3/3] configs/beagleboneai64_defconfig: use BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN
  2026-03-04 21:35 [Buildroot] [PATCH 1/3] boot/uboot: improve U-Boot OP-TEE TEE format options help text Romain Naour via buildroot
  2026-03-04 21:35 ` [Buildroot] [PATCH 2/3] boot/uboot: add support for embedded TEE in raw binary format Romain Naour via buildroot
@ 2026-03-04 21:35 ` Romain Naour via buildroot
  2026-03-10 22:45 ` [Buildroot] [PATCH 1/3] boot/uboot: improve U-Boot OP-TEE TEE format options help text Julien Olivain via buildroot
  2026-03-20 15:55 ` Thomas Perale via buildroot
  3 siblings, 0 replies; 5+ messages in thread
From: Romain Naour via buildroot @ 2026-03-04 21:35 UTC (permalink / raw)
  To: buildroot; +Cc: Romain Naour

This defconfig use BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS to provide the path
to the TEE in raw binary format but use the legacy file name
"tee-pager_v2.bin" rather than the recommended "tee-raw.bin" [1][2].

Instead of just replacing the file name, use the newly introduced
BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN option. Since this option
needs BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE, we now have an explicit
dependency between u-boot and optee-os package.

Previously we had an indirect dependency: optee-os <- ATF <- u-boot
with both BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE and
BR2_TARGET_UBOOT_NEEDS_ATF_BL31 options enabled at the same time.

[1] https://github.com/OP-TEE/optee_os/commit/376cb124dd8d4f0a8737359211fa6883bdb4c77c
[2] https://source.denx.de/u-boot/u-boot/-/commit/4e0b8238eea83b71713230e67e781111ea897035

Signed-off-by: Romain Naour <romain.naour@smile.fr>
---
The same change can be done on other defconfig:

  beagleplay_defconfig
  beagley_ai_defconfig
  ti_am62ax_sk_defconfig
  ti_am62px_sk_defconfig
  ti_am62x_sk_defconfig
  ti_am64x_sk_defconfig
---
 configs/beagleboneai64_defconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/configs/beagleboneai64_defconfig b/configs/beagleboneai64_defconfig
index db5837fe36..5e0adc0dc2 100644
--- a/configs/beagleboneai64_defconfig
+++ b/configs/beagleboneai64_defconfig
@@ -38,12 +38,13 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="j721e_beagleboneai64_a72"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
 BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
+BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE=y
+BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN=y
 BR2_TARGET_UBOOT_USE_BINMAN=y
 # BR2_TARGET_UBOOT_FORMAT_BIN is not set
 BR2_TARGET_UBOOT_FORMAT_IMG=y
 BR2_TARGET_UBOOT_SPL=y
 BR2_TARGET_UBOOT_SPL_NAME="tispl.bin_unsigned"
-BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin"
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
 BR2_PACKAGE_HOST_GENIMAGE=y
 BR2_PACKAGE_HOST_MTOOLS=y
-- 
2.52.0

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

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

* Re: [Buildroot] [PATCH 1/3] boot/uboot: improve U-Boot OP-TEE TEE format options help text
  2026-03-04 21:35 [Buildroot] [PATCH 1/3] boot/uboot: improve U-Boot OP-TEE TEE format options help text Romain Naour via buildroot
  2026-03-04 21:35 ` [Buildroot] [PATCH 2/3] boot/uboot: add support for embedded TEE in raw binary format Romain Naour via buildroot
  2026-03-04 21:35 ` [Buildroot] [PATCH 3/3] configs/beagleboneai64_defconfig: use BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN Romain Naour via buildroot
@ 2026-03-10 22:45 ` Julien Olivain via buildroot
  2026-03-20 15:55 ` Thomas Perale via buildroot
  3 siblings, 0 replies; 5+ messages in thread
From: Julien Olivain via buildroot @ 2026-03-10 22:45 UTC (permalink / raw)
  To: Romain Naour; +Cc: buildroot

On 04/03/2026 22:35, Romain Naour via buildroot wrote:
> OP-TEE generates a few binaries that can be used by u-boot on some
> platforms (Rockchip, Texas Instruments K3) using TEE variable.
> 
> Add a link to the OP-TEE documentation were we can find easily the
> desciption for each TEE format that can be used by u-boot.
> 
> For convenience, copy tee.elf and tee.bin description in each option
> choice help text.
> 
> Signed-off-by: Romain Naour <romain.naour@smile.fr>

Series applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH 1/3] boot/uboot: improve U-Boot OP-TEE TEE format options help text
  2026-03-04 21:35 [Buildroot] [PATCH 1/3] boot/uboot: improve U-Boot OP-TEE TEE format options help text Romain Naour via buildroot
                   ` (2 preceding siblings ...)
  2026-03-10 22:45 ` [Buildroot] [PATCH 1/3] boot/uboot: improve U-Boot OP-TEE TEE format options help text Julien Olivain via buildroot
@ 2026-03-20 15:55 ` Thomas Perale via buildroot
  3 siblings, 0 replies; 5+ messages in thread
From: Thomas Perale via buildroot @ 2026-03-20 15:55 UTC (permalink / raw)
  To: Romain Naour; +Cc: Thomas Perale, buildroot

In reply of:
> OP-TEE generates a few binaries that can be used by u-boot on some
> platforms (Rockchip, Texas Instruments K3) using TEE variable.
> 
> Add a link to the OP-TEE documentation were we can find easily the
> desciption for each TEE format that can be used by u-boot.
> 
> For convenience, copy tee.elf and tee.bin description in each option
> choice help text.
> 
> Signed-off-by: Romain Naour <romain.naour@smile.fr>

Applied to 2025.02.x & 2026.02.x. Thanks

> ---
>  boot/uboot/Config.in | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
> index 47ce24ee76..17b7f95f50 100644
> --- a/boot/uboot/Config.in
> +++ b/boot/uboot/Config.in
> @@ -295,15 +295,23 @@ choice
>  	  Since this version, the TEE in binary format must be used as
>  	  it contains important meta-data.
>  
> +	  https://optee.readthedocs.io/en/4.9.0/architecture/porting_guidelines.html#binaries
> +
>  config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_ELF
>  	bool "tee.elf"
>  	help
> +	  The main OP-TEE ELF file. All other OP-TEE binaries are
> +	  created with this as input.
> +
>  	  ELF format may be used only for OP-TEE versions before
>  	  3.8.0.
>  
>  config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_BIN
>  	bool "tee.bin"
>  	help
> +	  The original OP-TEE binary with a header (v1) and combined
> +	  init, paged, and unpaged parts.
> +
>  	  Binary format must be used for OP-TEE versions since 3.8.0.
>  
>  endchoice
> -- 
> 2.52.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2026-03-20 15:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-04 21:35 [Buildroot] [PATCH 1/3] boot/uboot: improve U-Boot OP-TEE TEE format options help text Romain Naour via buildroot
2026-03-04 21:35 ` [Buildroot] [PATCH 2/3] boot/uboot: add support for embedded TEE in raw binary format Romain Naour via buildroot
2026-03-04 21:35 ` [Buildroot] [PATCH 3/3] configs/beagleboneai64_defconfig: use BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE_RAW_BIN Romain Naour via buildroot
2026-03-10 22:45 ` [Buildroot] [PATCH 1/3] boot/uboot: improve U-Boot OP-TEE TEE format options help text Julien Olivain via buildroot
2026-03-20 15:55 ` Thomas Perale via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox