AnsweredAssumed Answered

i.mx6 使用RGB接口LCD显示问题

Question asked by wilson chen on May 26, 2016
Latest reply on Apr 9, 2017 by YUKUN HAO

hi all,

我现在使用i.mx6q的RGB接口来驱动3.1inch的LCD,18bit,通过spi初始化(这里使用GPIO模拟SPI)。所用系统为android4.3,Linux3.0.35..LCD控制ic为hx8369a。所用板子的RGB接口可以使用RGB转VGA转接板,连接到电脑显示器上显示,也就是此RGB接口是没有问题的。

现在初始化成功,能点亮LCD了。但是遇到几个问题:

1.图像为隔行显示的,而不是逐行

2.图像分成4部分

3.图像偏移

QQ图片20160526161055.jpgQQ图片20160526161102.jpg

 

我修改代码如下:

1.board-mx6q_sabresd.c

static struct ipuv3_fb_platform_data sabresd_fb_data[] = {

       {

  .disp_dev = "lcd",

  .interface_pix_fmt = IPU_PIX_FMT_RGB666,

  .mode_str = "LCD-WVGA",

  .default_bpp = 18,

  .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,

  },

};

static struct fsl_mxc_lcd_platform_data lcdif_data = {

  .ipu_id = 0,

  .disp_id = 0,

  .default_ifmt = IPU_PIX_FMT_RGB666,

};

 

2.mxc_lcdif.c

{
"LCD-WVGA", 60, 480, 800, 33105,
30, 80,
4, 4,
10, 4,
0,
FB_VMODE_NONINTERLACED,
0,},

 

3.uboot启动参数使用:

setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=lcd,LCD-WVGA,if=RGB666,bpp=18 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=40M an@@@@ !droidboot.hardware=freescale

 

4.LCD SPI初始化代码tl032wvv02_gpio.c

 

LCD初始化代码部分已经和LCD厂家,控制ic厂家进行联合调试,调整初始化LCD寄存器对显示效果基本没有影响,怎么调还是上面的显示效果。

然后调整mxc_lcdif.c中的lcd参数,不管怎么调整,图像显示效果都是隔行显示的,不能出现逐行显示的效果。

然后调整hfp hbp这两个参数,除了上面红字部分的,如果改成其他,不管参数增加还是减小,图像会分成更加多块,或者倾斜混乱了,完全没有改善一点的迹象。

 

LCD原理图,规格书,datasheet和相关代码文件在下面附近中。

 

LCD的电路已经多次确认是好的,信号也是正确的。

 

请帮忙分析以上问题,给出建议或者思路!

 

谢谢

Original Attachment has been moved to: tl032wvv02_gpio.c.zip

Original Attachment has been moved to: mxc_lcdif.c.zip

Outcomes