FL2440移植LINUX-3.4.2 -- 内核自带的触摸屏驱动移植

修改两个文件/arch/arm/mach-s3c2440/mach-smdk2440.c

linux-3.0-s3c2440/drivers/input/touchscreen/s3c2410_ts.c

 1 /arch/arm/mach-s3c2440/mach-smdk2440.c
 2
 3 +#include <plat/ts.h>         /*Add by guowenxue to support Touch screen, 2011.09.06*/
 4
 5 +/*Touch Screen driver info add by guowenxue 2011.09.04 */
 6 +static struct s3c2410_ts_mach_info smdk2440_ts_cfg __initdata = {
 7 +    .delay = 10000,
 8 +    .presc = 49,
 9 +    .oversampling_shift = 2,
10 +};
11 +
12
13
14  static struct platform_device *smdk2440_devices[] __initdata = {
15 @@ -155,19 +295,48 @@
16      &s3c_device_wdt,
17      &s3c_device_i2c0,
18      &s3c_device_iis,

26 +    &s3c_device_adc,    /* Add Touch Screen driver by guowenxue, 2011.09.06*/
27 +    &s3c_device_ts,     /* Add Touch Screen driver by guowenxue, 2011.09.06*/
30 +#endif
31  };
32
33
34
35  static void __init smdk2440_machine_init(void)
36  {
37      s3c24xx_fb_set_platdata(&smdk2440_fb_info);
38 +    s3c24xx_ts_set_platdata(&smdk2440_ts_cfg); /*Add Touch Screen info by guowenxue, 2011.09.06*/
39      s3c_i2c0_set_platdata(NULL);
40 +    i2c_register_board_info(0, smdk2440_i2c_devs, ARRAY_SIZE(smdk2440_i2c_devs));
41
42      platform_add_devices(smdk2440_devices, ARRAY_SIZE(smdk2440_devices));
43      smdk_machine_init();
44
45
46
47 /drivers/input/touchscreen/s3c2410_ts.c
48 +++ linux-3.0-s3c2440/drivers/input/touchscreen/s3c2410_ts.c    2013-07-28 11:44:58.555435668 +0800
49 @@ -126,6 +126,7 @@
50              input_report_abs(ts.input, ABS_Y, ts.yp);
51
52              input_report_key(ts.input, BTN_TOUCH, 1);
53 +            input_report_abs(ts.input, ABS_PRESSURE, 1); /* Add by guowenxue, 2012.03.30 */
54              input_sync(ts.input);
55
56              ts.xp = 0;
57 @@ -140,6 +141,7 @@
58          ts.count = 0;
59
60          input_report_key(ts.input, BTN_TOUCH, 0);
61 +        input_report_abs(ts.input, ABS_PRESSURE, 0); /* Add by guowenxue, 2012.03.30 */
62          input_sync(ts.input);
63
64          writel(WAIT4INT | INT_DOWN, ts.io + S3C2410_ADCTSC);
65 @@ -314,10 +316,11 @@
66      }
67
68      ts.input = input_dev;
69 -    ts.input->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
70 +    ts.input->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS) | BIT(EV_SYN); /* Modify by guowenxue, 2012.03.30 */
71      ts.input->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
72      input_set_abs_params(ts.input, ABS_X, 0, 0x3FF, 0, 0);
73      input_set_abs_params(ts.input, ABS_Y, 0, 0x3FF, 0, 0);
74 +    input_set_abs_params(ts.input, ABS_PRESSURE, 0, 1, 0, 0);  /* Add by guowenxue, 2012.03.30 */
75
76      ts.input->name = "S3C24XX TouchScreen";
77      ts.input->id.bustype = BUS_HOST;
时间: 2024-07-30 17:01:52

FL2440移植LINUX-3.4.2 -- 内核自带的触摸屏驱动移植的相关文章

转载: linux2.6.37.4内核在XC2440开发板上移植(六)之触摸屏驱动移植

来自:http://blog.chinaunix.net/uid-22030783-id-3023527.html 内核自带s3c2440的触摸屏控制器驱动,属于input子系统的驱动,触摸屏驱动需要ADC驱动的支持,触摸屏驱动文件为:drivers/input/touchscreen/s3c2410_ts.c 在mach-xc2440.c文件中加入对触摸屏驱动的支持, 创建s3c2410_ts_mach_info平台数据 加入必要的头文件: #include <plat/ts.h> xc24

I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之触摸屏驱动移植

之所以说是驱动移植是因为之前已经在TQ210.AM335x两个平台上移植过了,因此,仅需要少量修改就可以将驱动移植到imx6q.下面开始触摸驱动移植. DTS编写 参考其它DTS的i2c设备写法,我们可以添加如下内容: &i2c1 { clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1_2>; status = "okay&q

NUC970平台触摸屏驱动移植

原理概述 1.首先要区分lcd和触摸屏,lcd是一个屏幕,触摸屏是贴在lcd上的两层膜. 2.四线电阻触摸屏的原理:触摸屏就是上下两层膜,比如上层代表x轴(XM:负端,XP:正端),下层代表y轴(YM:负端,YP:正端).当读取x轴坐标时,XP接3.3v,XM接地,从YM读取按下点的电压值作为模拟输入信号,再经过AD转换后就得到了x轴坐标.同理,当读取y轴坐标时,YP接3.3v,YM接地,从XM读取按下点的电压值作为模拟输入,再经过AD转换后就得到了y轴坐标. 触摸屏驱动程序采用中断方式对触摸笔

2、UCGUI触摸屏驱动移植

1.例程代码: 1 /************************************************************************************************************************************* 2 * 3 * 文件名称:main.c 4 * 文件功能:主函数文件 5 * 6 ****************************************************************

AM335x(TQ335x)学习笔记——WM8960声卡驱动移植

经过一段时间的调试,终于调好了TQ335x的声卡驱动.TQ335x采用的Codec是WM8960,本文来总结下WM8960驱动在AM335x平台上的移植方法.Linux声卡驱动架构有OSS和ALSA两种架构,目前最常用的架构是ALSA,本文也使用ALSA架构对WM8960驱动进行移植. ASoC是对ALSA驱动架构的进一步封装.ASoC将ALSA驱动中的各模块抽象为三部分:Platform.Codec和Machine.Platform主要是平台硬件驱动,包括SoC的IIS模块.DMA等,在本文中

基于tiny4412的Linux内核移植 -- MMA7660驱动移植(九-2)

作者信息 作者: 彭东林 邮箱:[email protected] QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 交叉编译工具链: arm-none-linux-gnueabi-gcc (gcc version 4

基于tiny4412的Linux内核移植 -- MMA7660驱动移植(九)

作者信息 作者: 彭东林 邮箱:[email protected] QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 交叉编译工具链: arm-none-linux-gnueabi-gcc (gcc version 4

基于tiny4412的Linux内核移植 -- DM9621NP网卡驱动移植(四)

作者信息 作者: 彭东林 邮箱:[email protected] QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 网卡芯片:DM9621NP 交叉编译工具链: arm-none-linux-gnueabi-gcc

为AM335x移植Linux内核主线代码

/********************************************************************** * 为AM335x移植Linux内核主线代码 * 说明: * MariannaZhu对AM335x做Linux内核移植时写的blog,记录一下,也许以后 * 用得到. * * 2016-12-5 深圳 南山平山村 曾剑锋 *******************************************************************