Hi everyone,
I'm working on enabling an LVDS panel on the i.MX93 custom board using Yocto and a custom device tree setup. I'm facing several issues during boot related to the display subsystem and LVDS panel connection. The config file I attached.
Any help or insights would be appreciated!
Thanks in advance!
here is the part of the lvds-panel dts configuration:
/ {
lvds_backlight: lvds_backlight {
compatible = "pwm-backlight";
pwms = <&tpm5 2 100000 0>;
//enable-gpios = <&adp5585gpio 8 GPIO_ACTIVE_HIGH>;
//power-supply = <®_vdd_12v>;
status = "okay";
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <80>;
};
lvds_panel {
compatible = "panel-lvds";
backlight = <&lvds_backlight>;
data-mapping = "vesa-24";
width-mm = <70>;
height-mm = <52>;
status = "okay";
port {
panel_lvds_in: endpoint {
remote-endpoint = <&lvds_out>;
};
};
timing {
clock-frequency = <6500000>;
hactive = <320>;
vactive = <240>;
hsync-len = <1>;
hfront-porch = <17>;
hback-porch = <70>;
vsync-len = <1>;
vfront-porch = <9>;
vback-porch = <13>;
hsync-active = <0>;
vsync-active = <0>;
};
};
};
&dphy {
status = "disabled";
};
&dsi {
status = "disabled";
};
&lcdif {
status = "okay";
assigned-clock-rates = <445333333>, <6500000>, <400000000>, <133333333>;
};
&ldb {
status = "okay";
lvds-channel@0 {
status = "okay";
port@1 {
reg = <1>;
lvds_out: endpoint {
remote-endpoint = <&panel_lvds_in>;
};
};
};
};
&ldb_phy {
status = "okay";
};
These are the relevant boot log messages:
[ 0.348510] platform lvds_panel: Fixed dependency cycle(s) with /ldb-display-controller/lvds-channel@0
[ 0.877239] imx93-ldb ldb-display-controller: Failed to create device link (0x180) with 4ae30000.lcd-controller
[ 1.611948] imx93-ldb ldb-display-controller: Failed to create device link (0x180) with ldb-phy
[ 1.623932] panel-lvds lvds_panel: /lvds_panel: problems parsing panel-timing (-2)
[ 1.631550] panel-lvds: probe of lvds_panel failed with error -2
I also see repeated binding of imx-lcdifv3-crtc.0:
[ 0.868877] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)
...
[ 19.317586] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)
[ 19.341381] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)
[ 19.427728] platform imx-lcdifv3-crtc.0: deferred probe pending