[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fa3885df-8977-9540-f2af-d4095f519483@denx.de>
Date: Thu, 15 Apr 2021 16:30:38 +0200
From: Marek Vasut <marex@...x.de>
To: Alexandre TORGUE <alexandre.torgue@...s.st.com>, arnd@...db.de,
robh+dt@...nel.org, jagan@...rulasolutions.com,
Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
Marcin Sloniewski <marcin.sloniewski@...il.com>,
Ahmad Fatoum <a.fatoum@...gutronix.de>
Cc: linux-arm-kernel@...ts.infradead.org, devicetree@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com,
linux-kernel@...r.kernel.org, Lee Jones <lee.jones@...aro.org>,
kuba@...nel.org
Subject: Re: [PATCH 11/13] ARM: dts: stm32: fix LTDC port node on STM32 MCU ad
MPU
On 4/15/21 3:34 PM, Alexandre TORGUE wrote:
> Hi Marek
Hello Alexandre,
>>> diff --git a/arch/arm/boot/dts/stm32mp157c-dk2.dts
>>> b/arch/arm/boot/dts/stm32mp157c-dk2.dts
>>> index 2bc92ef3aeb9..19ef475a48fc 100644
>>> --- a/arch/arm/boot/dts/stm32mp157c-dk2.dts
>>> +++ b/arch/arm/boot/dts/stm32mp157c-dk2.dts
>>> @@ -82,9 +82,15 @@
>>> };
>>> <dc {
>>> - status = "okay";
>>> -
>>> port {
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>> +
>>> + ltdc_ep0_out: endpoint@0 {
>>> + reg = <0>;
>>> + remote-endpoint = <&sii9022_in>;
>>> + };
>>> +
>>> ltdc_ep1_out: endpoint@1 {
>>> reg = <1>;
>>> remote-endpoint = <&dsi_in>;
>>
>> [...]
>>
>>> diff --git a/arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi
>>> b/arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi
>>> index 64dca5b7f748..e7f10975cacf 100644
>>> --- a/arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi
>>> +++ b/arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi
>>> @@ -277,11 +277,7 @@
>>> status = "okay";
>>> port {
>>> - #address-cells = <1>;
>>> - #size-cells = <0>;
>>> -
>>> - ltdc_ep0_out: endpoint@0 {
>>> - reg = <0>;
>>> + ltdc_ep0_out: endpoint {
>>> remote-endpoint = <&adv7513_in>;
>>> };
>>> };
>>
>> I think this is wrong, the AV96 can have two displays connected to two
>> ports of the LTDC, just like DK2 for example.
>
> As for dk2 address/size cells are added only if there are 2 endpoints.
> It is for this reason I moved endpoint0 definition from stm32mp15xx-dkx
> to stm32mp151a-dk1.dts (dk1 has only one endpoint).
>
> Here it's the same, if you have second endpoint then adress/size will
> have to be added.
That's a bit problematic. Consider either the use case of DTO which adds
the other display, or even a custom board DTS. Without your patch, this
works:
arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi
<dc {
...
ports {
ltdc_ep0_out: endpoint@0 {
remote-endpoint = <&adv7513_in>;
};
};
};
board-with-display.dts or board-overlay.dts
<dc {
ports {
endpoint@1 { // just add another endpoint@1, no problem
remote-endpoint = <&display>;
};
};
};
With your patch, the DTS would have to modify the "endpoint" node to be
"endpoint@0" probably with a whole lot of /detele-node/ etc. magic (DTO
cannot do that, so that's a problem, and I do use DTOs on AV96
extensively for the various expansion cards) and then add the
endpoint@1. That becomes real complicated in custom board DT, and
impossible with DTO.
Powered by blists - more mailing lists