Freescale imx6的android lvds屏幕驱动调试

一、概述

     1飞思卡尔 imx6的显示屏驱动架构


    2、目标:

    imx6开发板本身已提供LVDS接口,目标屏幕是LGLA070WV6,其为RGB接口,imx6LG屏之间用TW8836芯片来转接,LG屏的主要参数为:

分辨率:800*480

色彩:32

时钟频率:33.26MHz



移植过程

1、首先把屏幕的接口接到开发板的lvds接口上。开发板提供的lvds接口如下:



如上图所示,lvds共有20pin,其中有4组数据线,1组时钟线,其他还有背光控制、电源、地等接口。

TW8836芯片和LG屏的接口定义我这里也不做介绍。

2、修改Android的内核源码。

1)找到drivers/video/mxc/ldb.cfb_videomode数组变量,它定义了屏幕的相关参数,fb_videomode结构体的定义在include/linux/fb.h中: 

[cpp] view plain copy

1.  struct fb_videomode {  

2.     const char *name;    /* 名字 */  

3.      u32 refresh;         /* 刷新频率 */  

4.     u32 xres;            //行像素  

5.      u32 yres;            //列像素  

6.     u32 pixclock;        //时钟频率,单位ps14430  

7.      u32 left_margin;     // HBPD(horizontal back porch)80  

8.     u32 right_margin;    // HFPD(horizontal front porth)48  

9.      u32 upper_margin;    // VBPD(vertical back porch),15  

10.    u32 lower_margin;    // VFBD(vertical front porch),2  

11.     u32 hsync_len;       // HSPW(horizontal sync pulse width)32  

12.    u32 vsync_len;       // VSPW(vertical sync pulse width)47  

13.     u32 sync;  

14.    u32 vmode;  

15.     u32 flag;  

16.};  

2)修改drivers/video/mxc/ldb.cfb_videomode数组变量,使它的参数适应LA070WV6的屏幕参数。

[cpp] view plain copy

17. static struct fb_videomode ldb_modedb[] = {

18. {

19.     .name       ="LDB-XGA",

20.     .refresh    =60,

21.     .xres       =800,

22.     .yres       =480,

23.      .pixclock   =30066,

24.      .left_margin    =28,

25.      .right_margin   =100,

26.      .upper_margin   =13,

27.      .lower_margin   =30,

28.      .hsync_len  =128,

29.      .vsync_len  =2,

30.     .sync       =0,

31.     .vmode      =FB_VMODE_NONINTERLACED,

32.     .flag       =FB_MODE_IS_DETAILED,

33. }

34. }; 

名称:LDB-XGA

刷新频率:60

分辨率:800*480

时钟:10^12/33260000 = 30066

sync0

vmodeFB_VMODE_NONINTERLACED

flagFB_MODE_IS_DETAILED

3)设置cmdline,重新编译kernel,生成boot.img,烧录到开发板中:

[html] view plain copy

1.  cmdline console=ttymxc3,115200 init=/init video=mxcfb0:dev=ldb,LDB-XGA, if=RGB24,bpp=32 video=mxcfb1:dev=ldb,LDB-XGA, if=RGB24,bpp=32 video=mxcfb2:off fbmem=10M  vmalloc=400Mandroidboot.console=ttymxc3

其中video = mxcfb0:dev=ldb,LDB-XGA表示选用fb0ldb驱动

if=RGB24,bpp=32表示32位色彩

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值