imx6 18bit display

imx6 kernel中使用18bit的lcd,uboot中bootargs参数bpp=32,lcd才能够正常显示。

"bootargs=console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:off video=mxcfb2:off fbmem=40M vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale\0" \

对应的kernel/arch/arm/mach-mx6/board-mx6q_sabresd.c更改如下:

static struct ipuv3_fb_platform_data sabresd_fb_data[] = {
    { /*fb0*/
    .disp_dev = "ldb",
    // 根据需要更改为RGB666,RGB24,GRB24或者其他
    .interface_pix_fmt = IPU_PIX_FMT_RGB666,     // 18bit
    //.interface_pix_fmt = IPU_PIX_FMT_RGB24,    // 24bit, RGB
    //.interface_pix_fmt = IPU_PIX_FMT_BGR24,    // 24bit, GRB
    .mode_str = "LDB-XGA",
    .default_bpp = 16,
    //.default_bpp = 24,
    .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,
    }, 
    ... 


网上也有类似的情况。

  http://blog.csdn.net/xnwyd/article/details/11671123

为何bpp=32设置时,显示正确,还没有跟踪代码。

Author

Tony Liu

2016-8-9, Shenzhen

posted @ 2016-08-09 23:04  SuperTao1024  阅读(468)  评论(0编辑  收藏  举报