SkyEye1.3.1 + ArmLinux2.6.20 下安装LCD驱动

1. 按笔者前篇日志(http://blog.csdn.net/Matrix_Designer/archive/2010/10/04/5921638.aspx )编译安装内核

 

2. gedit arch/arm/mach-s3c2410/mach-smdk2410.c &
    添加以下内容:

#include <asm/arch/regs-lcd.h>
#include <asm/arch-s3c2410/fb.h>

static struct s3c2410fb_mach_info s3c2410_lcd_info __initdata = {
    .fixed_syncs     = 0,
    .type = S3C2410_LCDCON1_TFT,
    .regs    = {
           .lcdcon1    = S3C2410_LCDCON1_TFT16BPP |
                    S3C2410_LCDCON1_TFT |
                //  S3C2410_LCDCON1_ENVID |
                    S3C2410_LCDCON1_CLKVAL(6),

           .lcdcon2    = S3C2410_LCDCON2_VBPD(0) |
                S3C2410_LCDCON2_LINEVAL(239) |
                S3C2410_LCDCON2_VFPD(10) |
               S3C2410_LCDCON2_VSPW(1),

     .lcdcon3    = S3C2410_LCDCON3_HBPD(6) |
            S3C2410_LCDCON3_HOZVAL(319) |
            S3C2410_LCDCON3_HFPD(15),

      .lcdcon4    = S3C2410_LCDCON4_MVAL(13) |
            S3C2410_LCDCON4_HSPW(28),

      .lcdcon5    = S3C2410_LCDCON5_FRM565 |
            S3C2410_LCDCON5_INVVLINE |
                 // S3C2410_LCDCON5_INVVCLK |
            S3C2410_LCDCON5_INVVFRAME |
                //  S3C2410_LCDCON5_INVLEND|
            S3C2410_LCDCON5_PWREN |
            S3C2410_LCDCON5_HWSWP,
    },

   .lpcsel        = 0,// ((0xCE6) & ~7) | 1<<4,
   .gpccon=        0xaaaaaaaa,
   .gpccon_mask=   0xffffffff,
   .gpcup=         0xffffffff,
   .gpcup_mask=    0xffffffff,
   .gpdcon=        0xaaaaaaaa,
   .gpdup  =       0xFFFFFFFF,
   .gpdup_mask=    0xffffffff,
   .width        = 320,
   .height       = 240,

   .yres        = {
       .min    = 240,
       .max    = 240,
       .defval    = 240,
    },

   .xres        = {
      .min    = 320,
      .max    = 320,
      .defval = 320,
   },

  .bpp        = {
     .min    = 16,
     .max    = 16,
     .defval = 16,
   },
};

static void __init smdk2410_lcd_init(void)
{
    s3c24xx_fb_set_platdata(&s3c2410_lcd_info);
}

    最后在MACHINE_START与MACHINE_END中修改init_machine,代码如下:
    .init_machine   = smdk2410_lcd_init,

 

3. make menuconfig
      选中Device Driver->Graphics support->S3C2410 LCD framebuffer support
      选中Device Driver->Graphics support->Logo configuration->Bootup logo

 

4. make

 

编译成功的内核就加上了LCD驱动。注意:

    .type = S3C2410_LCDCON1_TFT,

这一句是重点,2.6.14的内核没这句可以执行,但是2.6.20的内核必须加上这一句。

SkyEye必须以超用户权限运行,启动后会出现以下错误信息:

ERROR: s3c2410x_io_write_word(0x4d000060) = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d000050) = 0x00000000
In skyeye_find_lcd_dma, probably not finished porting.

这个不妨碍使用,由最后一句可见,SkyEye 1.3.1目前对s3c2410的LCD的移植工作还没有彻底完成,可能还会出现问题。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值