binman: Add support for Intel FSP-S
This entry is used to hold an Intel FSP-S (Firmware Support Package Silicon init) binary. Add support for this in binman. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
15c981cc8a
commit
bc6a88fafe
4 changed files with 64 additions and 0 deletions
|
@ -444,6 +444,23 @@ See README.x86 for information about x86 binary blobs.
|
|||
|
||||
|
||||
|
||||
Entry: intel-fsp-s: Entry containing Intel Firmware Support Package (FSP) silicon init
|
||||
--------------------------------------------------------------------------------------
|
||||
|
||||
Properties / Entry arguments:
|
||||
- filename: Filename of file to read into entry
|
||||
|
||||
This file contains a binary blob which is used on some devices to set up
|
||||
the silicon. U-Boot executes this code in U-Boot proper after SDRAM is
|
||||
running, so that it can make full use of memory. Documentation is typically
|
||||
not available in sufficient detail to allow U-Boot do this this itself.
|
||||
|
||||
An example filename is 'fsp_s.bin'
|
||||
|
||||
See README.x86 for information about x86 binary blobs.
|
||||
|
||||
|
||||
|
||||
Entry: intel-ifwi: Entry containing an Intel Integrated Firmware Image (IFWI) file
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
|
|
27
tools/binman/etype/intel_fsp_s.py
Normal file
27
tools/binman/etype/intel_fsp_s.py
Normal file
|
@ -0,0 +1,27 @@
|
|||
# SPDX-License-Identifier: GPL-2.0+
|
||||
# Copyright 2019 Google LLC
|
||||
# Written by Simon Glass <sjg@chromium.org>
|
||||
#
|
||||
# Entry-type module for Intel Firmware Support Package binary blob (S section)
|
||||
#
|
||||
|
||||
from entry import Entry
|
||||
from blob import Entry_blob
|
||||
|
||||
class Entry_intel_fsp_s(Entry_blob):
|
||||
"""Entry containing Intel Firmware Support Package (FSP) silicon init
|
||||
|
||||
Properties / Entry arguments:
|
||||
- filename: Filename of file to read into entry
|
||||
|
||||
This file contains a binary blob which is used on some devices to set up
|
||||
the silicon. U-Boot executes this code in U-Boot proper after SDRAM is
|
||||
running, so that it can make full use of memory. Documentation is typically
|
||||
not available in sufficient detail to allow U-Boot do this this itself.
|
||||
|
||||
An example filename is 'fsp_s.bin'
|
||||
|
||||
See README.x86 for information about x86 binary blobs.
|
||||
"""
|
||||
def __init__(self, section, etype, node):
|
||||
Entry_blob.__init__(self, section, etype, node)
|
|
@ -73,6 +73,7 @@ FILES_DATA = (b"sorry I'm late\nOh, don't bother apologising, I'm " +
|
|||
COMPRESS_DATA = b'compress xxxxxxxxxxxxxxxxxxxxxx data'
|
||||
REFCODE_DATA = b'refcode'
|
||||
FSP_M_DATA = b'fsp_m'
|
||||
FSP_S_DATA = b'fsp_s'
|
||||
|
||||
# The expected size for the device tree in some tests
|
||||
EXTRACT_DTB_SIZE = 0x3c9
|
||||
|
@ -149,6 +150,7 @@ class TestFunctional(unittest.TestCase):
|
|||
TestFunctional._MakeInputFile('bmpblk.bin', BMPBLK_DATA)
|
||||
TestFunctional._MakeInputFile('refcode.bin', REFCODE_DATA)
|
||||
TestFunctional._MakeInputFile('fsp_m.bin', FSP_M_DATA)
|
||||
TestFunctional._MakeInputFile('fsp_s.bin', FSP_S_DATA)
|
||||
|
||||
cls._elf_testdir = os.path.join(cls._indir, 'elftest')
|
||||
elf_test.BuildElfTestFiles(cls._elf_testdir)
|
||||
|
@ -3332,6 +3334,10 @@ class TestFunctional(unittest.TestCase):
|
|||
data = self._DoReadFile('152_intel_fsp_m.dts')
|
||||
self.assertEqual(FSP_M_DATA, data[:len(FSP_M_DATA)])
|
||||
|
||||
def testPackFspS(self):
|
||||
"""Test that an image with a FSP silicon-init binary can be created"""
|
||||
data = self._DoReadFile('153_intel_fsp_s.dts')
|
||||
self.assertEqual(FSP_S_DATA, data[:len(FSP_S_DATA)])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
14
tools/binman/test/153_intel_fsp_s.dts
Normal file
14
tools/binman/test/153_intel_fsp_s.dts
Normal file
|
@ -0,0 +1,14 @@
|
|||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
binman {
|
||||
size = <16>;
|
||||
|
||||
intel-fsp-s {
|
||||
filename = "fsp_s.bin";
|
||||
};
|
||||
};
|
||||
};
|
Loading…
Reference in a new issue