[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