Chinaunix首页 | 论坛 | 博客
  • 博客访问: 426305
  • 博文数量: 69
  • 博客积分: 957
  • 博客等级: 准尉
  • 技术积分: 1161
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-26 14:54
文章分类

全部博文(69)

文章存档

2013年(15)

2012年(12)

2011年(42)

分类: Android平台

2013-08-26 20:43:03

在dm3730下调试一lcd,初始化序列正确,背光有了,接着问题不断:

1. 屏不亮,一直是黑的
  主要问题:在屏的驱动参数中,分辨率,行场同步hsw、hfp、hbp、vsw、vfp、vbp等参数需要不断的调试,最终屏幕终于亮了
   
2. 颜色不正的问题

 在uboot下,刷屏的颜色,红绿蓝等基本是正常的,但是进入到android后,颜色就不对了,还有锯齿等现象。
 后来经过多方调试,发觉DISPC_POL_FREQ这个寄存器的DISPC_POL_FREQ_IVS | DISPC_POL_FREQ_IHS | DISPC_POL_FREQ_IPC

 等几个寄存器需要设置正确,要确定好是上升沿还是下降沿,否则会一直显示不正常。

在android自带的linux内核中,一般在/arc/arm/omap2/XXXX_board.c文件中,lcd的初始化代码中没有这几个寄存器的初始,一般如下:
需要在omap_dss_device的lcd初始化结构中加入
 
.pane
=  {
        .config = 0x100007,
}
默认是.config = 0x100000,7代表的是DISPC_POL_FREQ_IVS | DISPC_POL_FREQ_IHS | DISPC_POL_FREQ_IPC三个全部是下降沿有效
,这一点在driver/video/omap2/dss/disc.c文件中设置DISPC_POL_FREQ的函数中找到答案



阅读(5894) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~