免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 853 | 回复: 0
打印 上一主题 下一主题

触摸屏驱动移植 2410+linux 2.6.13 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-08 17:07 |只看该作者 |倒序浏览


文件:
触摸屏.rar
大小:
182KB
下载:
下载
S3c2410开发板linux2.6移植触摸屏驱动移植
在 linux2.6.14 中没有提供 s3c2410 的驱动,所以我们要新建驱动文件,我们在 linux2.6.14/drivers/input/touchscreen 目录下建立新的文件 hfrk_s3c2410_ts.c 文件,驱动文件我们可以参考类似的触摸屏驱动,具体的内容参看网站或者光盘提供的源代码。
  首先:我们需要修改 linux2.6.14/drivers/input/touchscreen 目录下的 makefile 文件,在文件的最后 添加 :
obj-$(CONFIG_TOUCHSCREEN_S3C2410) += hfrk_s3c2410_ts.o
第二:我们需要修改 linux2.6.14/ drivers/input/touchscreen/Kconfig 中添加:
    config TOUCHSCREEN_S
    tristate "Samsung S3C2410 touchscreen input driver"
    depends on ARCH_SMDK2410 && INPUT && INPUT_TOUCHSCREEN
    select SERIO
    help
    Say Y here if you have the s3c2410 touchscreen.
    If unsure, say N.
    To compile this driver as a module, choose M here: the
    module will be called s3c2410_ts.
config TOUCHSCREEN_S3C2410_DEBUG
    boolean "Samsung S3C2410 touchscreen debug messages"
    depends on TOUCHSCREEN_S3C2410
    help
    Select this if you want debug messages
修改完成以后,在我们配置内核的时候,就会增加关系s3c2410的触摸屏配置,我们选择上这些配置就可以把驱动增加进去了
Device drivers - à
          Input device support à
                    Touchscreens à
                      Samsung S3C2410 touchscreen input driver
                      []Samsung s3c2410 touchscreen debug message
第三:在 /linux-2.6.14/arch/arm/mach-s3c2410/mach-smdk2410.c, 中增加如下内容:
    static struct s3c2410_ts_mach_info sbc2410_ts_cfg __initdata = {
    .delay = 10000,
    .presc = 49,
    .oversampling_shift = 2,
    };
    在smdk2410_devices结构中,添加:
    &s3c_device_ts,
    在smdk2410_map_io函数中添加:
    set_s3c2410ts_info(&sbc2410_ts_cfg);
第四:在 /linux-2.6.14/ arch/arm/mach-s3c2410/devs.h 文件中添加:
    extern struct platform_device s3c_device_ts;
第五:在arch/arm/mach-s3c2410/devs.c文件中添加如下几行:
    /* Touchscreen */
    static struct s3c2410_ts_mach_info s3c2410ts_info;
    void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info)
{
memcpy(&s3c2410ts_info,hard_s3c2410ts_info,sizeof(struct s3c2410_ts_mach_info));
}
EXPORT_SYMBOL(set_s3c2410ts_info);
struct platform_device s3c_device_ts = {
.name = "s3c2410-ts",
.id = -1,
.dev = {
.platform_data = &s3c2410ts_info,
}
};
EXPORT_SYMBOL(s3c_device_ts);
经过这些修改,我们的触摸屏驱动已经完成 , 我们编译就可以了。我们的 这个触摸屏驱动在内核注册为 /dev/input/mouse0


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93821/showart_1894224.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP