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>
This commit is contained in:
Simon Glass 2019-07-08 13:18:46 -06:00
parent a6a520e47b
commit 4c65025799
4 changed files with 39 additions and 0 deletions

View File

@ -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
----------------------------------------------------------------------------

View File

@ -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'

View File

@ -1745,6 +1745,8 @@ class TestFunctional(unittest.TestCase):
def testElf(self):
"""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')

View File

@ -10,5 +10,7 @@
};
u-boot-spl-elf {
};
u-boot-tpl-elf {
};
};
};