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

上一篇:SpringBoot使用异步线程池实现生产环境批量数据推送


下一篇:使用C++11 开发一个半同步半异步线程池