Hello,
According to the i.MX8QM datasheet, there is support for up to 4 independent displays:
Supports single UltraHD 4Kp60 display or up to 4 independent FullHD 1080p60
displays
However, I have been unsuccessful so far in getting four independent 4-lane LVDS channels. The code snippet below is my attempt to get ldb1 to support two independent 10.1" LVDS displays. If I comment out lvds-channel@0 I can get one display to work. If I comment out lvds-channel@1 I can get the other display to work. However with both uncommented neither work.
I have reviewed imx8qm-mek-jdi-wuxga-lvds1-panel.dtsi, but this does not offer any additional insight. How can I achieve 4 independent LVDS channels?
/ {
panel0: panel0 {
status = "okay";
compatible = "panel-lvds";
data-mapping = "vesa-24";
width-mm = <217>;
height-mm = <136>;
panel-timing {
clock-frequency = <72000000>;
hactive = <1280>;
vactive = <800>;
hback-porch = <48>;
hfront-porch = <80>;
vback-porch = <15>;
vfront-porch = <2>;
hsync-len = <32>;
vsync-len = <6>;
};
port {
panel0_input: endpoint {
remote-endpoint = <&lvds0_out>;
};
};
};
panel1: panel1 {
status = "okay";
compatible = "panel-lvds";
data-mapping = "vesa-24";
width-mm = <217>;
height-mm = <136>;
panel-timing {
clock-frequency = <72000000>;
hactive = <1280>;
vactive = <800>;
hback-porch = <48>;
hfront-porch = <80>;
vback-porch = <15>;
vfront-porch = <2>;
hsync-len = <32>;
vsync-len = <6>;
};
port {
panel1_input: endpoint {
remote-endpoint = <&lvds1_out>;
};
};
};
};
&ldb1_phy {
status = "okay";
};
&ldb1 {
status = "okay";
lvds-channel@0 {
reg = <0>;
fsl,data-mapping = "jeida";
fsl,data-width = <24>;
status = "okay";
primary;
port@1 {
reg = <1>;
lvds0_out: endpoint {
remote-endpoint = <&panel0_input>;
};
};
};
lvds-channel@1 {
reg = <1>;
fsl,data-mapping = "jeida";
fsl,data-width = <24>;
status = "okay";
port@1 {
reg = <1>;
lvds1_out: endpoint {
remote-endpoint = <&panel1_input>;
};
};
};
};
Solved! Go to Solution.
Hi @jsmith8831
Please refer the knowledge base. The two panel from same LDB phy can only be mirror mode. The datasheet doesn't specify the mode of 4 independent LVDS panel, 4 split mode or two mirror mode.
Hi @jsmith8831
It is not possible to support two different display sizes or timings from the same LDB node, both channels have to be the same size and timing in order to allow us to drive two displays from a single LDB.
Please refer this knowledge base:
Best Regards
Zhiming
Hi @Zhiming_Liu,
In the code snippet of the device tree I provided I am using the exact same display timings and sizes. As long as I do this will the panels in fact be independent, or will they be mirrored? In the link you provided it implies that they are mirrored (i.e. panel 1 and 2 are the same, and 3 and 4 are the same). However, this conflicts with the iMX8QM datasheet that states you may have 4 independent panels.
up to 4 independent FullHD 1080p60 displays
Hi @jsmith8831
Please refer the knowledge base. The two panel from same LDB phy can only be mirror mode. The datasheet doesn't specify the mode of 4 independent LVDS panel, 4 split mode or two mirror mode.
Hi @Zhiming_Liu, thank you for the explanation. Is it possible to use all four LVDS channels to drive 2x independent 1080p displays, and then use 2x of the MIPI-DSI channels to drive an additional 2x independent 1080p displays at the same time?