[PATCH 1/4] binman: Add support for align argument to mkimage tool
Jonas Karlman
jonas at kwiboo.se
Thu Jan 19 13:40:36 CET 2023
Hi Simon,
On 2023-01-18 20:42, Simon Glass wrote:
> Hi Jonas,
>
> On Tue, 17 Jan 2023 at 15:54, Jonas Karlman <jonas at kwiboo.se> wrote:
>>
>> Add support to indicate what alignment to use for the FIT and its
>> external data. Pass the alignment to mkimage via the -B flag.
>>
>> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
>> ---
>> tools/binman/btool/mkimage.py | 5 ++++-
>> tools/binman/etype/fit.py | 8 ++++++++
>> 2 files changed, 12 insertions(+), 1 deletion(-)
>
> This looks good to me but please update docs at the top of fit.py,
> regenerate entries.rst and add a test to ftest.py here, as this
> causes a test-coverage failure:
I will take a look and send a v2 series that includes tests,
updated entries.rst and is rebased on top of dm-pull-18jan23.
I have noticed that the generated FIT configuration node is not fully
matching the old script, it uses firmware = "u-boot" instead of "atf-1".
So TF-A is never initialized with the new FIT.
I made a quick attempt of a fix using the the diff below.
Now with binman:
firmware = "u-boot";
loadables = "atf-1", "atf-2", ...;
With old script:
firmware = "atf-1";
loadables = "u-boot", "atf-2", ...;
With the diff below:
firmware = "atf-1";
loadables = "u-boot", "atf-1", "atf-2", ...;
Should I send patches with something like this? Or do you have something else in mind?
Regards,
Jonas
diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
index 1449657e0a..1e8333753e 100644
--- a/arch/arm/dts/rockchip-u-boot.dtsi
+++ b/arch/arm/dts/rockchip-u-boot.dtsi
@@ -116,8 +116,8 @@
@config-SEQ {
description = "NAME.dtb";
fdt = "fdt-SEQ";
- firmware = "u-boot";
- fit,loadables;
+ firmware = "atf-1";
+ fit,loadables = "u-boot";
};
};
};
diff --git a/tools/binman/etype/fit.py b/tools/binman/etype/fit.py
index 51b122962f..21ec9e5cc7 100644
--- a/tools/binman/etype/fit.py
+++ b/tools/binman/etype/fit.py
@@ -525,7 +525,13 @@ class Entry_fit(Entry_section):
with fsw.add_node(node_name):
for pname, prop in node.props.items():
if pname == 'fit,loadables':
- val = '\0'.join(self._loadables) + '\0'
+ if type(prop.value) is str:
+ val = [prop.value]
+ elif type(prop.value) is list:
+ val = prop.value
+ else:
+ val = []
+ val = '\0'.join(val + self._loadables) + '\0'
fsw.property('loadables', val.encode('utf-8'))
elif pname == 'fit,operation':
pass
>
> $ binman test -T
> ...
> tools/binman/etype/fit.py 224 1 99%
> tools/binman/btool/mkimage.py 23 1 96%
>
> Regards,
> Simon
More information about the U-Boot
mailing list