summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2019-07-08 22:18:46 +0300
committerSimon Glass <sjg@chromium.org>2019-07-24 06:27:58 +0300
commit4c65025799d79a030a61f8d95e20954963c62db4 (patch)
tree38bbcae0de58ff20dd7f40f54752d19e25427bc8 /tools
parenta6a520e47b4b1280c93a6ac5b311c10da3485ff2 (diff)
downloadu-boot-4c65025799d79a030a61f8d95e20954963c62db4.tar.xz
binman: Support ELF files for TPL
We currenty support using the ELF file in U-Boot proper and SPL, but not TPL. Add this as it is useful both with sandbox and for CBFS to allow adding TPL as a 'stage'. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools')
-rw-r--r--tools/binman/README.entries11
-rw-r--r--tools/binman/etype/u_boot_tpl_elf.py24
-rw-r--r--tools/binman/ftest.py2
-rw-r--r--tools/binman/test/096_elf.dts2
4 files changed, 39 insertions, 0 deletions
diff --git a/tools/binman/README.entries b/tools/binman/README.entries
index c26addcfe6..9a316763ac 100644
--- a/tools/binman/README.entries
+++ b/tools/binman/README.entries
@@ -574,6 +574,17 @@ process.
+Entry: u-boot-tpl-elf: U-Boot TPL ELF image
+-------------------------------------------
+
+Properties / Entry arguments:
+ - filename: Filename of TPL u-boot (default 'tpl/u-boot-tpl')
+
+This is the U-Boot TPL ELF image. It does not include a device tree but can
+be relocated to any address for execution.
+
+
+
Entry: u-boot-tpl-with-ucode-ptr: U-Boot TPL with embedded microcode pointer
----------------------------------------------------------------------------
diff --git a/tools/binman/etype/u_boot_tpl_elf.py b/tools/binman/etype/u_boot_tpl_elf.py
new file mode 100644
index 0000000000..9cc1cc2c45
--- /dev/null
+++ b/tools/binman/etype/u_boot_tpl_elf.py
@@ -0,0 +1,24 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright (c) 2018 Google, Inc
+# Written by Simon Glass <sjg@chromium.org>
+#
+# Entry-type module for U-Boot TPL ELF image
+#
+
+from entry import Entry
+from blob import Entry_blob
+
+class Entry_u_boot_tpl_elf(Entry_blob):
+ """U-Boot TPL ELF image
+
+ Properties / Entry arguments:
+ - filename: Filename of TPL u-boot (default 'tpl/u-boot-tpl')
+
+ This is the U-Boot TPL ELF image. It does not include a device tree but can
+ be relocated to any address for execution.
+ """
+ def __init__(self, section, etype, node):
+ Entry_blob.__init__(self, section, etype, node)
+
+ def GetDefaultFilename(self):
+ return 'tpl/u-boot-tpl'
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
index 6ff871b3c1..9cec5f42fa 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -1746,6 +1746,8 @@ class TestFunctional(unittest.TestCase):
"""Basic test of ELF entries"""
self._SetupSplElf()
with open(self.TestFile('bss_data'), 'rb') as fd:
+ TestFunctional._MakeInputFile('tpl/u-boot-tpl', fd.read())
+ with open(self.TestFile('bss_data'), 'rb') as fd:
TestFunctional._MakeInputFile('-boot', fd.read())
data = self._DoReadFile('096_elf.dts')
diff --git a/tools/binman/test/096_elf.dts b/tools/binman/test/096_elf.dts
index df3440c319..8e3f3f15ef 100644
--- a/tools/binman/test/096_elf.dts
+++ b/tools/binman/test/096_elf.dts
@@ -10,5 +10,7 @@
};
u-boot-spl-elf {
};
+ u-boot-tpl-elf {
+ };
};
};