This patch adds LVDS support on stm32mp255.  The LVDS is used on
STM32MP2 as a display interface.  LVDS PLL clock is binded to the LTDC
input clock.

Signed-off-by: Raphael Gallais-Pou <raphael.gallais-...@foss.st.com>
---
Changes in v3:
        - Change the compatible to show SoC specificity

Changes in v2:
        - Move patch to stm32mp255.dtsi after internal discussions
---
 arch/arm64/boot/dts/st/stm32mp255.dtsi | 17 +++++++++++++++++
 drivers/gpu/drm/stm/lvds.c             |  2 +-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/st/stm32mp255.dtsi 
b/arch/arm64/boot/dts/st/stm32mp255.dtsi
index e6fa596211f5..68f60da32126 100644
--- a/arch/arm64/boot/dts/st/stm32mp255.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp255.dtsi
@@ -7,3 +7,20 @@
 
 / {
 };
+
+&ltdc {
+       clocks = <&rcc CK_BUS_LTDC>, <&rcc CK_KER_LTDC>, <&lvds 0>;
+       clock-names = "bus", "lcd", "lvds";
+};
+
+&rifsc {
+       lvds: lvds@48060000 {
+               #clock-cells = <0>;
+               compatible = "st,stm32mp25-lvds";
+               reg = <0x48060000 0x2000>;
+               clocks = <&rcc CK_BUS_LVDS>, <&rcc CK_KER_LVDSPHY>;
+               clock-names = "pclk", "ref";
+               resets = <&rcc LVDS_R>;
+               status = "disabled";
+       };
+};
diff --git a/drivers/gpu/drm/stm/lvds.c b/drivers/gpu/drm/stm/lvds.c
index beb8b7e437a0..5808db1a5cdf 100644
--- a/drivers/gpu/drm/stm/lvds.c
+++ b/drivers/gpu/drm/stm/lvds.c
@@ -1198,7 +1198,7 @@ static int lvds_remove(struct platform_device *pdev)
 
 static const struct of_device_id lvds_dt_ids[] = {
        {
-               .compatible = "st,stm32-lvds",
+               .compatible = "st,stm32mp25-lvds",
                .data = NULL
        },
        { /* sentinel */ }
-- 
2.25.1

Reply via email to