Hello,
We are trying to make work 3 displays at the same time with an iMX6Q: LCD+LVDS+HDMI.
The config is the following:
//--------------------------------------------------
static struct ipuv3_fb_platform_data es6_fb_data[] = {
{
.disp_dev = "lcd",
.interface_pix_fmt = IPU_PIX_FMT_RGB666,
.mode_str = "SEIKO-WVGA",
.default_bpp = 18,
.int_clk = false,
.late_init = false,
},
{
.disp_dev = "ldb",
.interface_pix_fmt = IPU_PIX_FMT_RGB666,
.mode_str = "LDB-WXGA",
.default_bpp = 18,
.int_clk = false,
.late_init = false,
},
{
.disp_dev = "hdmi",
.interface_pix_fmt = IPU_PIX_FMT_RGB24,
.mode_str = "1920x1080M@60",
.default_bpp = 32,
.int_clk = false,
.late_init = false,
},
};
//--------------------------------------------------
static struct fsl_mxc_hdmi_core_platform_data hdmi_core_data = {
.ipu_id = 0,
.disp_id = 1,
};
static struct fsl_mxc_lcd_platform_data lcdif_data = {
.ipu_id = 0,
.disp_id = 0,
.default_ifmt = IPU_PIX_FMT_RGB666,
};
static struct fsl_mxc_ldb_platform_data ldb_data = {
.ipu_id = 1,
.disp_id = 0,
.ext_ref = 1,
.mode = LDB_SIN0,
};
//--------------------------------------------------
LCD+LVDS and HDMI+LVDS work right. The problem is when we "unblank" LCD and HDMI at the same time: It doesn't work and we get the following errors:
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00800000
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x00100000
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x10000000
It happens like if both interfaces would share the same clock. I mean: if the LCD is working and we turn on the HDMI then the LCD "goes crazy" and we can see 150Mhz on its clock line using a probe, and If the HDMI is working and we turn on the LCD then the HDMI stops working and we can see 33Mhz on its clock (same frequency than LCD clock).
LCD is on DISP0. We've tried all the combinations between IPUs and DIs but always happens the same.
Any advice?. Thanks,
Manuel.