Linux 2.6.34下LCD驱动移植
2011-08-13 19:23
239 查看
Linux下的LCD设备被抽象成标准的framebuffer设备,我们只需要修改与LCD有关的扫描时间及分辨率即可
1、修改 arch/arm/mach-s3c2440/mach-smdk2440.c 如下:
/* LCD driver info */
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 = 320,
.height = 240,
.pixclock = 64000, /*HCLK 60 MHz, divisor 10 */
.xres = 320,
.yres = 240,
.bpp =16,
.left_margin = 18,
.right_margin = 38,
.hsync_len = 30,
.upper_margin = 18,
.lower_margin = 18,
.vsync_len = 3,
};
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
.gpccon = 0xaa955699, //这是将GPC和GPD设置成功能引脚,也可以不设置
.gpccon_mask = 0xffc003cc,
.gpcup =0x0000ffff,
.gpcup_mask = 0xffffffff,
.gpdcon = 0xaa95aaa1,
.gpdcon_mask = 0xffc0fff0,
.gpdup =0x0000faff,
.gpdup_mask = 0xffffffff,
//.lpcsel = ((0xCE6) & ~7) | 1<<4,
.lpcsel = 0xf82, //设置TCONSEL寄存器选择三星240x320
};
static struct platform_device*smdk2440_devices[] __initdata = {
&s3c_device_ohci,
&s3c_device_lcd, //检查这里有没有加上
&s3c_device_wdt,
&s3c_device_i2c0,
&s3c_device_iis,
};
2.让系统启动起来看到 bootlogo 小企鹅,得在 make menuconfig 中进行配置添加
在Device Drivers ---> Graphics support ---> Bootup logo下面可以全部选中支持
1、修改 arch/arm/mach-s3c2440/mach-smdk2440.c 如下:
/* LCD driver info */
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 = 320,
.height = 240,
.pixclock = 64000, /*HCLK 60 MHz, divisor 10 */
.xres = 320,
.yres = 240,
.bpp =16,
.left_margin = 18,
.right_margin = 38,
.hsync_len = 30,
.upper_margin = 18,
.lower_margin = 18,
.vsync_len = 3,
};
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
.gpccon = 0xaa955699, //这是将GPC和GPD设置成功能引脚,也可以不设置
.gpccon_mask = 0xffc003cc,
.gpcup =0x0000ffff,
.gpcup_mask = 0xffffffff,
.gpdcon = 0xaa95aaa1,
.gpdcon_mask = 0xffc0fff0,
.gpdup =0x0000faff,
.gpdup_mask = 0xffffffff,
//.lpcsel = ((0xCE6) & ~7) | 1<<4,
.lpcsel = 0xf82, //设置TCONSEL寄存器选择三星240x320
};
static struct platform_device*smdk2440_devices[] __initdata = {
&s3c_device_ohci,
&s3c_device_lcd, //检查这里有没有加上
&s3c_device_wdt,
&s3c_device_i2c0,
&s3c_device_iis,
};
2.让系统启动起来看到 bootlogo 小企鹅,得在 make menuconfig 中进行配置添加
在Device Drivers ---> Graphics support ---> Bootup logo下面可以全部选中支持
相关文章推荐
- Linux-2.6.32.2内核在mini2440上的移植----LCD驱动移植
- linux-3.8.0 S5PV210 LCD显示屏驱动移植
- linux-2.6.32在mini2440开发板上移植(6)之W35型LCD驱动移植
- Linux-2.6.32.2内核在mini2440上的移植----增加LCD背光驱动
- Linux-2.6.32.2内核在mini2440上的移植(六)---添加LCD背光驱动
- Linux4.3.2内核自带LCD驱动移植
- FS2410 开发板linux-2.6.35内核 LCD 驱动移植
- linux2.6.32.2 mini2440平台移植-- LCD 显示驱动 ( W35屏 )
- Linux-2.6.32.2内核在mini2440上的移植(七)---LCD驱动移植
- 基于ARM9处理器的linux-2.6.32.2操作系统内核移植手记part5.2(LCD驱动源码分析及移植之platform driver)
- Linux-2.6.32.2内核在mini2440上的移植(七)---LCD驱动移植
- Linux2.6.24移植:LCD驱动
- 移植Linux3.4.2版本内核到mini2440(二)--添加网卡、UVC摄像头、LCD驱动
- linux2.6.32.2 LCD触屏驱动移植
- Linux-2.6.32.2内核在mini2440上的移植(六)---添加LCD背光驱动
- Real6410移植linux-2.6.39.1记录(2)-LCD驱动移植
- IMX6Q处理器Linux平台LCD显示屏RGB驱动调试移植
- linux2.6.32.2 mini2440平台移植-- LCD 显示驱动 ( W35屏 )
- 在S3C2410的6寸LCD驱动在linux2.6上的移植
- linux-2.6.32内核LCD驱动移植