六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 31|回复: 0

ARM+LINUX移植攻略(十六)Linux驱动移植之LCD

[复制链接]

升级  92.5%

932

主题

932

主题

932

主题

探花

Rank: 6Rank: 6

积分
2850
 楼主| 发表于 2013-1-26 13:36:12 | 显示全部楼层 |阅读模式
努力成为linux kernel hacker的人李万鹏原创作品,为梦而战。转载请标明出处


LCD屏驱动移植
1.修改arch/arm/mach-s3c2440/mach-smdk2440.c如下程序:修改这里的时序,并把.lpcsel = ((0xCE6) & ~7) | 1<<4,修改为.lpcsel = 0,

static struct s3c2410fb_display smdk2440_lcd_cfg __initdata = {.lcdcon5= S3C2410_LCDCON5_FRM565 |  S3C2410_LCDCON5_INVVLINE |  S3C2410_LCDCON5_INVVFRAME |  S3C2410_LCDCON5_PWREN |  S3C2410_LCDCON5_HWSWP,.type= S3C2410_LCDCON1_TFT,.width= 240,.height= 320,.pixclock= 270000, /* HCLK 100 MHz, divisor 10 */.xres= 320,.yres= 240,.bpp= 16,.left_margin= 8,.right_margin= 5,.hsync_len= 63,.upper_margin= 15,.lower_margin= 3,.vsync_len= 5,};static struct s3c2410fb_mach_info smdk2440_fb_info __initdata = {.displays= &smdk2440_lcd_cfg,.num_displays= 1,.default_display = 0,#if 0/* currently setup by downloader */.gpccon= 0xaa940659,.gpccon_mask= 0xffffffff,.gpcup= 0x0000ffff,.gpcup_mask= 0xffffffff,.gpdcon= 0xaa84aaa0,.gpdcon_mask= 0xffffffff,.gpdup= 0x0000faff,.gpdup_mask= 0xffffffff,#endif//.lpcsel= ((0xCE6) & ~7) | 1<<4,.lpcsel = 0,};

这里主要介绍一下pixclock的计算方法:
首先看如下两个公式,一个是S3C2440手册里的,一个是drivers/video/s3c2410fb.c中的:
VCLK(Hz)=HCLK/(CLKVAL*2)
int clkdiv = s3c2410fb_calc_pixclk(fbi, var->pixclock) / 2;
(clkdiv+1)*2 = clk*pixclk/10^12;
clkdiv = clk*pixclk/10^12/2-1
这里的clk就是HCLK,然后计算得出pixclk与VCLK的关系
(HCLK/VCLK/2-1) = clk*pixclk/10^12/2-1
1/VCLK = pixclk/10^12
VCLK*pixclk = 10^12


添加开机logo,小企鹅:
Graphics support  --->                 <*> Support for frame buffer devices                <*> S3C2410 LCD framebuffer support ,multi support!                 Console display driver support  --->                        <*> Framebuffer Console support                  Logo configuration  --->                          
  • Bootup logo                                 
  •    Standard 224-color Linux logo
    显示如下:
  • 您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

    本版积分规则

    快速回复 返回顶部 返回列表