[PATCH 9/9] arm64: dts: imx8mp-kontron: Fix LVDS clock frequency for DL device
Frieder Schrempf
frieder at fris.de
Tue Sep 8 06:51:56 PDT 2026
From: Oualid Derouiche <oualid.derouiche at kontron.de>
The panel needs a pixel clock of 50 MHz, which means the LDB
serializer has to run at 50 MHz * 7 = 350 MHz. The LDB rate itself
is set by the fsl-ldb driver, but VIDEO_PLL1 needs to be pinned to
700 MHz, so that both the LDB clock (/2) and the pixel clock (/14)
can be derived from it exactly.
Fixes: 946ab10e3f40 ("arm64: dts: Add support for Kontron OSM-S i.MX8MP SoM and BL carrier board")
Signed-off-by: Oualid Derouiche <oualid.derouiche at kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf at kontron.de>
---
arch/arm64/boot/dts/freescale/imx8mp-kontron-dl.dtso | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-kontron-dl.dtso b/arch/arm64/boot/dts/freescale/imx8mp-kontron-dl.dtso
index 41a2bb74f156..88b30ca66adf 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-kontron-dl.dtso
+++ b/arch/arm64/boot/dts/freescale/imx8mp-kontron-dl.dtso
@@ -6,6 +6,7 @@
/dts-v1/;
/plugin/;
+#include <dt-bindings/clock/imx8mp-clock.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "imx8mp-pinfunc.h"
@@ -99,6 +100,16 @@ &ldb_lvds_ch0 {
&lvds_bridge {
status = "okay";
+ /*
+ * The video PLL clock frequency needs to be configured manually.
+ * The panel needs a LVDS clock of 50 MHz * 7 = 350 MHz.
+ * IMX8MP_CLK_MEDIA_LDB = IMX8MP_CLK_MEDIA_DISP2_PIX * 7
+ * IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_LDB * 2
+ */
+ assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>,
+ <&clk IMX8MP_VIDEO_PLL1>;
+ assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>;
+ assigned-clock-rates = <0>, <700000000>;
};
/* redefine to remove touch controller GPIOs */
--
2.55.0
More information about the linux-arm-kernel
mailing list