WhyCan Forum

本站无需注册,无需积分,无需回复可下载所有资料,如果真的喜欢小站,请您注册之后请至少回复一个帖子激活Id,谢谢支持! 站长QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-09-01 13:17:01

liwenting_wyx@163.com
会员
注册时间: 2019-08-06
累计积分: 18

V3s移植触摸板驱动,无反应

V3s移植TSC2013触摸板芯片驱动,成功注册中断号,中断引脚有信号,但无反馈,i2c无反应,i2c能对此芯片寄存器读写,请问可能是什么原因?


# cat /proc/interrupts
           CPU0       
  4:          0  sunxi_gpio_irq_chip  tsc2013

离线

#2 2019-09-01 14:59:36

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,400

Re: V3s移植触摸板驱动,无反应

你的驱动和设备树是怎么配的?

离线

#3 2019-09-01 15:19:20

liwenting_wyx@163.com
会员
注册时间: 2019-08-06
累计积分: 18

Re: V3s移植触摸板驱动,无反应

配置是 sys_config.fex 文件  如下:
tsc2013_driver_20190901-1522.zip

--------
253 ;i2c configuration
254 ; twi_used = twix enable    ;; twi0->use pmu axp209 ,  twi1->use gsenor
255 ;--------------------------------------------------------------------------     --------
256 [twi0]
257 twi_used        = 1
258 twi_scl         = port:PB06<2><default><default><default>
259 twi_sda         = port:PB07<2><default><default><default>



sunxi.c  文件添加如下:
/*tsc2013*/

struct tsc2013_platform_data tsc2013_data = {
155         .model = 2013,
156         .x_plate_ohms = 180,
157 };



592
593         if (i2c_register_board_info(0, i2c_tsc2013_devs, ARRAY_SIZE(i2c_tsc2    013_devs)) < 0) {
594                 printk(KERN_ERR "%s()%d - tsc2013 init failed!\n", __func__,     __LINE__);
595         }
596         printk(KERN_ERR "tsc2013 device registered\n");

最近编辑记录 liwenting_wyx@163.com (2019-09-01 15:23:05)

离线

#4 2019-09-01 15:22:32

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,400

Re: V3s移植触摸板驱动,无反应

看下kernel log 有没有检测到 tsc2013

离线

#5 2019-09-01 15:30:59

liwenting_wyx@163.com
会员
注册时间: 2019-08-06
累计积分: 18

Re: V3s移植触摸板驱动,无反应

有检测到的,控制台打印信息:

启动阶段:
-->tsc2013_init
[    1.434014] tsc2013_init-->i2c_add_driver
[    1.438675] -->tsc2013_probe
[    1.442028] tsc2013_probe-->tsc2013_hw_init
[    1.446719] -->tsc2013_hw_init
[    1.450185] after gpio_request
[    1.453625] after gpio_direction_input
[    1.458102] ts_ptr--irq :4
[    1.461168] tsc2013_probe-->tsc2013_sw_init
[    1.466346] tsc2013_i2c_write_register : CFG[62] = 0xa58c
[    1.472681] tsc2013_i2c_write_register : CFG[6a] = 0x0
[    1.478708] tsc2013_i2c_write_register : CFG[72] = 0xb81c




cat /proc/interrupts
           CPU0       
  4:          0  sunxi_gpio_irq_chip  tsc2013


这是驱动注册后的设备信息:
# cat devices
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="sunxi-keyboard"
P: Phys=sunxikbd/input0
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=3
B: KEY=800 c0040 0 0 10000000

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="tsc2013_ts"
P: Phys=0-0048/input0
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=event1
B: PROP=0
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=2610000 0

离线

#6 2019-09-01 15:36:50

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,400

Re: V3s移植触摸板驱动,无反应

那你看下强制拉低中断脚, 中断次数有没有变化?
会不会是电阻屏或者排线有问题, 导致没有中断输出?

离线

#7 2019-09-01 15:45:49

liwenting_wyx@163.com
会员
注册时间: 2019-08-06
累计积分: 18

Re: V3s移植触摸板驱动,无反应

触摸 触摸板是中断脚是有电平变化的,但是i2c两线无反应,cat event1  无数据反馈,推测原因是没进入中断服务函数,但是中断号成功注册了,也匹配上了,中断条件也符合了。

晕哥,问一下:

893 static irqreturn_t tsc2013_irq(int irq, void *handle)
894 {
895         struct tsc2013 *ts = handle;
896
897         printk(KERN_ERR "-->tsc2013_irq\n");
898
899         schedule_delayed_work(&ts->work, msecs_to_jiffies(ts->poll_delay));
900
901         if (ts->clear_penirq)
902                 ts->clear_penirq();
903
904         return IRQ_HANDLED;
905 }
906

这是中断服务函数:
触摸触摸板,正常情况下,进入此函数之后会打印   --》tsc2013_irq    到控制台显示吗?因为不是启动阶段,不确定


因为 cat event1   后触摸触摸板无任何数据反馈,这个字符串也没有显示,  如果是正常情况下,此字符串显示的话就是没有进入到中断服务函数

离线

#8 2019-09-01 15:56:03

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,400

Re: V3s移植触摸板驱动,无反应

感觉 KERN_ERR 级别一般会打印吧, 不确定先把 KERN_ERR 去掉.

可以逻辑分析仪接上 I2C 和 GPIO 脚看下情况.

离线

#9 2019-09-02 09:16:11

shaoxi2010
会员
注册时间: 2019-06-13
累计积分: 22

Re: V3s移植触摸板驱动,无反应

是不是你选的gpio不具有中断功能哦

离线

#10 2019-09-02 09:23:37

liwenting_wyx@163.com
会员
注册时间: 2019-08-06
累计积分: 18

Re: V3s移植触摸板驱动,无反应

是具有中断功能的,PB4   EINT4  ,而且已经成功注册号中断号了

离线

#11 2019-09-03 15:42:06

leeon
会员
注册时间: 2019-09-03
累计积分: 1

Re: V3s移植触摸板驱动,无反应

1.i2c 设备是否注册成功
2.input 设备是否注册成功
3.input 设备初始化设置检查一下

离线

页脚