触摸屏的移植(s3c2410)
dev/mounse0
# cat /proc/devices
Character devices:
……
10 misc
13 input
29 fb
90 mtd
……
查看触摸屏:
cat /proc/interrupts
……
53:
60:
70:
71:
79:
80:
具体的移植过程:
1:安放驱动文件
把s3c2410_ts.c放到drivers/input/touchscreen下。
把ts.h放到include/asm-arm/arch-s3c2410
2:修改drivers/input/touchscreen/Kconfig
添加下列信息
config TOUCHSCREEN_S3C2410
tristate "Samsung S3C2410 touchscreen input driver"
depends on ARCH_S3C2410 && INPUT && INPUT_TOUCHSCREEN
select SERIO
help
config TOUCHSCREEN_S3C2410_DEBUG
boolean "Samsung S3C2410 touchscreen debug messages"
depends on TOUCHSCREEN_S3C2410
help
3:修改drivers/input/touchscreen/Makefile
添加下列信息
obj-$(CONFIG_TOUCHSCREEN_S3C2410)
+= s3c2410_ts.o
4:把s3c2410_ts.c里的
#include
改成
#include
5:修改arch/arm/plat-s3c24xx/devs.c文件
添加头文件
#include
添加
struct platform_device s3c_device_ts = {
.name= "s3c2410-ts",
.id= -1,};
EXPORT_SYMBOL(s3c_device_ts);
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));
s3c_device_ts.dev.platform_data = &s3c2410ts_info;}
EXPORT_SYMBOL(set_s3c2410ts_info);
6:修改include/asm-arm/plat-s3c24xx/devs.h
在include/asm-arm/plat-s3c24xx/devs.h下添加:
extern struct platform_device s3c_device_ts;
添加头文件
#include
添加
static struct s3c2410_ts_mach_info s3c2410_ts_cfg __initdata = {
.delay = 10000,
.presc = 49,
.oversampling_shift = 2,
};
在static struct platform_device *smdk2410_devices[] __initdata结构体中添加
&s3c_device_ts,
在static void __init smdk2410_init(void)函数中添加
set_s3c2410ts_info(&s3c2410_ts_cfg);
这样就OK了,然后记得配置内核.make zImage
触摸屏移植s3c241 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)