Chinaunix首页 | 论坛 | 博客
  • 博客访问: 866306
  • 博文数量: 156
  • 博客积分: 6553
  • 博客等级: 准将
  • 技术积分: 3965
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-22 18:36
文章存档

2012年(3)

2011年(43)

2010年(110)

分类: LINUX

2010-10-06 16:01:35

针对2.6.22.6内核修改LCD屏幕偏移参数
在arch/arm/mach-s3c2410/mach-smdk2410.c中找到
static struct s3c2410fb_mach_info smdk2410_lcdcfg
__initdata ={
....
.reg        = {
        .lcdcon1 = (7<<8)|(0<<7)|(3<<5)|(12<<1),
        .lcdcon2 = (14<<24) | (240<<14) | (4<<6) | (4),
        .lcdcon3 = (45<<19) | (380<<8) | (4),
        .lcdcon4 = (13<<8) | (18),
        .lcdcon5 = (1<<11) | (1<<10) | (1<<9) | (1<<8) | (0<<7) | (0<<6) | (1<<3) |(0<<1) | (1),
    }
....
}
先看下各参数意义:
    下面是 lcd 控制寄存器的信息。我们只需要修改其中的
    LCD1_CLKVAL(1) 这个值来选择点时钟
    LCD2_VBPD(25) | LCD2_VFPD(5) | LCD2_VSPW(1), 垂直方向的 3 个值
    LCD3_HBPD(67) | LCD3_HFPD(40),
    LCD4_HSPW(31) 水平方向的 3 个值
    */
    reg : {
            lcdcon1 : LCD1_BPP_16T | LCD1_PNR_TFT | LCD1_CLKVAL(1) ,
            lcdcon2 : LCD2_VBPD(25) | LCD2_VFPD(5) | LCD2_VSPW(1),
            lcdcon3 : LCD3_HBPD(67) | LCD3_HFPD(40),
            lcdcon4 : LCD4_HSPW(31) | LCD4_MVAL(13),
            lcdcon5 : LCD5_FRM565 | LCD5_INVVLINE | LCD5_INVVFRAME | LCD5_HWSWP |
LCD5_PWREN,
        }
}
VBPD   //垂直同步信号的后肩   
VFPD   //垂直同步信号的前肩  
VSPW   //垂直同步信号的脉宽
HBPD   //水平同步信号的后肩   
HFPD   //水平同步信号的前肩
HSPW   //水平同步信号的脉宽  
我的是三星触摸屏sam240,设置参数如下:
.lcdcon1=(4<<8)|(0<<7)|(3<<5)|(12<<1),
.lcdcon2=(5<<24)|(239<<14)|(4<<6)|3
.lcdcon3=(50<<19)|(319<<8)|40,
.lcdcon4=(13<<8)|18,
阅读(1103) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~