[PATCH v2 0/7] Add support to boot TI K3 HSM M4 core

Andrew Davis afd at ti.com
Tue May 6 13:08:18 CEST 2025


On 5/6/25 5:41 AM, Beleswar Padhi wrote:
> Some TI K3 SoCs like J721S2, and J784S4 have a HSM (High Security
> Module) M4F core in the Wakeup Voltage Domain which could be used to
> run secure services like Authentication. Boot flow for HSM M4 core is
> different than the general purpose M4F cores, and is as below:
> 

The below flow looks exactly like the general purpose M4F cores..
Why is the HSM core treated differently and this loader not made into
a normal remote proc driver?

Andrew

> 1. Request control of HSM M4F remote processor.
> 2. Assert Reset on the HSM M4F remote processor.
> 3. Request Secure Entity to Authenticate and Load HSM firmware into
>     core's internal SRAM memory region. For GP device, load the firmware
>     manually into core's SRAM region.
> 4. Deassert Reset on the HSM M4F remote processor.
> 5. Release control of HSM M4F remote processor.
> 
> This series adds support to boot HSM M4 core from R5 SPL stage. The HSM
> firmware is packed inside the tispl.bin fit image. The firmware is
> unpacked into a temporary DDR address which is then used to load HSM
> core. The configs to boot HSM M4 core are disabled by default.
> 
> v2: Changelog:
> [Andrew]:
>   1. Added support in SPL to load FIT images with no 'load' property.
>   2. Removed 'default = n' in CONFIG option.
>   3. Used __maybe_unused to decrease preprocessing.
>   4. Better error messages with error code.
> [Udit]:
>   1. Added 'HSM' entries in enum at the last.
>   2. Added error condition in if-elseif-else ladder.
>   3. Hang System boot when HSM failed to boot properly.
> 
> Link to v1:
> https://lore.kernel.org/all/20250422095430.363792-1-b-padhi@ti.com/
> 
> Test logs after enabling HSM boot configs:
> https://gist.github.com/3V3RYONE/ad33683652c8c49e4fedab49f0493e79
> 
> Beleswar Padhi (7):
>    arm: mach-k3: Add config option for booting HSM core
>    spl: Use FIT data address as fallback when 'load' property is absent
>    arm: dts: k3-binman: Add template for packing HSM firmware
>    arm: dts: k3-{j721s2/j784s4}-binman: Pack HSM firmware inside
>      tispl.bin
>    arm: mach-k3: Use FIT image data addr as fallback if 'load' prop is
>      missing
>    arm: mach-k3: Explicitly identify TIFSSTUB images when discarding
>      buffers
>    arm: mach-k3: r5: common: Add support to boot HSM M4 core
> 
>   arch/arm/dts/k3-binman.dtsi        |   9 +++
>   arch/arm/dts/k3-j721s2-binman.dtsi |  12 ++++
>   arch/arm/dts/k3-j784s4-binman.dtsi |  14 ++++
>   arch/arm/mach-k3/Kconfig           |   7 ++
>   arch/arm/mach-k3/r5/common.c       | 111 +++++++++++++++++++++++++++--
>   common/spl/spl_fit.c               |  16 ++++-
>   6 files changed, 164 insertions(+), 5 deletions(-)
> 


More information about the U-Boot mailing list