[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b6717831-1840-4b9a-aade-ab2248e3f75d@kernel.org>
Date: Tue, 4 Nov 2025 15:26:03 +0100
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Konrad Dybcio <konrad.dybcio@....qualcomm.com>,
Jingyi Wang <jingyi.wang@....qualcomm.com>
Cc: Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, Robert Marko <robimarko@...il.com>,
Das Srinagesh <quic_gurus@...cinc.com>, aiqun.yu@....qualcomm.com,
tingwei.zhang@....qualcomm.com, trilok.soni@....qualcomm.com,
yijie.yang@....qualcomm.com, linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 1/2] dt-bindings: soc: qcom: Add qcom,kaanapali-imem
compatible
On 04/11/2025 13:32, Konrad Dybcio wrote:
> On 11/4/25 9:16 AM, Krzysztof Kozlowski wrote:
>> On Sun, Nov 02, 2025 at 11:25:06PM -0800, Jingyi Wang wrote:
>>> Document qcom,kaanapali-imem compatible. Kaanapali IMEM is not a syscon or
>>> simple-mfd, also "reboot reason" is not required on Kaanapali like some
>>
>> I do not see correlation. Something is not a syscon, so you add a new
>> generic compatible? No.
>>
>>> other platforms. So define a common "qcom,imem" binding and fallback to it.
>>
>> You did not define fallback to it!
>>
>> ...
>>
>>> + - items:
>>> + - enum:
>>> + - qcom,kaanapali-imem
>>> + - const: qcom,imem
>>
>> I do not understand what this generic compatible is supposed to express,
>> not explained in commit msg. Considering this wasn't before, it is a
>> major and really undesired change. It also makes no sesne. There was no
>> generic compatible before but "if not syscon" now this must have generic
>> compatible, what?
>
> So IMEM (or SYSTEM_IMEM more specifically as opposed to BOOT_IMEM which
> you can take your guesses what it's used for) is to the best of our
> understanding just a piece of SRAM that's accessible by multiple
> processors/subsystems on the SoC.
>
> A smaller region within it ("shared IMEM") is a little bit of a dumping
> ground for various (incl. runtime) configuration and debug magic data
> and that's usually what Linux is concerned with.
>
> IMEM is currently described as a simple-mfd+syscon, which it is clearly
> not. The former, as we've established in the past, was used as a hack to
> have something call of_platform_populate().
>
> I think that in turn is only necessary for the old arm32 DTs which have
> a syscon-reboot-mode node under IMEM (and I think that's where the syscon
> compatible comes from).
>
> Should we make the switch to mmio-sram and settle this discussion?
> It would probably require convincing the sram maintainer to add that
> of_platform_populate() call in its probe func and making syscon-reboot
> not depend on a syscon (not like it's very hard)
This I got, but nothing here explains why you need generic compatible.
To re-iterate: there was no generic compatible before, now there is.
Writing bindings and numerous reviews from DT maintainers ask not to use
generic compatibles.
Best regards,
Krzysztof
Powered by blists - more mailing lists