I.MX6开发板移植Linux4.1.15内核之TSC2007触摸屏设备树信息的添加

之前写过一篇3.0.35内核移植关于TSC2007触摸屏驱动移植的文章。里面对TSC2007.c驱动程序的分析比较清晰,点击链接查看:点击链接查看

本篇文章,主要记录在4.1.15内核移植的过程中,对于TSC2007设备的添加,需要如何添加设备树信息。

1、TSC2007硬件原理图分析

先看相关原理图:

tsc2007控制器芯片的原理图。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

由tsc2007芯片原图与核心板相关连接的引脚知:

  • 触摸屏与CPU通过I2C总线进行数据传输,且为I2C3
  • I2C3有两条线,SCL与SDA,分别于核心板的GPIO_3与GPIO_6连接
  • 中断引脚为GPIO6_IO7,与核心板的连接为NAND_CLE系列引脚

2、TSC2007设备树的添加

本次主要修改imx6qdl-sabresd.dtsi文件,该文件是与具体外设相关的文件

在i2c3节点下:

&i2c3 {clock-frequency = <100000>;pinctrl-names = "default";pinctrl-0 = <&pinctrl_i2c3>;status = "okay";//添加tsc2007@48 {compatible = "ti,tsc2007";reg = <0x48>;pinctrl-names = "default";pinctrl-0 = <&pinctrl_i2c1_tsc2007_int>;interrupt-parent = <&gpio6>;interrupts = <0x7 0x8>;gpios = <&gpio6 7 0>;ti,x-plate-ohms = <180>;};
};

在iomuxc节点下的imx6qdl-sabresd节点下:

&iomuxc {pinctrl-names = "default";pinctrl-0 = <&pinctrl_hog>;imx6qdl-sabresd {................pinctrl_i2c3: i2c3grp {fsl,pins = <MX6QDL_PAD_GPIO_3__I2C3_SCL    0x4001b8b1MX6QDL_PAD_GPIO_6__I2C3_SDA    0x4001b8b1>;};pinctrl_i2c1_tsc2007_int: i2c1_tsc2007_int {fsl,pins = <MX6QDL_PAD_NANDF_CLE__GPIO6_IO07  0x80000000>;};................};
};

3、触摸屏的校准

校准的目的:为了与显示屏的坐标一一对应。我们一般采用软件校准,使用Tslib库里的校准软件进行校准们首先需要移植Tslib库。

  • 将Tslib库编译安装到文件系统中
编译tslib(放到rootfs/tslib/tslib):
$ tar xzf tslib-1.4.tar.gz
$ cd tslib
$ ./autogen.sh $ mkdir tmp
$ echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
$ ./configure --host=arm-linux --cache-file=arm-linux.cache --prefix=$(pwd)/tmp
$ make
$ make install

我的这一步骤是放到开发的环境中做的,其实可以直接在单板上搞,如果单板上是有编译器的话。

  • 然后将系统烧写到单板,在单板上操作:
$ cd /tslib/tslib/tmp
$ cp * / -rfd1.
修改 /etc/ts.conf第1行(去掉#号和第一个空格):
# module_raw input
改为:
module_raw input2.添加环境变量
$ export TSLIB_TSDEVICE=/dev/input/event1
$ export TSLIB_CALIBFILE=/etc/pointercal
$ export TSLIB_CONFFILE=/etc/ts.conf
$ export TSLIB_PLUGINDIR=/lib/ts
$ export TSLIB_CONSOLEDEVICE=none
$ export TSLIB_FBDEVICE=/dev/fb0
  • 测试
$ ts_calibrate
$ ts_test 

备注:如果出现段错误,解决办法如下:
1、ts.conf文件中的各个设置选项之前不能有空格,否则会出现: Segmentation fault 错误

2、不要在pointercal对应的目录下,建立一个空的pointercal文件,否则在运行ts_calibrate时,
也可能会出现Segmentation fault

4、总结

不要放弃,下一次就会成功!!!

学习探讨加:
qq:1126137994
微信:liu1126137994

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/423122.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#中使用DES和AES加密解密

代码usingSystem;usingSystem.Text;usingSystem.Security.Cryptography;usingSystem.IO;namespaceMyCryptography{ ///<summary>///DES加密解密 ///</summary>publicclassDES { ///<summary>///获取密钥 ///</summary>privates…

java思维导图

Java思维导图1. java 基础知识思维导图2. juc知识点总结3. 缓存相关知识4. 性能调优5.深入理解java 虚拟机&#xff08;感谢分享&#xff09;6. javaNIO&#xff08;IO&#xff09;1. java 基础知识思维导图 2. juc知识点总结 3. 缓存相关知识 4. 性能调优 5.深入理解java 虚拟…

【剑指offer - C++/Java】1、二维数组中的查找

学习交流加 个人qq&#xff1a; 1126137994个人微信&#xff1a; liu1126137994学习交流资源分享qq群&#xff1a; 962535112 题目链接&#xff1a; 二维数组中的查找 文章目录题目描述&#xff1a;解题思路方法1方法2总结题目描述&#xff1a; 在一个二维数组中&#xff08;每…

【剑指offer - C++/Java】2、替换空格

学习交流加 个人qq&#xff1a; 1126137994个人微信&#xff1a; liu1126137994学习交流资源分享qq群&#xff1a; 962535112 题目链接&#xff1a; 替换空格 文章目录题目描述解题思路总结题目描述 请实现一个函数&#xff0c;将一个字符串中的每个空格替换成“%20”。例如&am…

数据仓设计

TOC 数据仓库&#xff0c;这里采用层级的设计方式&#xff0c;设计的粒度&#xff0c;依据业务的复杂度而定&#xff1b; 这里只是介绍 数据仓库的设计&#xff0c;后续补充一下&#xff0c;具体的实现细节和使用工具&#xff1b;

【OS学习笔记】一 处理器、内存和指令

学习交流加 个人qq&#xff1a; 1126137994个人微信&#xff1a; liu1126137994学习交流资源分享qq群&#xff1a; 962535112 我们已经知道&#xff0c;处理器是一台电子计算机的核心&#xff0c;它会在振荡器脉冲的激励下&#xff0c;从内存中获取指令&#xff0c;并发起一系列…

AS3 CookBook学习整理(八)

1. AS3的事件机制 事件流机制即为捕获--目标--冒泡,分别对应event.eventPhase的值1(EventPhase.CAPTURING_PHASE)&#xff0c;2(EventPhase.AT_TARGET)&#xff0c;3(EventPhase.BUBBLING_PHASE) 假设有3个Sprite&#xff0c;分别为绿、蓝、黄(如图),层叠关系为绿色包含蓝色&am…

边缘计算+云计算

后续更新中 边缘计算云计算&#xff1a; 促进企业数字化向数智化发展概念1.以下是边缘计算的四个组织2. 边缘设备对IoT的增强作用 &#xff08;更新&#xff09;3. 边缘计算应用于IoT的四个层次4. AI在边缘设备计算领域的三种应用场景5. 云服务架构6.案例解析6.1国家电网&#…

【剑指offer - C++/Java】3、从尾到头打印链表

学习交流加 个人qq&#xff1a; 1126137994个人微信&#xff1a; liu1126137994学习交流资源分享qq群&#xff1a; 962535112 牛客网题目链接&#xff1a; 从尾到头打印链表 文章目录题目描述1、递归解法1.1、 递归解法一java代码&#xff1a;C代码分析&#xff1a;1.2 递归解法…

网络协议之http和tcp思维导图

http协议和tcp协议之前学的整理一部分&#xff0c;后续更新

【剑指offer - C++/Java】4、重建二叉树

牛客网题目链接&#xff1a;重建二叉树 文章目录0 题目描述&#xff1a;1、题目分析2、代码2.1、java代码2.2 C代码3、总结0 题目描述&#xff1a; 输入某二叉树的前序遍历和中序遍历的结果&#xff0c;请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字…

Windows下Android开发环境 搭建

1、 下载Android SDK &#xff08;1&#xff09;官网下载解压后即可用。 在http://androidappdocs.appspot.com/sdk/index.html 下选择 合适自己的平台下载&#xff0c;下载后解压 运行 【SDK Setup.exe】 出现在线安装包。 会出现“Failed to fetch URL https://dl-ssl.google…

【OS学习笔记】二 汇编语言和汇编软件

学习交流加 个人qq&#xff1a; 1126137994个人微信&#xff1a; liu1126137994学习交流资源分享qq群&#xff1a; 962535112 上一篇文章讲解了处理器&#xff0c;内存&#xff0c;和指令。学习了Intel 8086处理器的相关知识&#xff0c;如Intel通用寄存器的作用&#xff0c;程…

【软件开发底层知识修炼】一 深入浅出处理器之一 微处理器与微控制器

学习交流加&#xff08;可免费帮忙下载CSDN资源&#xff09;&#xff1a;个人微信&#xff1a; liu1126137994学习交流资源分享qq群1&#xff08;已满&#xff09;&#xff1a; 962535112学习交流资源分享qq群2&#xff1a; 780902027 深入浅出处理器这几篇文章可能你觉得对软件…

【软件开发底层知识修炼】二 深入浅出处理器之二 中断的概念与意义

学习交流加 个人qq&#xff1a; 1126137994个人微信&#xff1a; liu1126137994学习交流资源分享qq群&#xff1a; 962535112 上一篇文章我们学习了微处理器与微控制器的区别。点击链接查看上一篇文章的内容&#xff1a;微处理器与微控制器 本篇文章我们学习中断的概念与意义。…

推荐学习-数据结构与算法之美

推荐一个学习资源&#xff1a;数据结构与算法之美。主要包括以下几个学习内容&#xff1a; 20个经典数据结构与算法100个真实项目场景案例文科生都能看懂的算法手绘图解轻松搞定BAT的面试通关秘籍 作者&#xff1a;王争 前谷歌工程师 内容很强。扫描我的二维码买的话&#x…

【软件开发底层知识修炼】三 深入浅出处理器之三 内存管理与内存管理单元(MMU)

学习交流加 个人qq&#xff1a; 1126137994个人微信&#xff1a; liu1126137994学习交流资源分享qq群&#xff1a; 962535112 上一篇文章学习了中断的概念与意义&#xff0c;以及中断的应用-断点调试原理。点击链接复习上一篇文章&#xff1a;中断的概念与意义 本片文章继续学…

hbase思维导图

持续更新中 hbase思维导图 感谢分享1. hbase 概述2. hbase 数据模型3. hbase 架构4. hbase 的读写流程5. hbase 优化1. hbase 概述 2. hbase 数据模型 3. hbase 架构 4. hbase 的读写流程 5. hbase 优化

安卓从入门到进阶推荐学习方法与书籍整理(pdf)

前言&#xff1a;技术书阅读方法论 一.速读一遍&#xff08;最好在1~2天内完成&#xff09; 人的大脑记忆力有限&#xff0c;在一天内快速看完一本书会在大脑里留下深刻印象&#xff0c;对于之后复习以及总结都会有特别好的作用。 对于每一章的知识&#xff0c;先阅读标题&…