我是靠谱客的博主 过时微笑,最近开发中收集的这篇文章主要介绍linux 内核配置lcd屏,S3C2410 LCD驱动的移植(基于linux-2.6.15.4内核),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在linux-2.6.15.4的内核代码中已经含有LCD屏的驱动代码,只需作少量的修改,把你的LCD屏的参数加入即可.以东华3.5LCD为例作说明.

1. 在内核配置中把以下选项选上:

Device Drivers->

Graphics support-> (除了VGA text console将其及其子项全选上)

2. 修改linux-2.6.15.4/arch/arm/mach-s3c2410/mach-smdk2410.c文件:

加入头文件:

#include#include

static struct platform_device *smdk2410_devices[] __initdata = {

&s3c_device_usb,

&s3c_device_lcd, //加入这一句

&s3c_device_wdt,

&s3c_device_i2c,

&s3c_device_iis,

&s3c_device_nand,

};

//添加如下代码,这些参数要参考屏的手册,如果未写正确则屏不会有反应,这是关键,以下为东华LCD屏的参数配置.

static struct s3c2410fb_mach_info s3c2410_lcd_info __initdata = {

.fixed_syncs = 1,

.regs = {

.lcdcon1 = S3C2410_LCDCON1_TFT16BPP|S3C2410_LCDCON1_TFT|S3C2410_LCDCON1_CLKVAL(6),

.lcdcon2 = S3C2410_LCDCON2_VBPD(14)|S3C2410_LCDCON2_VFPD(11)|S3C2410_LCDCON2_VSPW(2)|

S3C2410_LCDCON2_LINEVAL(239),

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

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

.lcdcon5 = S3C2410_LCDCON5_FRM565|S3C2410_LCDCON5_INVVLINE|S3C2410_LCDCON5_HWSWP|

S3C2410_LCDCON5_PWREN|S3C2410_LCDCON5_INVVFRAME|S3C2410_LCDCON5_INVVCLK,

},

.lpcsel = 0x0,

.gpccon = 0xaaaaaaaa,

.gpccon_mask = 0xffffffff,

.gpcup = 0xffffffff,

.gpcup_mask = 0xffffffff,

.gpdcon = 0xaaaaaaaa,

.gpdcon_mask = 0x0,

.gpdup = 0xffffffff,

.gpdup_mask = 0xffffffff,

.width = 320,

.height = 240,

.xres = {320,320,320},

.yres = {240,240,240},

.bpp = {16,16,16},

};

//定义初始化函数

static void __init smdk2410_init_lcd(void)

{

s3c24xx_fb_set_platdata(&s3c2410_lcd_info);

}

//将上面函数加入以下结构:

MACHINE_START(SMDK2410, "SMDK2410") /* @TODO: request a new identifier and switch

* to SMDK2410 */

/* Maintainer: Jonas Dietsche */

.phys_ram = S3C2410_SDRAM_PA,

.phys_io = S3C2410_PA_UART,

.io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,

.boot_params = S3C2410_SDRAM_PA + 0x100,

.fixup = smdk2410_fixup,

.map_io = smdk2410_map_io,

.init_irq = smdk2410_init_irq,

.timer = &s3c24xx_timer,

.init_machine = smdk2410_init_lcd,

MACHINE_END

//编译内核,系统启动后如果移植正确,则会在屏的左上角显示一个小企鹅的图标,如果不正确则存细查看一下参数配置。

[@more@]

最后

以上就是过时微笑为你收集整理的linux 内核配置lcd屏,S3C2410 LCD驱动的移植(基于linux-2.6.15.4内核)的全部内容,希望文章能够帮你解决linux 内核配置lcd屏,S3C2410 LCD驱动的移植(基于linux-2.6.15.4内核)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部