RK3568 LVDS G121EAN01.3屏幕及触摸ILI2511 调试

news2024/11/17 9:42:47

  • 1: 屏幕的规格书

  • 2:RK3568中DTS的配置

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2020 Rockchip Electronics Co., Ltd.
 https://www.cnblogs.com/chenfulin5/p/12918924.html
 https://blog.csdn.net/qq_28515331/article/details/90763875?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-6-90763875-blog-125692889.pc_relevant_aa2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-6-90763875-blog-125692889.pc_relevant_aa2&utm_relevant_index=12
 https://blog.csdn.net/u011784994/article/details/102476182
 MEDIA_BUS_FMT_RGB666_1X7X3_JEIDA
 
 
lvds_timing0: lvds-timing0 {
    clock-frequency = <75000000>;
    hactive = <1280>; 
    vactive = <800>; 

    hsync-active = <0>;
    hback-porch = <100>;
    hfront-porch = <100>;    
    
    vsync-len = <3>;
    vback-porch = <15>;    
    vfront-porch = <20>;    
    
    hsync-len = <2>;    
    
    vsync-active = <0>;
    
    de-active = <0>;
    pixelclk-active = <0>;    
    
};
 */

#include <dt-bindings/display/media-bus-format.h>
/ {
    lvds_panel: panel  {
        compatible = "simple-panel";
        backlight = <&backlight>;
        power-supply = <&vcc3v3_lcd0_n>;
        enable-delay-ms = <20>;
        prepare-delay-ms = <20>;
        unprepare-delay-ms = <20>;
        disable-delay-ms = <20>;
        bus-format = <MEDIA_BUS_FMT_RGB888_1X7X4_SPWG>;
        width-mm = <261>; //ÎïÀí¿í¶È
        height-mm = <163>;//ÎïÀí¸ß¶È
        display-timings {
            native-mode = <&lvds_timing0>; HS+HBP+HFP =38£¬ VS+VBP+VFP=200
            lvds_timing0: lvds-timing0{
            clock-frequency = <74000000>;
            hactive = <1280>;
            vactive = <800>;
            hback-porch = <80>;
            hfront-porch = <48>;
            vback-porch = <22>;
            vfront-porch = <3>;
            hsync-len = <32>;
            vsync-len = <6>;
            hsync-active = <1>;
            vsync-active = <0>;
            de-active = <0>;
            pixelclk-active = <0>;
        };
        };

        ports {
            #address-cells = <1>;
            #size-cells = <0>;

            port@0 {
                reg = <0>;
                #dual-lvds-even-pixels;
                panel_in_lvds: endpoint {
                    remote-endpoint = <&lvds_out_panel>;
                };
            };
        };
    };
};

&dsi0 {
    status = "disabled";
};

&dsi0_in_vp0 {
    status = "disabled";
};

&dsi0_in_vp1 {
    status = "disabled";
};

&video_phy0 {
    status = "okay";
};

&lvds {
    status = "okay";

    ports {
        port@1 {
            reg = <1>;

            lvds_out_panel: endpoint {
                remote-endpoint = <&panel_in_lvds>;
            };
        };
    };
};

&lvds {
    status = "okay";
};
&lvds_panel{
    status = "okay";
};
&lvds_in_vp1 {
    status = "disabled";
};

&backlight {
    status = "okay";
};
&lvds_in_vp2 {
    status = "okay";
};
&video_phy0{
    status="okay";
};
&route_lvds {
    status = "okay";
    connect = <&vp2_out_lvds>;
};

注意上面DTS中:

&lvds_in_vp1 {

status = "disabled";

};

&lvds_in_vp2 {

status = "okay";

};

如果使能的是

&lvds_in_vp1 {

status = "okay";

};

时,驱动中信息如下:使用的是Video Port1:

如果使能的是

&lvds_in_vp2 {

status = "okay";

};

时,驱动中信息如下:使用的是Video Port2:

  • 3:驱动程序

也需要驱动 compatible = "simple-panel";

  • 4:触摸芯片

http://211.72.159.212/AP/Service/TPDriver.nsf/Homepage_CC_2019.xsp?Category=Drivers&OS=Linux 解压密码为: Ili888

屏幕中已经集成了USB接口,故使用的是USB驱动程序,其中触摸芯片是:ILI2511

在Linux下面驱动模块几乎是默认选择的:hid multitouch驱动

  • 5:Linux下驱动日志

2|rk3568_r:/dev # cd input/
rk3568_r:/dev/input # ls
event0  event1  event2  event3  event4
rk3568_r:/dev/input # ls -al
total 0
drwxr-xr-x  2 root  root       140 2023-01-12 10:03 .
drwxr-xr-x 22 root  root      2060 2023-01-12 10:03 ..
crw-rw-rw-  1 input system 13,  64 2023-01-12 10:03 event0
crw-rw-rw-  1 input system 13,  65 2023-01-12 10:03 event1
crw-rw-rw-  1 input system 13,  66 2023-01-12 10:03 event2
crw-rw-rw-  1 input system 13,  67 2023-01-12 10:03 event3
crw-rw-rw-  1 input system 13,  68 2023-01-12 10:03 event4
rk3568_r:/dev/input # gete
getenforce  getevent
rk3568_r:/dev/input # getevent -ltr /dev/input/e
event0  event1  event2  event3  event4
rk3568_r:/dev/input # getevent -ltr /dev/input/event2
[   22416.313067] EV_ABS       ABS_MT_TRACKING_ID   00000006
[   22416.313067] EV_ABS       ABS_MT_POSITION_X    00001e05
[   22416.313067] EV_ABS       ABS_MT_POSITION_Y    00001bc3
[   22416.313067] EV_KEY       BTN_TOUCH            DOWN
[   22416.313067] EV_ABS       ABS_X                00001e05
[   22416.313067] EV_ABS       ABS_Y                00001bc3
[   22416.313067] EV_MSC       MSC_TIMESTAMP        00000000
[   22416.313067] EV_SYN       SYN_REPORT           00000000
[   22416.337066] EV_MSC       MSC_TIMESTAMP        00001f40
[   22416.337066] EV_SYN       SYN_REPORT           00000000             rate 41
[   22416.361062] EV_MSC       MSC_TIMESTAMP        00003e80
[   22416.361062] EV_SYN       SYN_REPORT           00000000             rate 41
[   22416.385060] EV_MSC       MSC_TIMESTAMP        00005dc0
[   22416.385060] EV_SYN       SYN_REPORT           00000000             rate 41
[   22416.420074] EV_MSC       MSC_TIMESTAMP        00007d00
[   22416.420074] EV_SYN       SYN_REPORT           00000000             rate 28
[   22416.444067] EV_ABS       ABS_MT_POSITION_Y    00001bca
[   22416.444067] EV_ABS       ABS_Y                00001bca
[   22416.444067] EV_MSC       MSC_TIMESTAMP        00009c40
[   22416.444067] EV_SYN       SYN_REPORT           00000000             rate 41
[   22416.468064] EV_ABS       ABS_MT_POSITION_X    00001e09
[   22416.468064] EV_ABS       ABS_MT_POSITION_Y    00001bd0
[   22416.468064] EV_ABS       ABS_X                00001e09
[   22416.468064] EV_ABS       ABS_Y                00001bd0
[   22416.468064] EV_MSC       MSC_TIMESTAMP        0000bb80
[   22416.468064] EV_SYN       SYN_REPORT           00000000             rate 41
[   22416.492068] EV_ABS       ABS_MT_POSITION_X    00001e10
[   22416.492068] EV_ABS       ABS_MT_POSITION_Y    00001bda
[   22416.492068] EV_ABS       ABS_X                00001e10
[   22416.492068] EV_ABS       ABS_Y                00001bda
[   22416.492068] EV_MSC       MSC_TIMESTAMP        0000dac0
[   22416.492068] EV_SYN       SYN_REPORT           00000000             rate 41
[   22416.528070] EV_ABS       ABS_MT_POSITION_X    00001e21
[   22416.528070] EV_ABS       ABS_MT_POSITION_Y    00001be8
[   22416.528070] EV_ABS       ABS_X                00001e21
[   22416.528070] EV_ABS       ABS_Y                00001be8
[   22416.528070] EV_MSC       MSC_TIMESTAMP        0000fa00
[   22416.528070] EV_SYN       SYN_REPORT           00000000             rate 27
[   22416.552118] EV_ABS       ABS_MT_POSITION_X    00001e39
[   22416.552118] EV_ABS       ABS_MT_POSITION_Y    00001bf5
[   22416.552118] EV_ABS       ABS_X                00001e39
[   22416.552118] EV_ABS       ABS_Y                00001bf5
[   22416.552118] EV_MSC       MSC_TIMESTAMP        00011940
[   22416.552118] EV_SYN       SYN_REPORT           00000000             rate 41
[   22416.576081] EV_ABS       ABS_MT_POSITION_X    00001e59
[   22416.576081] EV_ABS       ABS_MT_POSITION_Y    00001c02
[   22416.576081] EV_ABS       ABS_X                00001e59
[   22416.576081] EV_ABS       ABS_Y                00001c02
[   22416.576081] EV_MSC       MSC_TIMESTAMP        00013880
[   22416.576081] EV_SYN       SYN_REPORT           00000000             rate 41
[   22416.600068] EV_ABS       ABS_MT_POSITION_X    00001e7b
rk3568_r:/sys/class/input # cd input2/
rk3568_r:/sys/class/input/input2 # ls
capabilities  device  event2  id  modalias  name  phys  power  properties  subsystem  uevent  uniq
rk3568_r:/sys/class/input/input2 # ls -al
total 0
drwxr-xr-x 6 root root    0 2023-01-12 10:03 .
drwxr-xr-x 3 root root    0 2023-01-12 10:03 ..
drwxr-xr-x 2 root root    0 2023-01-12 10:03 capabilities
lrwxrwxrwx 1 root root    0 2023-01-12 10:13 device -> ../../../0003:222A:0001.0001
drwxr-xr-x 3 root root    0 2023-01-12 10:03 event2
drwxr-xr-x 2 root root    0 2023-01-12 10:03 id
-r--r--r-- 1 root root 4096 2023-01-12 10:13 modalias
-r--r--r-- 1 root root 4096 2023-01-12 10:13 name
-r--r--r-- 1 root root 4096 2023-01-12 10:13 phys
drwxr-xr-x 2 root root    0 2023-01-12 10:03 power
-r--r--r-- 1 root root 4096 2023-01-12 10:13 properties
lrwxrwxrwx 1 root root    0 2023-01-12 10:13 subsystem -> ../../../../../../../../../class/input
-rw-r--r-- 1 root root 4096 2023-01-12 10:03 uevent
-r--r--r-- 1 root root 4096 2023-01-12 10:13 uniq
rk3568_r:/sys/class/input/input2 # cat id/
cat: id/: Is a directory
1|rk3568_r:/sys/class/input/input2 # cat name
ILITEK ILITEK-TP
rk3568_r:/sys/class/input/input2 # cat p
phys        power/      properties
rk3568_r:/sys/class/input/input2 # cat phys
usb-fd840000.usb-1/input0
rk3568_r:/sys/class/input/input2 # cat modalias
input:b0003v222Ap0001e0110-e0,1,3,4,k14A,ra0,1,2F,35,36,39,m5,lsfw
rk3568_r:/sys/class/input/input2 # cat capabilities/
abs  ev   ff   key  led  msc  rel  snd  sw
rk3568_r:/sys/class/input/input2 # cat capabilities/
abs  ev   ff   key  led  msc  rel  snd  sw
rk3568_r:/sys/class/input/input2 # cat capabilities/sw
0
rk3568_r:/sys/class/input/input2 # cat u
uevent  uniq
rk3568_r:/sys/class/input/input2 # cat uevent
PRODUCT=3/222a/1/110
NAME="ILITEK ILITEK-TP"
PHYS="usb-fd840000.usb-1/input0"
UNIQ=""
PROP=2
EV=1b
KEY=400 0 0 0 0 0
ABS=260800000000003
MSC=20
MODALIAS=input:b0003v222Ap0001e0110-e0,1,3,4,k14A,ra0,1,2F,35,36,39,m5,lsfw
rk3568_r:/sys/class/input/input2 #

T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=222a ProdID=0001 Rev= 0.02
S:  Manufacturer=ILITEK
S:  Product=ILITEK-TP
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=400mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
E:  Ad=02(O) Atr=03(Int.) MxPS=  64 Ivl=1ms
  • 6:原理图

注意

LCD0_PWREN_H_GPIO0_C7 IO用来给LCD上电用的

LCD0_BL_PWM4 用来连接及控制LCD的背光

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

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

相关文章

[架构之路-93]:《软件架构设计:程序员向架构师转型必备》-3-软件架构设计中的视图View

前言&#xff1a;同一个软件系统&#xff0c;从不同的视角View&#xff0c;得到不同的视觉和感受。所有的视角得到的视觉感受综合而成了整个系统的架构。有些视角是用眼睛看&#xff0c;有些视角是耳朵听&#xff0c;有些视角用探测器探。不同的人&#xff0c;视角不同&#xf…

【算法】冒泡排序算法原理及实现

1.什么是冒泡排序 冒泡排序&#xff08;Bubble Sort&#xff09;&#xff0c;它是一种最为基础的交换排序。之所以叫冒泡排序&#xff0c;是因为这一种排序算法的每一个元素可以根据自身的大小&#xff0c;一点点的向着一侧来移动。每一轮都会找到一个最大的数字冒泡到数组数组…

一文探索预训练的奥秘

2022年下半年开始&#xff0c;涌现出一大批大模型的应用&#xff0c;其中比较出圈的当属AI作画与ChatGPT&#xff0c;刷爆了各类社交平台&#xff0c;其让人惊艳的效果&#xff0c;让AI以一个鲜明的姿态**&#xff0c;站到了广大民众面前&#xff0c;让不懂AI的人也能直观地体会…

一刷代码随想录——哈希表

1 理论基础常见的三种哈希结构当我们想使用哈希法来解决问题的时候&#xff0c;我们一般会选择如下三种数据结构。数组set &#xff08;集合&#xff09;map(映射)这里数组就没啥可说的了&#xff0c;我们来看一下set。在C中&#xff0c;set 和 map 分别提供以下三种数据结构&a…

Node.js+Vue.js全栈开发王者荣耀手机端官网和管理后台(三) | 前台页面part

文章目录工具样式概念和SASS样式重置网站色彩和字体定义&#xff08;colors text&#xff09;通用flex布局样式定义常用边距定义&#xff08;margin padding&#xff09;主页框架和顶部菜单首页顶部轮播图片&#xff08;vue swiper&#xff09;使用精灵图片&#xff08;sprite&…

【ThreeJs 初学习】基本API的使用方式

基本API的使用方式 根据官网的文档整理出一份API文档, 地址是&#xff1a;ThreeJs 官网文档&#xff0c;其目的还是为了方便查阅 下列代码源码地址 // 此处表示导入three import * as THREE from three;// 1. 创建一个场景 const scene new THREE.Scene();// 2. 创建一个相机…

文献阅读:Language Models are Unsupervised Multitask Learners

文献阅读&#xff1a;Language Models are Unsupervised Multitask Learners 1. 内容介绍2. 模型介绍3. 实验结果 1. 语言模型2. QA & 常识推断3. 生成任务 4. 总结 & 思考 文献链接&#xff1a;https://cdn.openai.com/better-language-models/language_models_are_u…

python-布隆过滤器

在学习redis过程中提到一个缓存穿透的问题&#xff0c; 书中参考的解决方案之一是使用布隆过滤器&#xff0c; 那么就有必要来了解一下什么是布隆过滤器。在参考了许多博客之后&#xff0c; 写个总结记录一下。 一、布隆过滤器简介 什么是布隆过滤器&#xff1f; 本质上布隆…

橘子学docker01之基本玩法

docker docker镜像集成了最核心需要得环境&#xff0c;所以占空间小&#xff0c;运行快&#xff0c;启动秒级。 docker的几个概念&#xff1a; 注册中心&#xff1a;相当于超级码头&#xff0c;上面放的就是集装箱。 镜像&#xff08;image&#xff09;&#xff1a;集装箱,好比…

Spring Boot学习之Dubbo+Zookeeper初识

文章目录一 分布式理论基础知识1.1 单一应用架构1.2 垂直应用架构1.3 分布式服务架构1.4 流动计算架构1.5 PRC[Remote Procedure Call]二 Dubbo2.1 Dubbo简介三 Dubbo环境搭建3.1 Zookeeper简介3.2 Zookeeper下载与安装3.3 解决问题3.3.1 错误一的分析和解决3.3.2 错误二的分析…

JavaEE day8 初识HTTP

HTTP协议 HTTP协议&#xff0c;又称超文本传输协议&#xff0c;是一种应用广泛的应用层协议。所谓超文本&#xff0c;其实就是除了文本还能传输其他资源。而HTTP本身是基于传输层的TCP协议实现的。目前HTTP协议3版本已经在完善中。本文采用1.1版本。 它是一种请求--响应的工作…

MyBatis 持久层框架详细解读:Mapper代理开发

文章目录1. 前言2. Mapper 代理开发3. 过程剖析4. 总结1. 前言 前面在 MyBatis 快速入门篇中&#xff0c;我们使用了 MyBatis 原生的开发方式操作数据库&#xff0c;解决了 JDBC 操作数据库时的硬编码和操作繁琐的问题。实际上&#xff0c;在 Java 项目中&#xff0c;我们更常…

MVC和MVVM的区别

一、MVC mvc&#xff1a;是一种代码架构设计模式&#xff0c;前端中的mvc最主要的作用就是将视图和数据模型进行分离 &#xff08;1&#xff09; 为什么需要 MVC 简单理解&#xff1a;也就是为什么需要将视图和数据模型进行分离 <select id"drinkSelect">&…

宕机后,如何避免 Redis 的数据丢失?

前言 如果有人问你&#xff1a;"你会把 Redis 用在什么业务场景下&#xff1f;" 我想你大概率会说&#xff1a;"我会把它当作缓存使用&#xff0c;因为它把后端数据库中的数据存储在内存中&#xff0c;然后直接从内存中读取数据&#xff0c;响应速度会非常快。…

Lua 文件I/O

Lua 文件I/O 参考至菜鸟教程。 Lua I/O 库用于读取和处理文件。分为简单模式&#xff08;和C一样&#xff09;、完全模式。 简单模式&#xff08;simple model&#xff09;拥有一个当前输入文件和一个当前输出文件&#xff0c;并且提供针对这些文件相关的操作。完全模式&#…

C++Primer13.6.2节练习

练习13.49&#xff1a; StrVec类的移动构造函数和移动赋值运算符 //移动构造函数 StrVec::StrVec(StrVec&& s)noexcept :elements(s.elements), first_free(s.first_free), cap(s.cap) {//令移后源对象进入状态-----对其运行析构函数是安全的s.elements s.first_fre…

关于网络编程

Socket套接字Socket API是网络编程最核心的部分。Socket套接字是由系统提供用于网络通信的技术&#xff0c;是基于TCP/IP协议的网络通信的基本操作单元。基于Socket套接字的网络程序开发就是网络编程。Socket API与传输层密切相关&#xff0c;由于传输层有UDP和TCP两种协议类型…

使用Idea中将单个java类打包成jar包

开工第一天&#xff0c;正在暗自爽&#xff0c;领导让帮个忙&#xff0c;给一个工具类打成jar包&#xff0c;供其他项目组使用&#xff0c;这就开始了尝试。 其实网上已经有好多人写过了&#xff0c;只是尝试了几篇&#xff0c;坑得不轻&#xff0c;自己做下笔记&#xff0c;留…

表格控件Aspose.Cells for .NET 授权须知

支持的平台 Aspose.Cells 可作为 .NET、Java、C 和 Python 的四种不同产品使用&#xff0c; .NET Framework.NET Standard 2.0Xamarin.AndroidXamarin.iOSXamarin.MacCOMMonoWindows Azure Aspose.Cells 下载&#xff08;qun&#xff1a;761297826&#xff09;https://www.ev…

python 高阶函数

传入函数 要理解“函数本身也可以作为参数传入”&#xff0c;可以从Python内建的map/reduce函数入手。 我们先看map。map()函数接收两个参数&#xff0c;一个是函数&#xff0c;一个是序列&#xff0c;map将传入的函数依次作用到序列的每个元素&#xff0c;并把结果作为新的l…