Banana Pi BPI-W3 ArmSoM-W3之RK3588-MIPI-DSI屏幕调试笔记

2023-10-25 14:44

本文主要是介绍Banana Pi BPI-W3 ArmSoM-W3之RK3588-MIPI-DSI屏幕调试笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一. 简介

  • 本文是基于RK3588平台,MIPI屏调试总结。

二. 环境介绍

  • 硬件环境: ArmSoM-W3 RK3588开发板、MIPI-DSI显示屏( ArmSoM官方配件 )
  • 软件版本: OS:ArmSoM-W3 Debian11

三. MIPI屏幕调试

3.1 调试总览,调试步骤分析

  • 步骤 ① 先将背光点亮
  • 步骤 ② 根据屏幕的规格书配置dsi1_panel节点
  • 步骤 ③ 打开对应的dsi节点,开机logo
  • 步骤 ④ 编译烧写,调试屏幕

3.2 DTS配置

#include "rk3588-evb.dtsi"   //引用了dsi1_panel 节点

3.2.1 步骤 ① 背光配置:

dsi1_backlight: dsi1-backlight {status = "okay";compatible = "pwm-backlight";pwms = <&pwm2 0 25000 0>;brightness-levels = <0  20  20  21  21  22  22  2323  24  24  25  25  26  26  2727  28  28  29  29  30  30  3131  32  32  33  33  34  34  3535  36  36  37  37  38  38  3940  41  42  43  44  45  46  4748  49  50  51  52  53  54  5556  57  58  59  60  61  62  6364  65  66  67  68  69  70  7172  73  74  75  76  77  78  7980  81  82  83  84  85  86  8788  89  90  91  92  93  94  9596  97  98  99 100 101 102 103104 105 106 107 108 109 110 111112 113 114 115 116 117 118 119120 121 122 123 124 125 126 127128 129 130 131 132 133 134 135136 137 138 139 140 141 142 143144 145 146 147 148 149 150 151152 153 154 155 156 157 158 159160 161 162 163 164 165 166 167168 169 170 171 172 173 174 175176 177 178 179 180 181 182 183184 185 186 187 188 189 190 191192 193 194 195 196 197 198 199200 201 202 203 204 205 206 207208 209 210 211 212 213 214 215216 217 218 219 220 221 222 223224 225 226 227 228 229 230 231232 233 234 235 236 237 238 239240 241 242 243 244 245 246 247248 249 250 251 252 253 254 255>;default-brightness-level = <200>;enable-gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;pinctrl-names = "default";pinctrl-0 = <&dsi1_backlight_en>;};

3.2.2 步骤 ② 根据datasheet配置屏幕节点:

  • 屏幕上电初始化时序的配置教程见 RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI之LCD上电初始化时序
  • 屏幕的时序参数配置教程见 RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI之屏参配置
  • 屏幕dts配置如下:
  • 屏幕dts配置如下:
  • &dsi1_panel { power-supply = <&vcc_lcd_mipi1>; //使用gpio模拟regulator reset-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_LOW>; backlight = <&dsi1_backlight>; pinctrl-names = "default"; pinctrl-0 = <&dsi1_lcd_rst_gpio>; panel-init-sequence = [ 13 00 02 B0 01 13 00 02 C0 26 13 00 02 C1 10 13 00 02 C2 0E 13 00 02 C3 00 13 00 02 C4 00 13 00 02 C5 23 13 00 02 C6 11 13 00 02 C7 22 13 00 02 C8 20 13 00 02 C9 1E 13 00 02 CA 1C 13 00 02 CB 0C 13 00 02 CC 0A 13 00 02 CD 08 13 00 02 CE 06 13 00 02 CF 18 13 00 02 D0 02 13 00 02 D1 00 13 00 02 D2 00 13 00 02 D3 00 13 00 02 D4 26 13 00 02 D5 0F 13 00 02 D6 0D 13 00 02 D7 00 13 00 02 D8 00 13 00 02 D9 23 13 00 02 DA 11 13 00 02 DB 21 13 00 02 DC 1F 13 00 02 DD 1D 13 00 02 DE 1B 13 00 02 DF 0B 13 00 02 E0 09 13 00 02 E1 07 13 00 02 E2 05 13 00 02 E3 17 13 00 02 E4 01 13 00 02 E5 00 13 00 02 E6 00 13 00 02 E7 00 13 00 02 B0 03 13 00 02 BE 04 13 00 02 B9 40 13 00 02 CC 88 13 00 02 C8 0C 13 00 02 C9 07 13 00 02 CD 01 13 00 02 CA 40 13 00 02 CE 1A 13 00 02 CF 60 13 00 02 D2 08 13 00 02 D3 08 13 00 02 DB 01 13 00 02 D9 06 13 00 02 D4 00 13 00 02 D5 01 13 00 02 D6 04 13 00 02 D7 03 13 00 02 C2 00 13 00 02 C3 0E 13 00 02 C4 00 13 00 02 C5 0E 13 00 02 DD 00 13 00 02 DE 0E 13 00 02 E6 00 13 00 02 E7 0E 13 00 02 C2 00 13 00 02 C3 0E 13 00 02 C4 00 13 00 02 C5 0E 13 00 02 DD 00 13 00 02 DE 0E 13 00 02 E6 00 13 00 02 E7 0E 13 00 02 B0 06 13 00 02 C0 A5 13 00 02 D5 1C 13 00 02 C0 00 13 00 02 B0 00 13 00 02 BD 30 13 00 02 F9 5C 13 00 02 C2 14 13 00 02 C4 14 13 00 02 BF 15 13 00 02 C0 0C 13 00 02 B0 00 13 00 02 B1 79 13 00 02 BA 8F 05 C8 01 11 05 32 01 29 ]; panel-exit-sequence = [ 05 00 01 28 05 00 01 10 ]; disp_timings1: display-timings { native-mode = <&dsi1_timing0>; dsi1_timing0: timing0 { clock-frequency = <159400000>; //根据屏幕的时序参数表配置 hactive = <1200>; vactive = <1920>; hfront-porch = <80>; hsync-len = <1>; hback-porch = <60>; vfront-porch = <35>; vsync-len = <1>; vback-porch = <25>; hsync-active = <0>; vsync-active = <0>; de-active = <0>; pixelclk-active = <1>; }; }; };

3.2.3 步骤 ③ 打开对应的dsi节点,开机logo

```
//打开背光的pwm节点
&pwm2 {status = "okay";pinctrl-names = "active";pinctrl-0 = <&pwm2m2_pins>;
};//在dsi1上接了一个mipi屏,这个配置开启dsi1&dsi1 {status = "okay";
};&mipi_dcphy1 {status = "okay";
};//默认dsi配置vp2和vp3上面,这里配置为dsi使用vp3,可以根据屏的分辨率来确认使用vp2还是vp3,vp2支持4K,vp3只支持 2048x1536
&dsi1_in_vp2 {status = "disabled";
};&dsi1_in_vp3 {status = "okay";
};//配置dsi1显示开机logo
&route_dsi1 {status = "okay";connect = <&vp3_out_dsi1>;
};
```

3.3 调试命令

查看显示信息命令:

cat /sys/kernel/debug/dri/0/summary

这篇关于Banana Pi BPI-W3 ArmSoM-W3之RK3588-MIPI-DSI屏幕调试笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/283270

相关文章

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

使用C/C++调用libcurl调试消息的方式

《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

vscode中文乱码问题,注释,终端,调试乱码一劳永逸版

忘记咋回事突然出现了乱码问题,很多方法都试了,注释乱码解决了,终端又乱码,调试窗口也乱码,最后经过本人不懈努力,终于全部解决了,现在分享给大家我的方法。 乱码的原因是各个地方用的编码格式不统一,所以把他们设成统一的utf8. 1.电脑的编码格式 开始-设置-时间和语言-语言和区域 管理语言设置-更改系统区域设置-勾选Bata版:使用utf8-确定-然后按指示重启 2.vscode