public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Davis <afd@ti.com>
To: Daniel Schultz <d.schultz@phytec.de>,
	"Mendez, Judith" <jm@ti.com>, Nishanth Menon <nm@ti.com>,
	Vignesh Raghavendra <vigneshr@ti.com>
Cc: Tero Kristo <kristo@kernel.org>, Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Hari Nagalla <hnagalla@ti.com>, Beleswar Padhi <b-padhi@ti.com>,
	Markus Schneider-Pargmann <msp@baylibre.com>,
	Devarsh Thakkar <devarsht@ti.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v8 03/11] arm64: dts: ti: k3-am62a-mcu: Add R5F remote proc node
Date: Mon, 5 May 2025 12:23:14 -0500	[thread overview]
Message-ID: <84e6413e-4a61-40a5-acc7-85da76e6d540@ti.com> (raw)
In-Reply-To: <646350fd-3dc5-47eb-ab1b-1a6a9acd69a8@phytec.de>

On 5/5/25 11:00 AM, Daniel Schultz wrote:
> Hey,
> 
> On 5/5/25 17:22, Andrew Davis wrote:
>> On 5/5/25 10:05 AM, Mendez, Judith wrote:
>>> Hi Daniel,
>>>
>>> On 5/5/2025 4:55 AM, Daniel Schultz wrote:
>>>> Hi,
>>>>
>>>> I'm unable to load the latest TI firmware (98efd20ec71f8c1c8f909d34ab656731) with this patch.
>>>>
>>>> [    7.012889] remoteproc remoteproc1: 79000000.r5f is available
>>>> [    7.032640] remoteproc remoteproc1: powering up 79000000.r5f
>>>> [    7.038626] remoteproc remoteproc1: Booting fw image am62a-mcu- r5f0_0-fw, size 53140
>>>> [    7.057209] remoteproc remoteproc1: bad phdr da 0x79100000 mem 0x47ea0
>>
>> So this looks like the firmware has sections in the SRAM region. That would be the
>> issue here.
>>
>>>> [    7.064716] remoteproc remoteproc1: Failed to load program segments: -22
>>>>
>>>> I figured out that the mcu sram node disappeared in v5. Apparently adding it back manually doesn't solve this problem. Any idea what's wrong?
>>>
>>> For am62ax, there should be several items changed with this v8
>>> series in order for remoteproc to work with the TI default firmware:
> What firmware did you use? I was using the latest public default firmware from ti-linux-firmware.
>>>
>>> 1. memory carveouts were reduced to 15MB [0] & edge-ai memory
>>> carveouts are not included here
>>
>> This shouldn't be an issue, the default firmware doesn't
>> use the extended carveouts.
> Yes, this is just the echo firmware.
>>
>>> 2. mcu_sram1 node removed [2]
>>>
>>
>> So when you say you added back the SRAM node, did you also add the
>> sram = <&mcu_ram>; in the core node?
> 
> With that property added, I can load the firmware again! So, what's the problem with adding this sram node and did you remove it?
> 

Good to hear that fixed it.

And we removed the SRAM node as I was unhappy with how we were handling reserving it.
The firmware should declare usage of shared resources like this in its resource table,
and the RProc driver should dynamically request the same from a normal SRAM pool.
What we were doing before was to statically block out the whole SRAM node for use by
the R5, and the driver would unconditionally map it, even if it was not used by the
loaded firmware at all.

I wanted us to fix the above before upstreaming it so we left it out of this
series. Next cycle we should have the better solution ready and posted for
upstream.

Andrew

> - Daniel
> 
>>
>> Andrew
>>
>>> If you want to catch up on the general direction for this series,
>>> please refer to [3]. atm remoteproc can fail with the default FW,
>>> but we are trying to move away from that firmware and this is the
>>> first step in that direction.
>>>
>>> [0] https://lore.kernel.org/linux-devicetree/0ab5c5ec-cde3-41f1-8adf-2419b31497c1@ti.com/
>>> [1] https://lore.kernel.org/linux-devicetree/04e77daf-e775-44fa-82bf-8b6ebf73bcef@ti.com/
>>> [2] https://lore.kernel.org/linux-devicetree/32358aa1-0c02-4f4d-9782-2d8376c0d9fc@ti.com/
>>> [3] https://lore.kernel.org/linux-devicetree/e131298f-3713-482a-a740-ff89709270b4@ti.com/
>>>
>>> ~ Judith
>>>
>>>>
>>>> On 5/3/25 00:03, Judith Mendez wrote:
>>>>> From: Hari Nagalla <hnagalla@ti.com>
>>>>>
>>>>> AM62A SoCs have a single R5F core in the MCU voltage domain.
>>>>> Add the R5FSS node with the child node for core0 in MCU voltage
>>>>> domain .dtsi file.
>>>>>
>>>>> Signed-off-by: Hari Nagalla <hnagalla@ti.com>
>>>>> Signed-off-by: Judith Mendez <jm@ti.com>
>>>>> Acked-by: Andrew Davis <afd@ti.com>
>>>>> ---
>>>>>   arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi | 25 ++++++++++++++++++++++++
>>>>>   1 file changed, 25 insertions(+)
>>>>>
>>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi b/arch/arm64/ boot/dts/ti/k3-am62a-mcu.dtsi
>>>>> index 9ed9d703ff24..ee961ced7208 100644
>>>>> --- a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
>>>>> +++ b/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
>>>>> @@ -174,4 +174,29 @@ mcu_mcan1: can@4e18000 {
>>>>>           bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
>>>>>           status = "disabled";
>>>>>       };
>>>>> +
>>>>> +    mcu_r5fss0: r5fss@79000000 {
>>>>> +        compatible = "ti,am62-r5fss";
>>>>> +        #address-cells = <1>;
>>>>> +        #size-cells = <1>;
>>>>> +        ranges = <0x79000000 0x00 0x79000000 0x8000>,
>>>>> +             <0x79020000 0x00 0x79020000 0x8000>;
>>>>> +        power-domains = <&k3_pds 7 TI_SCI_PD_EXCLUSIVE>;
>>>>> +        status = "disabled";
>>>>> +
>>>>> +        mcu_r5fss0_core0: r5f@79000000 {
>>>>> +            compatible = "ti,am62-r5f";
>>>>> +            reg = <0x79000000 0x00008000>,
>>>>> +                  <0x79020000 0x00008000>;
>>>>> +            reg-names = "atcm", "btcm";
>>>>> +            resets = <&k3_reset 9 1>;
>>>>> +            firmware-name = "am62a-mcu-r5f0_0-fw";
>>>>> +            ti,atcm-enable = <0>;
>>>>> +            ti,btcm-enable = <1>;
>>>>> +            ti,loczrama = <0>;
>>>>> +            ti,sci = <&dmsc>;
>>>>> +            ti,sci-dev-id = <9>;
>>>>> +            ti,sci-proc-ids = <0x03 0xff>;
>>>>> +        };
>>>>> +    };
>>>>>   };
>>>

  reply	other threads:[~2025-05-05 17:23 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-02 22:03 [PATCH v8 00/11] Add R5F and C7xv device nodes Judith Mendez
2025-05-02 22:03 ` [PATCH v8 01/11] arm64: dts: ti: k3-am62: Add ATCM and BTCM cbass ranges Judith Mendez
2025-05-02 22:03 ` [PATCH v8 02/11] arm64: dts: ti: k3-am62-wakeup: Add wakeup R5F node Judith Mendez
2025-05-05  9:29   ` Daniel Schultz
2025-05-02 22:03 ` [PATCH v8 03/11] arm64: dts: ti: k3-am62a-mcu: Add R5F remote proc node Judith Mendez
2025-05-05  9:55   ` Daniel Schultz
2025-05-05 15:05     ` Mendez, Judith
2025-05-05 15:22       ` Andrew Davis
2025-05-05 16:00         ` Daniel Schultz
2025-05-05 17:23           ` Andrew Davis [this message]
2025-05-06 11:24             ` Daniel Schultz
2025-05-06 11:20   ` Daniel Schultz
2025-05-02 22:03 ` [PATCH v8 04/11] arm64: dts: ti: k3-am62a-wakeup: Add R5F device node Judith Mendez
2025-05-05  9:30   ` Daniel Schultz
2025-05-02 22:03 ` [PATCH v8 05/11] arm64: dts: ti: k3-am62a-main: Add C7xv " Judith Mendez
2025-05-05  9:29   ` Daniel Schultz
2025-05-02 22:03 ` [PATCH v8 06/11] arm64: dts: ti: k3-am62a7-sk: Enable IPC with remote processors Judith Mendez
2025-05-02 22:03 ` [PATCH v8 07/11] arm64: dts: ti: k3-am62p5-sk: " Judith Mendez
2025-05-02 22:03 ` [PATCH v8 08/11] arm64: dts: ti: k3-am62x-sk-common: " Judith Mendez
2025-05-02 22:03 ` [PATCH v8 09/11] arm64: dts: ti: k3-am62a7-sk: Reserve main_timer2 for C7x DSP Judith Mendez
2025-05-02 22:03 ` [PATCH v8 10/11] arm64: dts: ti: k3-am62a7-sk: Reserve main_rti4 " Judith Mendez
2025-05-02 22:03 ` [PATCH v8 11/11] arm64: dts: ti: k3-am64: Reserve timers used by MCU FW Judith Mendez
2025-05-06 13:09 ` [PATCH v8 00/11] Add R5F and C7xv device nodes Nishanth Menon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=84e6413e-4a61-40a5-acc7-85da76e6d540@ti.com \
    --to=afd@ti.com \
    --cc=b-padhi@ti.com \
    --cc=conor+dt@kernel.org \
    --cc=d.schultz@phytec.de \
    --cc=devarsht@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=hnagalla@ti.com \
    --cc=jm@ti.com \
    --cc=kristo@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=msp@baylibre.com \
    --cc=nm@ti.com \
    --cc=robh@kernel.org \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox