AnsweredAssumed Answered

simple multi-display support. IPU configuration?

Question asked by Martin1z on Dec 6, 2012
Latest reply on Feb 15, 2013 by Daiane Angolini
Branched to a new discussion

Hi,

 

I am simply trying to setup two separate framebuffers: one HDMI and one single channel LVDS.

HDMI and LVDS are working properly, but enabling both is not working.

 

Here is my fb setup:

 

static struct fsl_mxc_hdmi_platform_data hdmi_data = {

  .init = hdmi_init,

};

 

static struct fsl_mxc_hdmi_core_platform_data hdmi_core_data = {

  .ipu_id = 0,

  .disp_id = 0,

};

 

static struct fsl_mxc_ldb_platform_data ldb_data = {

  .ipu_id = 1,

  .disp_id = 0,

  .ext_ref = 1,

  .mode = LDB_SIN0,

  .sec_ipu_id = 0,

  .sec_disp_id = 1,

};

 

 

 

 

static struct ipuv3_fb_platform_data fb_data[] = {

  { /* fb0 */

  .disp_dev = "hdmi",

  .interface_pix_fmt = IPU_PIX_FMT_RGB24,

  .mode_str = "1280x1024M@60",

  .default_bpp = 24,

  .int_clk = false,

  },

  { /* fb1 */

  .disp_dev = "ldb",

  .interface_pix_fmt = IPU_PIX_FMT_RGB666,

  .mode_str = "LDB-WVGA",

  .default_bpp = 16,

  .int_clk = false,

  },

 

In the sample above the ldb driver will be loaded correctly but the ldb_disp_setup() function will never be called.

 

There also is no change when using boot arguments to overwrite this default configuration.

Only fb0 is running properly. So when I swap both FB definitions above LDB is working and HDMI is down.

 

This has worked on 3.0.15 kernel properly by on 3.0.35 kernel I did not succeed yet. Any ideas?

 

Outcomes