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

From: Marek Vasut
Date: Wed May 17 2023 - 19:34:07 EST


On 5/17/23 19:04, Raphael Gallais-Pou wrote:
Hi Marek

Hi,

On 5/17/23 17:41, Marek Vasut wrote:
On 5/17/23 16:35, Raphael Gallais-Pou wrote:

Hi,

diff --git a/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
b/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
index 0f1110e42c93..a6e2e20f12fa 100644
--- a/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
+++ b/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
@@ -457,8 +457,7 @@ &ltdc {
      status = "okay";
        port {
-        ltdc_ep0_out: endpoint@0 {
-            reg = <0>;
+        ltdc_ep0_out: endpoint {
              remote-endpoint = <&sii9022_in>;
          };
      };

This LTDC port/endpoint stuff always scares me, because I always feel I get it
wrong.

I believe the LTDC does have one "port" , correct.

But I think (?) that the LTDC has two endpoints, endpoint@0 for DPI (parallel
output out of the SoC) and endpoint@1 for DSI (internal connection into the
DSI serializer) ?

You are correct indeed, I rushed the patch and did not thought about this. I
agree that this can be confusing, as I also take some time to think through it.


Only one of the endpoints can be connected at a time, but there are actually
two endpoints in the LTDC port {} node, aren't there ?
Yes, they are mutually exclusive.

So the original description should be OK I think , maybe #address/#size-cells
are missing instead ?

Thing is: this file is only included in two device-trees : stm32mp157c-dk1.dts
and stm32mp157c-dk2.dts.

Among those two files there is only one which adds a second endpoint. Thus if
the fields are set higher in the hierarchy, a warning yields.

I do not understand this one part, which warning are you trying to fix ?
I just ran '$ make CHECK_DTBS=1 stm32mp157a-dk1.dtb stm32mp157c-dk2.dtb' in latest linux-next and there was no warning related to LTDC .

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) ?

--
Best regards,
Marek Vasut