[PATCH v4 05/11] arm: dts: k3-binman: Add template for packing HSM firmware
Simon Glass
sjg at chromium.org
Thu Apr 30 01:51:28 CEST 2026
Hi Beleswar,
On 2026-04-25T03:37:39, Padhi, Beleswar <b-padhi at ti.com> wrote:
> arm: dts: k3-binman: Add template for packing HSM firmware
>
> The HSM M4 core needs to be booted at R5 SPL stage so that it can be
> used for further Authentication and security services. Therefore, the
> firmware for the HSM core needs to be packed in tispl.bin fit image so
> that it can be used by R5 SPL to boot the HSM core.
>
> Add a template for packing the HSM firmware in tispl.bin. The template
> also contains necessary fields which will be populated in the boot
> extension and load extension in the x509 certificate for HSM firmware.
> This is required as the HSM firmware needs to be signed before invoking
> TIFS to authenticate and load the blob to HSM core.
>
> Signed-off-by: Beleswar Padhi <b-padhi at ti.com>
>
> arch/arm/dts/k3-binman.dtsi | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
> diff --git a/arch/arm/dts/k3-binman.dtsi b/arch/arm/dts/k3-binman.dtsi
> @@ -297,6 +297,26 @@
> + ti-secure {
> + content = <&hsm_fw>;
> + keyfile = 'custMpk.pem';
> + proc_id = <0x80>;
> + flags_set = <0x04>;
> + flags_clr = <0x00>;
> + reset_vector = <0x00>;
> + dest_addr = <0x43C00000>;
> + auth_type = <0xFD00>;
> + };
We should use hyphens in DT property names. The existing ti-secure
properties (auth-in-place, firewall-cert-data) already follow this
convention; the python side can still expose them as proc_id etc after
the usual hyphen-to-underscore translation.
> diff --git a/arch/arm/dts/k3-binman.dtsi b/arch/arm/dts/k3-binman.dtsi
> @@ -297,6 +297,26 @@
> + proc_id = <0x80>;
> + flags_set = <0x04>;
> + flags_clr = <0x00>;
> + reset_vector = <0x00>;
> + dest_addr = <0x43C00000>;
> + auth_type = <0xFD00>;
Please use lower case hex. Also these could use a short comment above
the node (or alongside each value) describing what proc-id 0x80 names,
what bits flags-set 0x04 selects, and what auth-type 0xFD00 means. A
reference to the TIFS interface doc would also help.
> diff --git a/arch/arm/dts/k3-binman.dtsi b/arch/arm/dts/k3-binman.dtsi
> @@ -297,6 +297,26 @@
> +#ifdef CONFIG_K3_HSM_FW
> + hsm {
> + description = "HSM binary";
> + type = 'standalone';
> + compression = 'none';
> + os = 'hsm';
The os = 'hsm' string is what r5/common.c keys on via
image_os_match[IMAGE_ID_HSM] to identify this image. Please mention
that coupling in the commit message (or add a brief comment) so it is
clear this string is not free-form - i.e. changing it silently breaks
the post-process matcher.
Reviewed-by: Simon Glass <sjg at chromium.org>
Regards,
Simon
More information about the U-Boot
mailing list