vim ./kernel/arch/arm/mach-omap2/board-44xx-tablet-panel.c

modify

#define X_RES 1366
#define Y_RES 768

static struct omap_dss_device lcd_tc35876x_sharp_lq101k1lyxx = {

...............
             .panel = {
             .timings = {
             //.x_res = 1280,
             .x_res = X_RES,
             #ifdef CONFIG_MACH_OMAP_RACCOON_SA
             //.y_res = 720,
             .y_res = Y_RES,
             #else
             .y_res = 800,
             #endif

......

}

 

vim ./kernel/drivers/video/omap2/dss/dispc.h

add

#define DISPC_GLOBAL_BUFFER 0x0800
#define DISPC_CONTROL3 0x0848
#define DISPC_CONFIG3 0x084C

 

vim ./kernel/drivers/video/omap2/dss/dispc.c

modify


static void dispc_read_plane_fifo_sizes(void)
{
        u32 size;
       int plane;
       u8 start, end;

       dss_feat_get_reg_field(FEAT_REG_FIFOSIZE, &start, &end);

       for (plane = 0; plane < ARRAY_SIZE(dispc.fifo_size); ++plane) {
       size = FLD_GET(dispc_read_reg(DISPC_OVL_FIFO_SIZE_STATUS(plane)),
       start, end);
       #if 0 // Hack ... Give WB buffers to GFX ..
       dispc.fifo_size[plane] = size;
       #else
       if(plane == OMAP_DSS_GFX)
       dispc.fifo_size[plane] = ((0x800 + 0x500) * 16);
       else
       dispc.fifo_size[plane] = size;
       #endif
}

 

int dispc_enable_plane(enum omap_plane plane, bool enable)
{
       REG_FLD_MOD(DISPC_OVL_ATTRIBUTES(plane), enable ? 1 : 0, 0, 0);
       // Quick hack.. give WB buffers to gfx:
       // This will Prevent GFX_FIFO_UNDERFLOWS ...
       dispc_write_reg(DISPC_GLOBAL_BUFFER, 0x006D2240);
}

 

參考:http://e2e.ti.com/support/omap/f/849/t/206546.aspx

Jorjin

arrow
arrow
    文章標籤
    omap dss
    全站熱搜

    ooieueioo 發表在 痞客邦 留言(0) 人氣()