[PATCH v5 18/23] arm: k3-am65x-iot2050: Use binman for tispl.bin for iot2050
Jan Kiszka
jan.kiszka at siemens.com
Tue Jul 11 07:06:48 CEST 2023
On 10.07.23 09:50, Neha Malcom Francis wrote:
> Hi Jan
>
> On 07/07/23 19:08, Jan Kiszka wrote:
>> On 07.07.23 14:34, Neha Malcom Francis wrote:
>>> Move to using binman to generate tispl.bin which is used to generate the
>>> final flash.bin bootloader for iot2050 boards.
>>>
>>> Signed-off-by: Neha Malcom Francis <n-francis at ti.com>
>>> Cc: Jan Kiszka <jan.kiszka at siemens.com>
>>> ---
>>> arch/arm/dts/k3-am65-iot2050-boot-image.dtsi | 76 +++++++++++++++++++-
>>> 1 file changed, 74 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi
>>> b/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi
>>> index 03ccc54329..9d83898d33 100644
>>> --- a/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi
>>> +++ b/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi
>>> @@ -26,9 +26,81 @@
>>> missing-msg = "iot2050-seboot";
>>> };
>>> - blob at 0x180000 {
>>> + fit at 0x180000 {
>>> offset = <0x180000>;
>>> - filename = "tispl.bin";
>>> + pad-byte = <0xff>;
>>> + description = "Configuration to load ATF and SPL";
>>> +
>>> + images {
>>> + atf {
>>> + description = "ARM Trusted Firmware";
>>> + type = "firmware";
>>> + arch = "arm64";
>>> + compression = "none";
>>> + os = "arm-trusted-firmware";
>>> + load = <CONFIG_K3_ATF_LOAD_ADDR>;
>>> + entry = <CONFIG_K3_ATF_LOAD_ADDR>;
>>> + atf: atf-bl31 {
>>> + };
>>> + };
>>> +
>>> + tee {
>>> + description = "OPTEE";
>>> + type = "tee";
>>> + arch = "arm64";
>>> + compression = "none";
>>> + os = "tee";
>>> + load = <0x9e800000>;
>>> + entry = <0x9e800000>;
>>> + tee: tee-os {
>>> + };
>>> + };
>>> +
>>> + dm {
>>> + description = "DM binary";
>>> + type = "firmware";
>>> + arch = "arm32";
>>> + compression = "none";
>>> + os = "DM";
>>> + load = <0x89000000>;
>>> + entry = <0x89000000>;
>>> + blob-ext {
>>> + filename = "/dev/null";
>>> + };
>>> + };
>>> +
>>> + spl {
>>> + description = "SPL (64-bit)";
>>> + type = "standalone";
>>> + os = "U-Boot";
>>> + arch = "arm64";
>>> + compression = "none";
>>> + load = <CONFIG_SPL_TEXT_BASE>;
>>> + entry = <CONFIG_SPL_TEXT_BASE>;
>>> + u_boot_spl_nodtb: blob-ext {
>>> + filename = "spl/u-boot-spl-nodtb.bin";
>>> + };
>>> + };
>>> +
>>> + fdt-0 {
>>> + description = "k3-am65-iot2050-spl.dtb";
>>> + type = "flat_dt";
>>> + arch = "arm";
>>> + compression = "none";
>>> + spl_am65x_evm_dtb: blob-ext {
>>> + filename = "spl/dts/k3-am65-iot2050-spl.dtb";
>>> + };
>>> + };
>>> + };
>>> +
>>> + configurations {
>>> + default = "spl";
>>> + spl {
>>> + fdt = "fdt-0";
>>> + firmware = "atf";
>>> + loadables = "tee", "dm", "spl";
>>> + };
>>> + };
>>> };
>>> fit at 0x380000 {
>>
>> Looks ok (will have to test), but this lacks adjustment of
>> tools/iot2050-sign-fw.sh, probably something around
>> s/tispl.bin/fit at 0x180000/g.
>>
>
> Okay, let us know once tested.
>
Done successfully, using this diff:
diff --git a/tools/iot2050-sign-fw.sh b/tools/iot2050-sign-fw.sh
index 4d1d79498c2..598482311ca 100755
--- a/tools/iot2050-sign-fw.sh
+++ b/tools/iot2050-sign-fw.sh
@@ -8,8 +8,8 @@ fi
TEMP_X509=$(mktemp XXXXXXXX.temp)
REVISION=${2:-0}
-SHA_VAL=$(openssl dgst -sha512 -hex tispl.bin | sed -e "s/^.*= //g")
-BIN_SIZE=$(stat -c %s tispl.bin)
+SHA_VAL=$(openssl dgst -sha512 -hex fit at 0x180000.fit | sed -e "s/^.*= //g")
+BIN_SIZE=$(stat -c %s fit at 0x180000.fit)
cat <<EOF >$TEMP_X509
[ req ]
@@ -38,10 +38,10 @@ EOF
CERT_X509=$(mktemp XXXXXXXX.crt)
openssl req -new -x509 -key $1 -nodes -outform DER -out $CERT_X509 -config $TEMP_X509 -sha512
-cat $CERT_X509 tispl.bin > tispl.bin_signed
+cat $CERT_X509 fit at 0x180000.fit > fit at 0x180000.fit_signed
# currently broken in upstream
#source/tools/binman/binman replace -i flash.bin -f tispl.bin_signed blob at 0x180000
-dd if=tispl.bin_signed of=flash.bin bs=$((0x1000)) seek=$((0x180000/0x1000)) conv=notrunc
+dd if=fit at 0x180000.fit_signed of=flash.bin bs=$((0x1000)) seek=$((0x180000/0x1000)) conv=notrunc
rm $TEMP_X509 $CERT_X509
> Regarding the naming used in tools/iot2050-sign-fw.sh; would you like me
> to preserve tispl.bin naming in the dts?
>
I don't mind, the naming is internal (thanks to the script).
Jan
--
Siemens AG, Technology
Competence Center Embedded Linux
More information about the U-Boot
mailing list