RK3568触摸屏驱动调试总结

news2024/11/19 5:49:00

硬件电路分析

RK3568 CPU通过I2C与触控板外设wdt87xx连接。
首先要根据电路图获取如下I2C的信息:

项目Value
接在哪个I2Ci2c1
I2C 寄存器地址0x2c
HID 地址0x20
中断B5

1、接在哪个I2C
如图,1接在I2C1:
在这里插入图片描述
2、使用哪个GPIO引脚接收触控板的中断
如图:
CPU使用的是GPIO 0 B5引脚来接收触控板的中断
在这里插入图片描述

3、I2C1的寄存器地址0x2c
这个需要硬件工程师给出。
可以通过i2cdetect -r 1检测一下。
root@RK356X:/# i2cdetect -r 1
在这里插入图片描述
I2C1的0X2C位置挂载了一个I2C设备,就是本次的WD87XX触控。
I2C2的0X50位置挂载了一个I2C设备,这是RK628D。

4、HID 地址
查3568手册确认地址。

配置设备树

735 &i2c1 {
736 status = “okay”;
737
738 i2c-scl-rising-time-ns = <345>;
739 i2c-scl-falling-time-ns = <11>;
740 clock-frequency = <400000>;
741
742 touchpad: touchpad@2c {
743 compatible = “hid-over-i2c”;
744 interrupt-parent = <&gpio0>;
745 interrupts = <RK_PB5 IRQ_TYPE_LEVEL_LOW>;
746 pinctrl-names = “default”;
747 pinctrl-0 = <&touchpad_irq_gpio>;
748 reg = <0x2c>;
749 hid-descr-addr = <0x0020>;
750 };
751 };

其中,touchpad_irq_gpio定义:
491 touchpad {
492 touchpad_irq_gpio: touchpad-irq-gpio {
493 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>;
494 };
495 };

为什么要这么配?
1、确定TOUCHPAD的寄存器地址REG=2c
2、确定TP挂在I2C1,因此要修改I2C的信息,通过 &i2c1来引用并加以修改。
3、和供应商确认支持的驱动程序是hid-over-i2c
4、HID地址可以向供应商索取相关的模板。

三、驱动工作
1、drivers hid hid-over-i2c 在工作
2、中断
cat /proc/interrupts| grep hid-over-i2c
122: 2 0 0 0 gpio0 13 Level hid-over-i2c

证实其工作正常。触发产生了中断。

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

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

相关文章

Ubantu从0开始配置深度学习RTX 4090+3090显卡的服务器

文章目录1. 基础2. 用户访问3. Pytorch环境的问题4. 显卡调度问题方法一&#xff1a;在shell命令前强制指定显卡方法二&#xff1a;在代码中强制指定显卡5. 各种各样的小BUG5.1 Liunx创建新用户登录异常&#xff1a;/usr/bin/xauth: error/timeout in locking authority file /…

Unity之向量计算

文章目录前言向量加法向量减法向量乘法/除法向量点乘&#xff08;内积&#xff09;向量叉乘&#xff08;外积&#xff09;向量归一化向量小结前言 讲讲Unity中的向量有关知识&#xff0c;一些概念在初高中就学过&#xff0c;就不解释了。向量只能与自己相同维度进行计算&#…

Zookeeper3.5.7版本——选举机制(第一次启动时)

目录一、第一次启动服务时Zookeeper的选举机制1.1、服务器1启动1.2、服务器2启动1.3、服务器3启动1.4、服务器4启动1.5、服务器5启动二、Zookeeper中的一些概念了解2.1、SID2.2、ZXID2.3、Epoch一、第一次启动服务时Zookeeper的选举机制 1.1、服务器1启动 服务器1启动&#x…

嵌入式学习笔记——STM32硬件基础知识

STM32开发硬件知识前言STM32最小系统电源电路晶振电路复位电路BOOT选择电路调试接口电路其他电路本文重点本文参考博客链接前言 上一篇中我们重点是讲了一下怎么搭建开发环境以及怎么下载烧录的过程&#xff0c;这都是解决的电脑端的开发环境问题&#xff0c;还没有到实际的开…

【数据结构】邻接矩阵和邻接图的遍历

写在前面 本篇文章开始学习数据结构的图的相关知识&#xff0c;涉及的基本概念还是很多的。本文的行文思路:学习图的基本概念学习图的存储结构——本文主要介绍邻接矩阵和邻接表对每种结构进行深度优先遍历和广度优先遍历先识概念话不多说&#xff0c;狠活献上学习思想等等&…

C++ Stack栈学习

1. stack的介绍和使用1.1 stack的介绍1. stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入与提取操作。2. stack是作为容器适配器被实现的&#xff0c;容器适配器即是对特定类封装作为其底层的容器&…

sync map思考

sync map 作为解决 map 并发读写问题的补充&#xff0c;用法上其实不复杂&#xff0c;有些惋惜的是&#xff0c;不支持 len 统计数量的方法。map 并发读写算得上一个非常严重的问题&#xff0c;会导致服务宕机&#xff0c;为了避免 map 的并发读写&#xff0c;一种解决办法是直…

华为机试题:HJ108 求最小公倍数(python)

文章目录&#xff08;1&#xff09;题目描述&#xff08;2&#xff09;Python3实现&#xff08;3&#xff09;知识点详解1、input()&#xff1a;获取控制台&#xff08;任意形式&#xff09;的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…

软件工程知识-软件测试

1、软件测试是发现软件错误&#xff08;缺陷&#xff09;的主要手段&#xff1a; 从是否关系软件内部结构和具体实现的角度对软件测试进行分类 2.静态测试&#xff1a;以检查为主&#xff08;桌前检查、代码走查、代码审查&#xff09; 动态测试&#xff1a;实际运行程序&am…

Leetcode刷题一

目录序言树「结构」「遍历」「经验」「跨父节点」「题型」序言 笔记根据labuladong进行总结&#xff0c;极力推荐labuladong算法进行学习&#xff01;&#xff01; 树 0、算法一开始就应该刷树&#xff0c;了解递归的思想。 1、C语言中定义了一个结构体&#xff0c;然后申明…

通过指针引用数组的几种方法的原理和差异;以及利用指针引用数组元素的技巧

关于地址&#xff0c;指针&#xff0c;指针变量可以参考这篇文章&#xff1a; 地址&#xff0c;指针&#xff0c;指针变量是什么&#xff1f;他们的区别&#xff1f;符号&#xff08;*&#xff09;在不同位置的解释&#xff1f;_juechen333的博客-CSDN博客https://blog.csdn.n…

nginx http模块

模块依赖2. 模块的初始化2.1 location的定义location的定义包含以下几种location [ | ~ | ~* | ^~ ] uri { ... } location name { ... }:表示精确匹配&#xff0c;只有请求的url路径与后面的字符串完全相等时&#xff0c;才会命中&#xff0c;不支持location嵌套~&#xff1a…

有免费的PDF转Word吗?值得收藏的7个免费 PDF转Word工具请收好

PDF 和 DOC 是人们在工作中广泛使用的两种最流行的文档格式。PDF 是 Adobe 的便携式文档格式&#xff0c;DOC 是 Microsoft 的 Word 文档格式。PDF 是一种更安全可靠的文件格式&#xff0c;因为它很难编辑 PDF 文件&#xff0c;但是有一些称为 PDF 编辑器的工具可用于编辑 PDF …

【Linux】工具(4)——make/Makefile

本期博客我们的任务就是搞懂自动化构建工具——make/Makefile一、什么是make/Makefile&#x1f4cc;make是一个命令工具&#xff0c;是一个解释makefile中指令的命令工具&#xff0c;一般来说&#xff0c;大多数的IDE都有这个命令&#xff0c;比如&#xff1a;Delphi的make&…

设计模式之创建型模式

一、设计模式分类二、创建型模式1、单例模式1.1 饿汉式&#xff08;静态变量&#xff09;1.2 饿汉模式&#xff08;静态代码块&#xff09;1.3 懒汉式&#xff08;线程不安全&#xff09;1.4 懒汉式&#xff08;线程安全&#xff0c;同步方法&#xff09;1.5懒汉式&#xff08;…

PHP语言

一、PHP简介 什么是 PHP&#xff1f; PHP 是强有力的服务器端脚本语言 PHP 是免费的&#xff0c;并且使用广泛 PHP能够包含文本、HTML、CSS以及PHP代码&#xff0c;在服务器上执行&#xff0c;结果以纯文本返回浏览器。PHP是从C和Perl发展而来的一种非常简单的语言&#xff…

考研流程,可以进来转一转(考研你不知道的事情)(详细版)

之前有听过好多人说要考研&#xff0c;那么&#xff0c;考研的信息&#xff0c;如何获取呢&#xff0c;考研都有哪些流程呢。 初试开始到考试&#xff1a;↓ 1、了解考研信息。 2、确定自己要报考的专业。&#xff08;本专业or跨考&#xff09; 3、选择地区 4、选择要报考的学…

TAURI初体验

TAURI初体验 - 一个聊天机器人demo前言一、搭建Tauri apps二、引入库相关vue库三、 业务逻辑1.页面布局2. openai的初始化3. text-davinci-003模型4.gpt-3.5-turbo模型总结前言 一直使用Electron开发桌面应用&#xff0c;时间长了也就腻了。很早之前就关注了Tauri&#xff0c;趁…

尚硅谷SpringCloud Alibaba

1. Cloud Alibaba简介2.Nacos简介和下载3.Nacos安装4.Nacos之服务提供者注册5.Nacos之服务消费者注册和负载6.Nacos服务注册中心对比提升7.Nacos之服务配置中心8.Nacos之命名空间分组和DataID三者关系9.Nacos之DataID配置10.Nacos之Group分组方案11.Nacos之Namespace空间方案12…

基于支持向量机SVM的分类预测,基于SVM的雷击故障识别

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 SVM应用实例,基于SVM的雷击故障分类预测 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空…