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.
Solved! Go to Solution.
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.
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
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.
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?