My board has two display interface DISP0(ADV7123->VGA) and HDMI,I change the board init file:
static struct ipuv3_fb_platform_data sabresd_fb_data[] = {
{ /*fb0*/
.disp_dev = "vga",
.interface_pix_fmt = IPU_PIX_FMT_BGR24,
.mode_str = "1440x900M@60",
.default_bpp = 16,
.int_clk = false,
.late_init = false,
}, {
.disp_dev = "hdmi",
.interface_pix_fmt = IPU_PIX_FMT_RGB24,
.mode_str = "1024x768M@60",
.default_bpp = 16,
.int_clk = false,
.late_init = false,
},
};
I found the /dev exist 4 fb: fb0 fb1 fb2 fb3
According to my think, fb0 and fb1 is ok, fb0 is vga, fb1 is hdmi, but fb2 and fb3 is what?
uboot:
setenv video1 mxcfb1:dev=hdmi,1024x768M@60,if=RGB24
setenv video0 mxcfb0:dev=vga,1024x768M@60,if=RGB24
setenv bootargs video=${video0} video=${video1}
When set VGA to mxcfb0, or set HDMI to mxcfb0, the display is ok.
How to support the two displays at the same time?
Take a look at: http://boundarydevices.com/configuring-i-mx6-machines-different-screens-nitrogen6x-sabre-lite/. It may helps you.
"mxcfbN: This display specifier defines the ordering of display devices under Linux. Note that there is not a 1:1 correspondence with /dev/fbN because /dev/fb1 and /dev/fb3 will be automatically configured as overlay devices for /dev/fb0 and /dev/fb2."