This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

omap4460 DSI1 VESA standards

Hi,

    We used omap4460 in our design,we want to output 1280x800P60(VESA standards),from DSI1 port,how to configure panel timings?

    We use JR_4AI-1.4-P1_OMAP4460,board-44xx-tablet-panel.c

static struct omap_dss_device tablet_lcd_device = {
 .name                   = "lcd",
 .driver_name            = "tc358765",
 .type                   = OMAP_DISPLAY_TYPE_DSI,
 .data   = &tablet_dsi_panel,
 .phy.dsi                = {
  .clk_lane       = 3,
  .clk_pol        = 0,
  .data1_lane     = 1,
  .data1_pol      = 0,
  .data2_lane     = 2,
  .data2_pol      = 0,
  .data3_lane     = 4,
  .data3_pol      = 0,
  .data4_lane     = 5,
  .data4_pol      = 0,

  .type = OMAP_DSS_DSI_TYPE_VIDEO_MODE,
 },

 .clocks = {
  .dispc = {
    .channel = {
    .lck_div        = 1,
    .pck_div        = 2,
    .lcd_clk_src    = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC,
   },
   .dispc_fclk_src = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC,
  },

  .dsi = {
   .regn           = 38,
   .regm           = 441,
   .regm_dispc     = 6,
   .regm_dsi       = 9,
   .lp_clk_div     = 5,
   .offset_ddr_clk = 0,
   .dsi_fclk_src   = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DSI,
  },
 },

 .panel = {
  .timings = {
   .x_res  = 1280,
   .y_res  = 800,
   .pixel_clock = 65183,
   .hfp  = 10,
   .hsw  = 20,
   .hbp  = 10,
   .vfp  = 4,
   .vsw  = 4,
   .vbp  = 4,
  },
 },

 .ctrl = {
  .pixel_size = 24,
 },

 .reset_gpio     = 102,
 .channel = OMAP_DSS_CHANNEL_LCD,
 .skip_init = false,

 .platform_enable = NULL,
 .platform_disable = NULL,
};

  

  • Hi Zengxing

    I really am not sure if this would work for VESA, but I ran some calculations for the clocks.

    This is assuming your panel is similar to the one on the tablet 2, that is:

    • DSI Video Mode
    • 4 data lanes
    • 24 bits per pixel

    Please try this. 

    static struct omap_dss_device tablet_lcd_device = {
     .name                   = "lcd",
     .driver_name            = "tc358765",
     .type                   = OMAP_DISPLAY_TYPE_DSI,
     .data   = &tablet_dsi_panel,
     .phy.dsi                = {
      .clk_lane       = 3,
      .clk_pol        = 0,
      .data1_lane     = 1,
      .data1_pol      = 0,
      .data2_lane     = 2,
      .data2_pol      = 0,
      .data3_lane     = 4,
      .data3_pol      = 0,
      .data4_lane     = 5,
      .data4_pol      = 0,
      .type = OMAP_DSS_DSI_TYPE_VIDEO_MODE,
     },
     .clocks = {
      .dispc = {
        .channel = {
        .lck_div        = 1,
        .pck_div        = 2,
        .lcd_clk_src    = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC,
       },
       .dispc_fclk_src = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC,
      },
      .dsi = {
       .regn           = 27,
       .regm           = 354,
       .regm_dispc     = 6,
       .regm_dsi       = 5,
       .lp_clk_div     = 10,
       .offset_ddr_clk = 0,
       .dsi_fclk_src   = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DSI,
      },
     },
     .panel = {
      .timings = {
       .x_res  = 1280,
       .y_res  = 800,
       .pixel_clock = 87911,
       .hfp  = 72,
       .hsw  = 128,
       .hbp  = 200,
       .vfp  = 3,
       .vsw  = 6,
       .vbp  = 22,
      },
     },
     .ctrl = {
      .pixel_size = 24,
     },
     .reset_gpio     = 102,
     .channel = OMAP_DSS_CHANNEL_LCD,
     .skip_init = false,
     .platform_enable = NULL,
     .platform_disable = NULL,
    };