Dual display (LVDS and HDMI)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Dual display (LVDS and HDMI)

Jump to solution
5,310 Views
dominicamann
Contributor III

I am having issues getting HDMI working with LVDS at the same time.

I think I should have /dev/fb2 and /dev/fb3? I do have /dev/fb0 and /dev/fb1 only.

Probably device tree related. Here is the related dts part:

mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "ldb";
interface_pix_fmt = "RGB666";
mode_str = "800x480M@60";
default_bpp = <32>;
int_clk = <0>;
late_init = <0>;
status = "okay";
};

mxcfb2: fb@1 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "hdmi";
interface_pix_fmt = "RGB24";
mode_str ="1920x1080M@60";
default_bpp = <24>;
int_clk = <0>;
late_init = <0>;
status = "okay";
};

Here is the display portion of the kernel cmdline

video=mxcfb0:dev=ldb,LDB-DISPLAY,if=RGB24,bpp=32 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32

the LVDS works fine. Can't get a peep out of hdmi.

Labels (2)
0 Kudos
Reply
1 Solution
2,895 Views
dominicamann
Contributor III

Following your u-boot arguments, I don't get a /dev/fb2. All I get is /dev/fb0 and /dev/fb1 and /dev/fbcon.

I have verified that both ldb and hdmi support is working (I can get one or the other working - depending on which one is fb0).

I cannot get both working, and I am missing the /dev/fb2 and /dev/fb3 devices.

I notice in syslog I get the output:

mxc_sdc_fb fb.20: ipu0-di0 already in use

mxc_sdc_fb: probe of fb.20 failed with error -16

It looks to me like it is trying to register the hdmi setup with ipu0-di0 - which I am guessing is some resource used by the first screen - ldb.

SO I have added a different disp_id to hdmi_core in the device tree, and I get /dev/fb2 now, and it works.

View solution in original post

0 Kudos
Reply
3 Replies
2,895 Views
alejandrolozan1
NXP Employee
NXP Employee

Hi,

According to informatino I have found we don't support the multiple display feature on linux after bootup (This link shows something similar Dual Display setup on Yocto build), you can set uboot args:

setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666 ldb=sin0 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32'

and connect the hdmi and lvds to board.

after system booted up, run the following command to enable hdmi display and test it.

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

cat rgb32_1920_1080.dat > /dev/fb2

Best Regards,

Alejandro

2,896 Views
dominicamann
Contributor III

Following your u-boot arguments, I don't get a /dev/fb2. All I get is /dev/fb0 and /dev/fb1 and /dev/fbcon.

I have verified that both ldb and hdmi support is working (I can get one or the other working - depending on which one is fb0).

I cannot get both working, and I am missing the /dev/fb2 and /dev/fb3 devices.

I notice in syslog I get the output:

mxc_sdc_fb fb.20: ipu0-di0 already in use

mxc_sdc_fb: probe of fb.20 failed with error -16

It looks to me like it is trying to register the hdmi setup with ipu0-di0 - which I am guessing is some resource used by the first screen - ldb.

SO I have added a different disp_id to hdmi_core in the device tree, and I get /dev/fb2 now, and it works.

0 Kudos
Reply
2,895 Views
wangvictor
Contributor III

dominicamann

Hi, sorry to bother you.

I have the same issue as you did.

This is my boot environment settings.

setenv mmcargs "setenv bootargs console=${console},${baudrate} ${smp} consoleblank=0 root=${mmcroot} video=mxcfb0:dev=ldb video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24"

And i can't get my HDMI work.

Unless i change the mxcfb1 to mxcfb0 then my HDMI worked but LVDS can't work.

i notice in syslog output:

mxc_sdc_fb fb@1: ipu0-di0 already in use
mxc_sdc_fb: probe of fb@1 failed with error -16

Besides, i did change the disp_ipu to hdmi_core in the device tree.

&hdmi_core {
ipu_id = <0>;/*winmate victor test*/
disp_id = <1>;/*winmate victor test*/
status = "okay";
};

But i still got the same output.

Could you help me on this?

0 Kudos
Reply