Hi eoin_oc1,
I have worked with IMX8QM before and had some problems with LVDS. I guess you should change your clock signal from dtb files. I will share my currently using dtb files as an example with you. Which OS do you use? is it Torizon? Or custom build like yocto, buildroot? Kindly, I generally suggest building buildroot and kernel separately because they can be controllable easily. In another case, Torizon has very good abilities if you may think to use it.
apalis-imx8_lvds_overlay.dts
// Enable a generic LVDS display.
/dts-v1/;
/plugin/;
/ {
compatible = “toradex,apalis-imx8”;
};&ldb2 {
status = “okay”;
};&ldb2_phy {
status = “okay”;
};&panel_lvds {
status = “okay”;
};
imx8-apalis-v1.1.dtsi : you should change “clock frequency” in the “panel-timing” section according to your clock frequency. In addition to this other parameters should be changed according to your display specifications. For instance: width and height…
&ldb2_phy {
status = “okay”;
};&ldb2 {
status = “okay”;
fsl;lvds-channel@0 {
fsl,data-mapping = “spwg”;
fsl,data-width = <24>;
status = “okay”;port@1 { reg = <1>; lvds1_out: endpoint { remote-endpoint = <&panel_lvds_in>; }; };
};
};&panel_lvds {
status = “okay”;
data-mapping = “jeida-24”;
compatible = “panel-lvds”;
backlight = <&backlight>;width-mm = <211>; height-mm = <158>; panel-timing { clock-frequency = <65000000>; hactive = <1024>; vactive = <768>; hback-porch = <114>; hsync-len = <30>; hfront-porch = <16>; vback-porch = <32>; vsync-len = <3>; vfront-porch = <10>; hsync-active = <0>; vsync-active = <0>; de-active = <1>; pixelclk-active = <0>; }; port { panel_lvds_in: endpoint { remote-endpoint = <&lvds1_out>; }; };
};
In addition to this, torizon comes with an HDMI overlay.dtb file as a default. So you should definitely change from overlay.dtb file in the /dev/mmcblk0p1 partition. If you have any other questions I would like to help please don’t hesitate about that but first, you should have a display unit.