Messages in this thread | | | Date | Tue, 14 Feb 2023 08:28:24 -0600 | Subject | Re: [PATCH 2/2] arm64: dts: qcom: sm8450: Add IMEM and PIL info region | From | Alex Elder <> |
| |
On 2/14/23 6:34 AM, Mukesh Ojha wrote: > +@alex, > > Please comment. > > -Mukesh > > On 2/7/2023 2:34 AM, Bjorn Andersson wrote: >> On Mon, Feb 06, 2023 at 08:06:13PM +0530, Mukesh Ojha wrote: >>> >>> >>> On 2/4/2023 3:07 AM, Konrad Dybcio wrote: >>>> >>>> >>>> On 3.02.2023 18:04, Mukesh Ojha wrote: >>>>> Add a simple-mfd representing IMEM on SM8450 and define the PIL >>>>> relocation info region, so that post mortem tools will be able >>>>> to locate the loaded remoteprocs. >>>>> >>>>> Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com> >>>>> --- >>>> From XBL: >>>> >>>> 0x14680000, 0x0002A000, "IMEM Base" >>>> >>>> Is there anything in that wider address range that would interest >>>> us? I recall Alex once dug into that when diving into IPA, but >>>> I can not recall the conclusion..
So you're saying a boot loader defines "IMEM Base" as a range of memory, size 0x2a000.
>>> Spec-wise, yes IPA do own these 0x146A8000 - 0x146AA000 . >>> But, not sure what they use it for.
And a subset of that range (at offset 0x28000, size 0x2000) is set aside for use by IPA. IPA *does* use this memory area as "fast" memory to hold certain frequently-accessed tables. Details of that are under the modem's control, and I don't have knowledge of that.
The IPA driver currently maps it's portion of this memory, but does *not* reflect that use in DT. (This is something that will be corrected at some point, possibly soon.)
>> The DT should not reflect the organization structure. Let's see if Alex >> have any input on this.
As I understand it there's an "imem" node in DT defined, but it just defines the range of memory, and is something referred to by other drivers (or other nodes in a DTS file). This seems reasonable, and it kind of matches the view I've seen in documents. IPA does *not* follow that pattern, and should.
I don't really have any strong input either way. I can help define the "problem" but I don't claim to know the correct way to represent this.
It's a contiguous block of special memory. By convention (design) its range divided up, with portions intended to be used for different purposes, by different hardware. IPA is one of the users.
-Alex
>> >> Thanks, >> Bjorn >> >>> -Mukesh >>>> >>>> Konrad >>>>> arch/arm64/boot/dts/qcom/sm8450.dtsi | 15 +++++++++++++++ >>>>> 1 file changed, 15 insertions(+) >>>>> >>>>> diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi >>>>> b/arch/arm64/boot/dts/qcom/sm8450.dtsi >>>>> index 5704750..474ea1b 100644 >>>>> --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi >>>>> +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi >>>>> @@ -3536,6 +3536,21 @@ >>>>> }; >>>>> }; >>>>> + sram@146aa000 { >>>>> + compatible = "qcom,sm8450-imem", "syscon", "simple-mfd"; >>>>> + reg = <0 0x146aa000 0 0x1000>; >>>>> + >>>>> + #address-cells = <1>; >>>>> + #size-cells = <1>; >>>>> + >>>>> + ranges = <0 0 0x146aa000 0x1000>; >>>>> + >>>>> + pil-reloc@94c { >>>>> + compatible = "qcom,pil-reloc-info"; >>>>> + reg = <0x94c 0xc8>; >>>>> + }; >>>>> + }; >>>>> + >>>>> apps_rsc: rsc@17a00000 { >>>>> label = "apps_rsc"; >>>>> compatible = "qcom,rpmh-rsc";
| |