AnsweredAssumed Answered

Multiple monitors for imx6dl

Question asked by 铭恒 李 on Jul 14, 2020
Latest reply on Jul 15, 2020 by 铭恒 李

Hi everyone

I want to use LVDS and HDMI to display at the same time on imx6dl ( kernel 4.1.15 with Xserver (X11))

 

First the i2c for HDMI address is

root@imx6qsabresd:~# i2cdetect -y -r 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: 30 -- -- -- -- -- -- -- -- -- 3a -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

The setting on device tree

#imx6qdl-sabresd.dtsi

&i2c3 {
    clock-frequency = <100000>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c3>;
    status = "okay";

 

    hdmi: edid@50 {
        compatible = "fsl,imx6-hdmi-i2c";
        reg = <0x50>;
        status = "okay";
    };
};

 

xorg.conf

Section "Device"
Identifier "i.MX Accelerated Framebuffer Device"
Driver "vivante"
Option "fbdev" "/dev/fb0"
Option "vivante_fbdev" "/dev/fb0"
Option "HWcursor" "true"

EndSection

 

Section "ServerFlags" 

Option "BlankTime" "0"

Option "StandbyTime" "0"

Option "SuspendTime" "0"

Option "OffTime" "0"

EndSection

 

But first I find the "lspci" doesn't work

root@imx6qsabresd:/dev# lspci

pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.

But I can use HDMI or LVDS independently by set u-boot

#only hdmi

mmc read 0x12000000 0x800 0x5000;mmc read 0x18000000 0x5000 0x800;setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk3p2 rootwait rw video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 video=mxcfb1:off;bootz 0x12000000 - 0x18000000

 

#only lvds

mmc read 0x12000000 0x800 0x5000;mmc read 0x18000000 0x5000 0x800;setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk3p2 rootwait rw video=mxcfb0:dev=ldb,1024x768M@60,if=RGB24,bpp=32 video=mxcfb1:off;bootz 0x12000000 - 0x18000000

 

It seems to work if uses them at the same time.

mmc read 0x12000000 0x800 0x5000;mmc read 0x18000000 0x5000 0x800;setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk3p2 rootwait rw video=mxcfb0:dev=ldb,1024x768M@60,if=RGB24,bpp=32 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32;bootz 0x12000000 - 0x18000000

# then I set the fb2 on ?

echo 0 >/sys/class/graphics/fb2/blank

But I don't know how to run my program on the second screen. Also I can not to check the second screen by Qt function:

qApp->desktop()->screenCount(); //just only 1 screen it returns.

 

It doesn't seem to work that setting the option in "xorg.conf".

What should I do?

 

Regards

Mihan

Outcomes