Re: [PATCH v3 3/3] ARM: dts: stm32: fix several DT warnings on stm32mp15

From: Raphael Gallais-Pou
Date: Mon May 29 2023 - 04:08:05 EST



On 5/26/23 18:55, Marek Vasut wrote:
> On 5/25/23 10:14, Raphael Gallais-Pou wrote:
>
> Hi,
Hi Marek,
>
>>> I think if you retain the stm32mp151.dtsi &ltdc { port { #address-cells = <1>;
>>> #size-cells = <0>; }; }; part, then you wouldn't be getting any warnings
>>> regarding LTDC , and you wouldn't have to remove the unit-address from
>>> endpoint@0 .
>>>
>>> btw. I do use both endpoint@0/endpoint@1 in Avenger96 DTOs, but those are not
>>> submitted yet, I have to clean them up a bit more first.
>>>
>>>> One way to do it would be to make the endpoint@0 go down in the device-tree
>>>> with
>>>> its dependencies, so that both endpoints are the same level without generating
>>>> noise.
>>>
>>> I'm afraid I really don't quite understand which warning you're referring to.
>>> Can you please share that warning and ideally how to trigger it (the
>>> command-line incantation) ?
>>
>> Using '$ make dtbs W=1', you can observe several of the followings:
>>
>> arch/arm/boot/dts/stm32mp151.dtsi:1533.9-1536.6: Warning
>> (avoid_unnecessary_addr_size): /soc/display-controller@5a001000/port:
>> unnecessary #address-cells/#size-cells without "ranges" or child "reg" property
>> arch/arm/boot/dts/stm32mp151.dtsi:1533.9-1536.6: Warning (graph_child_address):
>> /soc/display-controller@5a001000/port: graph node has single child node
>> 'endpoint@0', #address-cells/#size-cells are not necessary
>>
>> This &ltdc { port { #address-cells = <1>; #size-cells = <0>; }; }; part is
>> actually annoying. This is because there is several device-trees that only got
>> one endpoint, and some other that includes two.
>>
>> For instance: stm32mp15xx-dhcor-avenger96.dtsi vs stm32mp157c-dk2.dts.
>>
>> I would like to remove to root part of address/size field and let only the lower
>> device-trees with with multiple endpoints handle their own fields. I hope this
>> explains a bit better my process.
>
> After thinking about this some more, and digging through LTDC driver, and
> testing on EV1, I think dropping the LTDC node endpoint@N and reg=<N>
> altogether and just using port/endpoint (singular) is fine.
>
> You might want to split the DSI node specific changes and the LTDC node
> specific changes into separate patches (LTDC specific change like you did in
> 1/3).

Yes, I prepared a new serie with that split, to that it is better to read and
review.


Raphaël