您尚未登录。

楼主 #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


东莞哇酷科技有限公司开发