[PATCH v3 5/6] arm64: dts: st: add lvds support on stm32mp255

From: Raphael Gallais-Pou
Date: Mon Jan 15 2024 - 08:22:24 EST


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-pou@xxxxxxxxxxx>
---
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