[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3a62d6f7-ff88-4f5a-8dfd-ded3e5ff1c86@ti.com>
Date: Thu, 15 Jan 2026 11:11:25 +0530
From: "Padhi, Beleswar" <b-padhi@...com>
To: "Kumar, Udit" <u-kumar1@...com>, <nm@...com>, <vigneshr@...com>,
<kristo@...nel.org>, <robh@...nel.org>, <krzk+dt@...nel.org>,
<conor+dt@...nel.org>
CC: <afd@...com>, <hnagalla@...com>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH v3 2/2] arm64: dts: ti: k3-am62p-j722s-common-main: Add
HSM M4F node
Hi Udit,
On 1/15/2026 10:06 AM, Kumar, Udit wrote:
> Hi Beleswar,
>
> On 1/14/2026 11:05 PM, Beleswar Padhi wrote:
>> The TI K3 AM62P and J722S SoCs have a HSM (High Security Module) M4F
>> core in the MAIN Voltage Domain which could be used to run secure
>> services like Authentication. Add Device Tree Node definitions for the
>> HSM core in the respective SoC common main dtsi file.
>>
>> The HSM node is reserved to be loaded and booted by the early-stage
>> bootloader. The firmware-name property is defined at the SoC level
>> since the HSM is not a general-purpose remote core and boards are
>> unlikely to use separate firmware. If needed in exceptional cases,
>> board-specific device trees can override this property.
>>
>> The corresponding reg ranges of HSM node has also been added to its
>> parent node's (cbass_main bus) ranges property.
>>
>> Signed-off-by: Beleswar Padhi <b-padhi@...com>
>> ---
>> v3: Changelog:
>> [Nishanth]:
>> 1. Use generic node name 'remoteproc'
>> 2. Use label 'hsm' instead of 'hsm_m4fss'
>> 3. Add a comment for separate SRAMs
>> 4. Update firmware-name property to match existing naming conventions
>> 5. Change status to 'reserved' and add a commment
>> 6. Re-order bootph-pre-ram property before vendor properties
>> 7. Update commit msg adding rationale for firmware-name in SoC.dtsi
>>
>> Link to v2:
>> https://lore.kernel.org/all/20260106104755.948086-4-b-padhi@ti.com/
>>
>> v2: Changelog:
>> 1. None
>>
>> Link to v1:
>> https://lore.kernel.org/all/20251231165102.950644-4-b-padhi@ti.com/
>>
>> .../boot/dts/ti/k3-am62p-j722s-common-main.dtsi | 17 +++++++++++++++++
>> arch/arm64/boot/dts/ti/k3-am62p.dtsi | 1 +
>> arch/arm64/boot/dts/ti/k3-j722s-main.dtsi | 5 +++++
>> arch/arm64/boot/dts/ti/k3-j722s.dtsi | 1 +
>> 4 files changed, 24 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi
>> b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi
>> index 3cf7c2b3ce2dd..0e1af2a69ca2e 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi
>> @@ -1117,4 +1117,21 @@ vpu: video-codec@...10000 {
>> clocks = <&k3_clks 204 2>;
>> power-domains = <&k3_pds 204 TI_SCI_PD_EXCLUSIVE>;
>> };
>> +
>> + hsm: remoteproc@...00000 {
>> + compatible = "ti,hsm-m4fss";
>> + /* contiguous regions but instantiated separately in HW */
>> + reg = <0x00 0x43c00000 0x00 0x20000>,
>> + <0x00 0x43c20000 0x00 0x10000>,
>> + <0x00 0x43c30000 0x00 0x10000>;
>> + reg-names = "sram0_0", "sram0_1", "sram1";
>> + resets = <&k3_reset 225 1>;
>> + firmware-name = "am62p-hsm-m4f-fw";
>
> you don't need clock and power-domain for this ?
That info is abstracted out via ti-sci calls. ti_sci_cmd_get_device()
takes care of setting clocks and power domains for us.
Same for other rprocs:
https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi#L178
Thanks,
Beleswar
>
>
>> + bootph-pre-ram;
>> + ti,sci = <&dmsc>;
>> + ti,sci-dev-id = <225>;
>> + ti,sci-proc-ids = <0x80 0xff>;
>> + /* reserved for early-stage bootloader */
>> + status = "reserved";
>> + };
>> };
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62p.dtsi
>> b/arch/arm64/boot/dts/ti/k3-am62p.dtsi
>> index e2c01328eb298..9d6266d6ddb82 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62p.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am62p.dtsi
>> @@ -96,6 +96,7 @@ cbass_main: bus@...00 {
>> <0x00 0x31100000 0x00 0x31100000 0x00 0x00050000>, /*
>> USB1 DWC3 Core window */
>> <0x00 0x40900000 0x00 0x40900000 0x00 0x00030000>, /*
>> SA3UL */
>> [..]
Powered by blists - more mailing lists