Re: [PATCH v2 1/2] dt-bindings: interrupt-controller: mpm: Pass MSG RAM slice through phandle

From: Krzysztof Kozlowski
Date: Fri Apr 07 2023 - 03:00:25 EST


On 06/04/2023 21:55, Konrad Dybcio wrote:
>
>
> On 6.04.2023 19:45, Krzysztof Kozlowski wrote:
>> On 05/04/2023 15:49, Konrad Dybcio wrote:
>>>
>>>
>>> On 5.04.2023 15:47, Rob Herring wrote:
>>>> On Wed, Apr 05, 2023 at 07:22:40AM -0500, Rob Herring wrote:
>>>>>
>>>>> On Wed, 05 Apr 2023 12:48:34 +0200, Konrad Dybcio wrote:
>>>>>> Due to the wild nature of the Qualcomm RPM Message RAM, we can't really
>>>>>> use 'reg' to point to the MPM's slice of Message RAM without cutting into
>>>>>> an already-defined RPM MSG RAM node used for GLINK and SMEM.
>>>>>>
>>>>>> Document passing the register space as a slice of SRAM through the
>>>>>> qcom,rpm-msg-ram property. This also makes 'reg' deprecated.
>>>>>>
>>>>>> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
>>>>>> ---
>>>>>> .../devicetree/bindings/interrupt-controller/qcom,mpm.yaml | 12 +++++++++---
>>>>>> 1 file changed, 9 insertions(+), 3 deletions(-)
>>>>>>
>>>>>
>>>>> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
>>>>> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>>>>>
>>>>> yamllint warnings/errors:
>>>>>
>>>>> dtschema/dtc warnings/errors:
>>>>> Documentation/devicetree/bindings/interrupt-controller/qcom,mpm.example.dts:22.35-38.11: Warning (node_name_vs_property_name): /example-0/interrupt-controller: node name and property name conflict
>>>>
>>>> Looks like this is colliding with the example template which has to
>>>> craft an interrupt provider for 'interrupts' properties. Either adding a
>>>> parent node or using interrupts-extended instead should work-around it.
>>> Check the devicetree-org issue linked in the cover letter, please!
>>>
>>> I suppose wrapping it in a parent node could work as a temporary
>>> measure, but since it belongs outside /soc, I'd have to make up
>>> a bogus simple-bus, I think.
>>
>> I don't think your issue in dtschema is accurate. As Rob suggested, you
>> need wrapping node.
> I don't really know what kind.. I can add something like:
>
> rpm {
> compatible = "qcom,rpm", "simple-mfd";
>
> mpm: interrupt-controller {
> ...
> };
>
> And then only introduce a very simple YAML for "qcom,rpm"
> describing what it is and documenting the compatible.
>
> Or I can push it under rpm-requests{}.

It does not matter really what kind of wrapper. Can be:

sram {
interrupt-controller {

Best regards,
Krzysztof