[PATCH 12/24] WIP: binman: Add support for OP-TEE

Simon Glass sjg at chromium.org
Tue Feb 8 19:49:56 CET 2022


Add support for an Open Portable Trusted Execution Environment (OP-TEE)
blob which is used with ARM Trusted Firmware.

Note: This is a placeholder patch as Roger Quadros has already posted
one:

https://patchwork.ozlabs.org/project/uboot/patch/20220204130031.24610-1-rogerq@kernel.org/

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 Makefile                       |  1 +
 tools/binman/entries.rst       | 13 +++++++++++++
 tools/binman/etype/op_tee.py   | 23 +++++++++++++++++++++++
 tools/binman/missing-blob-help |  4 ++++
 4 files changed, 41 insertions(+)
 create mode 100644 tools/binman/etype/op_tee.py

diff --git a/Makefile b/Makefile
index a69cc088a7..ee1dc11e2f 100644
--- a/Makefile
+++ b/Makefile
@@ -1326,6 +1326,7 @@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \
 		-I arch/$(ARCH)/dts -a of-list=$(CONFIG_OF_LIST) \
 		$(foreach f,$(BINMAN_INDIRS),-I $(f)) \
 		-a atf-bl31-path=${BL31} \
+		-a op-tee-path=${TEE} \
 		-a opensbi-path=${OPENSBI} \
 		-a default-dt=$(default_dt) \
 		-a scp-path=$(SCP) \
diff --git a/tools/binman/entries.rst b/tools/binman/entries.rst
index c47f7df098..0fb6d56296 100644
--- a/tools/binman/entries.rst
+++ b/tools/binman/entries.rst
@@ -933,6 +933,19 @@ binman.
 
 
 
+Entry: op-tee: Open Portable Trusted Execution Environment (OP-TEE) blob
+------------------------------------------------------------------------
+
+Properties / Entry arguments:
+    - op-tee-path: Filename of file to read into entry. This is typically
+        called tee.elf
+
+This entry holds the OP-TEE Elf file, typically started by U-Boot SPL.
+See the U-Boot README for your architecture or board for how to use it. See
+https://https://www.op-tee.org/ for more information about OP-TEE.
+
+
+
 Entry: opensbi: RISC-V OpenSBI fw_dynamic blob
 ----------------------------------------------
 
diff --git a/tools/binman/etype/op_tee.py b/tools/binman/etype/op_tee.py
new file mode 100644
index 0000000000..b34f561622
--- /dev/null
+++ b/tools/binman/etype/op_tee.py
@@ -0,0 +1,23 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright 2022 Google LLC
+# Written by Simon Glass <sjg at chromium.org>
+#
+# Entry-type module for Open Portable Trusted Execution Environment (OP-TEE)
+#
+
+from binman.etype.blob_named_by_arg import Entry_blob_named_by_arg
+
+class Entry_op_tee(Entry_blob_named_by_arg):
+    """Open Portable Trusted Execution Environment (OP-TEE) blob
+
+    Properties / Entry arguments:
+        - op-tee-path: Filename of file to read into entry. This is typically
+            called tee.elf
+
+    This entry holds the OP-TEE Elf file, typically started by U-Boot SPL.
+    See the U-Boot README for your architecture or board for how to use it. See
+    https://https://www.op-tee.org/ for more information about OP-TEE.
+    """
+    def __init__(self, section, etype, node):
+        super().__init__(section, etype, node, 'op-tee')
+        self.external = True
diff --git a/tools/binman/missing-blob-help b/tools/binman/missing-blob-help
index 551ca87f6c..c8e6b84882 100644
--- a/tools/binman/missing-blob-help
+++ b/tools/binman/missing-blob-help
@@ -33,3 +33,7 @@ k3-rti-wdt-firmware:
 If CONFIG_WDT_K3_RTI_LOAD_FW is enabled, a firmware image is needed for
 the R5F core(s) to trigger the system reset. One possible source is
 https://github.com/siemens/k3-rti-wdt.
+
+op-tee:
+See the documentation for your board. You may need to build Open Portable
+Trusted Execution Environment (OP-TEE) with TEE=/path/to/tee.elf
-- 
2.35.0.263.gb82422642f-goog



More information about the U-Boot mailing list