ITOP4412----基于4.19.99Linux内核,添加内核提供的tsc2007触摸驱动程序

本工程源码已打包进内核,使用gitee托管:地址

前面一段时间移植好了4.3寸电阻屏,但是显示效果很差,也没有时间去和思路去调整,最近一切安定下来,终于能抽时间继续查漏补缺了。

秉着先易后难的原则,就先把触摸屏的驱动给适配上吧,因为Linux官方提供的内核源码中,已经提供了tsc2007触摸芯片的驱动(偶然瞥见的,巧不巧),而恰好讯为的4.3寸屏幕使用的就是这款芯片。

按照惯例,先在内核源码中找到驱动文件。
在内核目录下,找到:
drivers/input/touchscreen/tsc2007_core.c文件,内核驱动的一贯套路,先看probe函数,tsc2007_probe中,可以看到从设备树里获取资源。那就完事了,把设备树写好,应该就适配完了。

//设备树的属性值可以在.c文件里看到。
#ifdef CONFIG_OF
static const struct of_device_id tsc2007_of_match[] = {
   
	{
    .compatible = "ti,tsc2007" },
	{
    /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, tsc2007_of_match);
#endif

一般内核提供了驱动文件的话,也会配套设备树的实例,跟着简单修改一下应该就能用了,在文档目录里找到了。

Documentation/devicetree/bindings/input/touchscreen/tsc2007.txt

这个文本文件里,比较详细地描述了tsc2007设备树的必须属性,还给了一个例子,我们按照例子修改即可。

Example:
	&i2c1 {
   
		/* ... */
		tsc2007@49 {
   
			compatible = "ti,tsc2007";
			reg = <0x49>;
			interrupt-parent = <&gpio4>;
			interrupts = <0x0 0x8>;
			gpios = <&gpio4 0 0>;
			ti,x-plate-ohms = <180>;
		};

		/* ... */
	};

修改后:
讯为的tsc2007芯片接的是I2c7,将设备挂载到I2c7下即可。

&i2c_7 {
   
        samsung,i2c-sda
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值