您的位置:首页 > 其它

jorjin ap module增加tsc2007触摸屏支持

2012-09-26 16:24 134 查看
有了之前的real210增加tsc2007支持的经验,这个就简单多了。

1.直接修改board支持文件如下:

41 #ifdef CONFIG_TOUCHSCREEN_TSC2007

42 #include <linux/i2c/tsc2007.h>

43 #endif

1048 /* tsc2007 platform data

1049 */

1050 #define TSC2007_IRQ_GPIO (38)

1051 #define TSC2007_IRQ (OMAP_GPIO_IRQ(TSC2007_IRQ_GPIO))

1052

1053 static int tsc2007_hw_init(void)

1054 {

1055 int err;

1056 omap_cfg_reg(TSC2007_IRQ_GPIO);

1057 err=gpio_request(TSC2007_IRQ_GPIO,"tsc2007 irq");

1058 if(err){

1059 pr_err("tsc2007 irq gpio request err\n");

1060 return err;

1061 }

1062

1063 err=gpio_direction_input(TSC2007_IRQ_GPIO);

1064 if(err){

1065 pr_err("tsc2007 irq gpio init input err %d\n",err);

1066 gpio_free(TSC2007_IRQ_GPIO);

1067 return err;

1068 }

1069 //set_irq_type(TSC2007_IRQ,IRQTYPE_EDGE_FALLING);

1070 enable_irq(gpio_to_irq(TSC2007_IRQ_GPIO));

1071 printk("tsc2007 gpio init ok\n");

1072 return 0;

1073 }

1074

1075 static void tsc2007_hw_remove(void)

1076 {

1077 omap_cfg_reg(TSC2007_IRQ_GPIO);

1078 gpio_free(TSC2007_IRQ_GPIO);

1079 }

1080

1081 static int tsc2007_get_pandown_state(void)

1082 {

1083 int dat;

1084 //s3c_gpio_cfgpin(TSC2007_INT)

1085 dat=gpio_get_value(TSC2007_IRQ_GPIO);

1086 return (dat==0)?1:0;

1087 }

1088 static struct tsc2007_platform_data tsc2007_data={

1089 .model=2007,

1090 .x_plate_ohms=180,

1091 .init_platform_hw=tsc2007_hw_init,

1092 .exit_platform_hw=tsc2007_hw_remove,

1093 .get_pendown_state=tsc2007_get_pandown_state,

1094 };

将如下代码加入到一个i2c_board_info的结构体变量里面

1114 {

1115 I2C_BOARD_INFO("tsc2007",(0x90>>1)),

1116 .platform_data=&tsc2007_data,

1117 .irq=TSC2007_IRQ,

1118 },

调用omap_register_i2c_bus()函数注册i2c设备。

2.修改tsc2007.c

316 err = request_irq(ts->irq, tsc2007_irq,IRQF_TRIGGER_FALLING ,

317 client->dev.driver->name, ts);

好了,大功告成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: