[Linux-stm32] [PATCH 09/12] arm64: dts: st: add lvds support on stm32mp255

Raphael Gallais-Pou raphael.gallais-pou at foss.st.com
Fri Jul 25 07:52:13 PDT 2025



On 7/25/25 13:13, Clement LE GOFFIC wrote:
> On 7/25/25 13:08, Clement LE GOFFIC wrote:
>> Hi Raphael,
>>
>> On 7/25/25 12:04, Raphael Gallais-Pou wrote:
>>> The LVDS is used on STM32MP2 as a display interface.
>>>
>>> Add the LVDS node.
>>>
>>> Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou at foss.st.com>
>>> ---
>>>   arch/arm64/boot/dts/st/stm32mp255.dtsi | 12 ++++++++++++
>>>   1 file changed, 12 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/st/stm32mp255.dtsi b/arch/arm64/boot/
>>> dts/st/stm32mp255.dtsi
>>> index
>>> f689b47c5010033120146cf1954d6624c0270045..a4d965f785fa42c4597494010855aec7e1b9fdd1
>>> 100644
>>> --- a/arch/arm64/boot/dts/st/stm32mp255.dtsi
>>> +++ b/arch/arm64/boot/dts/st/stm32mp255.dtsi
>>> @@ -6,6 +6,18 @@
>>>   #include "stm32mp253.dtsi"
>>>   &rifsc {
>>> +    lvds: lvds at 48060000 {
>>> +        compatible = "st,stm32mp25-lvds";
>>
>> For the compatible you now need one comaptible per SoC.
>> It means your compatible should look like : "st,stm32mp251-lvds".
>> This way, if on the 253 or 255 there is an issue you are able to easily add
>> match data in the driver with compatible "st,stm32mp253-lvds" or
>> "st,stm32mp255-lvds".
>> A prior discussion on this subject has been raised on my V1 of HDP involving
>> Krzysztof and Alexandre :
>> https://lore.kernel.org/all/418a80a9-8c08-4dd1- bf49-1bd7378321aa at kernel.org/
> Woops, this comment should target the add of the ltdc compatible as I see that
> lvds one already exists and can't be changed.
> Though the main idea is here.

Indeed, the compatible is wrong.

After carefully reading the thread you point to, I suggest the following:

* Rename the new LTDC compatible to "st,stm32mp251-ltdc"
* Add another compatible for the LVDS. So it would have "st,stm32mp255-lvds",
and falls back to "st,stm32mp25-lvds".

Like so the LVDS driver would not have to be modified.

Alex, Krzysztof, does that seem good to you ?

Best regards,
Raphaël
>
>>
>>> +        #clock-cells = <0>;
>>> +        reg = <0x48060000 0x2000>;
>>> +        clocks = <&rcc CK_BUS_LVDS>, <&rcc CK_KER_LVDSPHY>;
>>> +        clock-names = "pclk", "ref";
>>> +        resets = <&rcc LVDS_R>;
>>> +        access-controllers = <&rifsc 84>;
>>> +        power-domains = <&CLUSTER_PD>;
>>> +        status = "disabled";
>>> +    };
>>> +
>>>       vdec: vdec at 480d0000 {
>>>           compatible = "st,stm32mp25-vdec";
>>>           reg = <0x480d0000 0x3c8>;
>>>
>>
>> Best regards,
>> Clément
>




More information about the linux-arm-kernel mailing list