您尚未登录。

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

liwenting_wyx@163.com
会员
注册时间: 2019-08-06
已发帖子: 21
积分: 21

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

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


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

离线

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

liwenting_wyx@163.com
会员
注册时间: 2019-08-06
已发帖子: 21
积分: 21

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)

离线

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

liwenting_wyx@163.com
会员
注册时间: 2019-08-06
已发帖子: 21
积分: 21

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

离线

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

liwenting_wyx@163.com
会员
注册时间: 2019-08-06
已发帖子: 21
积分: 21

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   后触摸触摸板无任何数据反馈,这个字符串也没有显示,  如果是正常情况下,此字符串显示的话就是没有进入到中断服务函数

离线

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

liwenting_wyx@163.com
会员
注册时间: 2019-08-06
已发帖子: 21
积分: 21

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

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

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn