From: Neha Malcom Francis <n-francis@ti.com>
To: <u-boot@lists.denx.de>
Cc: <n-francis@ti.com>
Subject: [PATCH RFC v2 03/11] ti: etype: sysfw: Add entry type for sysfw
Date: Fri, 6 May 2022 10:07:51 +0530 [thread overview]
Message-ID: <20220506043759.8193-4-n-francis@ti.com> (raw)
In-Reply-To: <20220506043759.8193-1-n-francis@ti.com>
For K3 devices that require a sysfw image, add entry for SYSFW. It can
contain system firmware image that can be packaged into sysfw.itb by
binman.
Signed-off-by: Tarun Sahu <t-sahu@ti.com>
[n-francis@ti.com: added tests for addition of etype]
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
---
Makefile | 1 +
tools/binman/entries.rst | 11 +++++++++++
tools/binman/etype/ti_sysfw.py | 28 ++++++++++++++++++++++++++++
tools/binman/ftest.py | 7 +++++++
tools/binman/test/232_ti_sysfw.dts | 13 +++++++++++++
5 files changed, 60 insertions(+)
create mode 100644 tools/binman/etype/ti_sysfw.py
create mode 100644 tools/binman/test/232_ti_sysfw.dts
diff --git a/Makefile b/Makefile
index 4b347d3603..581fbba4c3 100644
--- a/Makefile
+++ b/Makefile
@@ -1338,6 +1338,7 @@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \
-a opensbi-path=${OPENSBI} \
-a default-dt=$(default_dt) \
-a scp-path=$(SCP) \
+ -a ti-sysfw-path=$(SYSFW) \
-a spl-bss-pad=$(if $(CONFIG_SPL_SEPARATE_BSS),,1) \
-a tpl-bss-pad=$(if $(CONFIG_TPL_SEPARATE_BSS),,1) \
-a spl-dtb=$(CONFIG_SPL_OF_REAL) \
diff --git a/tools/binman/entries.rst b/tools/binman/entries.rst
index ae4305c99e..6c0f03b34f 100644
--- a/tools/binman/entries.rst
+++ b/tools/binman/entries.rst
@@ -1203,6 +1203,17 @@ This entry holds firmware for an external platform-specific coprocessor.
+Entry: sysfw: Texas Instruments System Firmware (SYSFW) blob
+------------------------------------------------------------
+
+Properties / Entry arguments:
+ - ti-sysfw-path: Filename of file to read into the entry, typically sysfw.bin
+
+This entry contains system firmware necessary for booting of K3 architecture
+devices.
+
+
+
Entry: section: Entry that contains other entries
-------------------------------------------------
diff --git a/tools/binman/etype/ti_sysfw.py b/tools/binman/etype/ti_sysfw.py
new file mode 100644
index 0000000000..5b5b307030
--- /dev/null
+++ b/tools/binman/etype/ti_sysfw.py
@@ -0,0 +1,28 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
+#
+# Entry type module for TI SYSFW binary blob
+#
+
+import os
+import struct
+import sys
+import zlib
+
+from binman.etype.blob_named_by_arg import Entry_blob_named_by_arg
+from dtoc import fdt_util
+from patman import tools
+
+
+class Entry_ti_sysfw(Entry_blob_named_by_arg):
+ """Entry containing Texas Instruments System Firmware (SYSFW) blob
+
+ Properties / Entry arguments:
+ - ti-sysfw-path: Filename of file to read into the entry, typically sysfw.bin
+
+ This entry contains system firmware necessary for booting of K3 architecture devices.
+ """
+
+ def __init__(self, section, etype, node):
+ super().__init__(section, etype, node, 'ti-sysfw')
+ self.external = True
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
index 4ce181a066..ec408de334 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -87,6 +87,7 @@ ATF_BL31_DATA = b'bl31'
TEE_OS_DATA = b'this is some tee OS data'
ATF_BL2U_DATA = b'bl2u'
OPENSBI_DATA = b'opensbi'
+TI_SYSFW_DATA = b'sysfw'
SCP_DATA = b'scp'
TEST_FDT1_DATA = b'fdt1'
TEST_FDT2_DATA = b'test-fdt2'
@@ -195,6 +196,7 @@ class TestFunctional(unittest.TestCase):
TestFunctional._MakeInputFile('tee-pager.bin', TEE_OS_DATA)
TestFunctional._MakeInputFile('bl2u.bin', ATF_BL2U_DATA)
TestFunctional._MakeInputFile('fw_dynamic.bin', OPENSBI_DATA)
+ TestFunctional._MakeInputFile('sysfw.bin', TI_SYSFW_DATA)
TestFunctional._MakeInputFile('scp.bin', SCP_DATA)
# Add a few .dtb files for testing
@@ -5522,6 +5524,11 @@ fdt fdtmap Extract the devicetree blob from the fdtmap
"""Test an image with a pre-load header with an invalid key"""
with self.assertRaises(ValueError) as e:
data = self._DoReadFile('231_pre_load_invalid_key.dts')
+
+ def testPackTiSysfw(self):
+ """Test that an image with a SYSFW binary can be created"""
+ data = self._DoReadFile('232_ti_sysfw.dts')
+ self.assertEqual(TI_SYSFW_DATA, data[:len(TI_SYSFW_DATA)])
if __name__ == "__main__":
unittest.main()
diff --git a/tools/binman/test/232_ti_sysfw.dts b/tools/binman/test/232_ti_sysfw.dts
new file mode 100644
index 0000000000..9e66cbe77b
--- /dev/null
+++ b/tools/binman/test/232_ti_sysfw.dts
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+/dts-v1/;
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ binman {
+ ti-sysfw {
+ filename = "sysfw.bin";
+ };
+ };
+};
--
2.17.1
next prev parent reply other threads:[~2022-05-06 4:38 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-06 4:37 [PATCH RFC v2 00/11] Integration of sysfw, tispl and tiboot3 Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 01/11] j721e_evm: schema: yaml: Add general schema and J721E board config files Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 02/11] ti: tools: config: Add board config class to generate config binaries Neha Malcom Francis
2022-05-06 4:37 ` Neha Malcom Francis [this message]
2022-05-31 8:44 ` [PATCH RFC v2 03/11] ti: etype: sysfw: Add entry type for sysfw Roger Quadros
2022-06-01 5:58 ` Neha Malcom Francis
2022-06-01 7:29 ` Neha Malcom Francis
2022-06-01 9:26 ` Roger Quadros
2022-05-06 4:37 ` [PATCH RFC v2 04/11] ti: etype: dm: Add entry type for TI DM Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 05/11] ti: etype: x509: Add etype for x509 certificate for K3 devices Neha Malcom Francis
2022-05-31 9:20 ` Roger Quadros
2022-06-01 6:02 ` Neha Malcom Francis
2022-06-01 9:24 ` Roger Quadros
2022-06-01 9:48 ` Neha Malcom Francis
2022-06-01 10:48 ` Roger Quadros
2022-06-02 4:09 ` Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 06/11] ti: sysfw: Add support for packaging sysfw.itb Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 07/11] ti: tiboot3.bin: Remove tiboot3.bin target from makefile Neha Malcom Francis
2022-05-31 10:51 ` Roger Quadros
2022-05-06 4:37 ` [PATCH RFC v2 08/11] ti: tispl.bin: Removed script that packages tispl.bin Neha Malcom Francis
2022-05-31 10:53 ` Roger Quadros
2022-05-06 4:37 ` [PATCH RFC v2 09/11] ti: x509: Remove shell script used for signing Neha Malcom Francis
2022-05-31 10:54 ` Roger Quadros
2022-05-06 4:37 ` [PATCH RFC v2 10/11] ti: dtsi: j721e: Use binman to package sysfw.itb and tiboot3.bin Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 11/11] ti: dtsi: j721e: Use binman to package tispl.bin Neha Malcom Francis
2022-05-31 11:02 ` Roger Quadros
2022-06-01 6:08 ` Neha Malcom Francis
2022-06-01 9:23 ` Roger Quadros
2022-06-01 10:42 ` Neha Malcom Francis
2022-06-01 10:55 ` Roger Quadros
2022-06-01 12:47 ` Andrew Davis
2022-06-03 8:49 ` Roger Quadros
2022-05-10 20:05 ` [PATCH RFC v2 00/11] Integration of sysfw, tispl and tiboot3 Tom Rini
2022-05-11 18:56 ` Alper Nebi Yasak
2022-05-31 8:21 ` Roger Quadros
2022-06-01 5:54 ` Neha Malcom Francis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220506043759.8193-4-n-francis@ti.com \
--to=n-francis@ti.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).