[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cf8f1087-34d0-42c3-8245-38dc7312b29c@ti.com>
Date: Thu, 15 Jan 2026 11:16:14 +0530
From: "Kumar, Udit" <u-kumar1@...com>
To: "Padhi, Beleswar" <b-padhi@...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
On 1/15/2026 11:11 AM, Padhi, Beleswar wrote:
> 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
>
Is this specific handling for m4 core ? , I see other rproc got power at
cluster level
https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi#L1518
>
> 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