网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

BSP调试#05:MIPI DSI(RK3588)

时间:2026-04-17 11:54

人气:

作者:admin

标签:

导读:   本合集的是我当初调试 RK3588 平台时的 原始笔记 ——只保留了那些踩过坑的问题接口,没出过问题的内容全删掉了。文章框架如下: 其中, “调试过程” 章节可能有点意思(记录...

本合集的是我当初调试 RK3588 平台时的原始笔记——只保留了那些踩过坑的问题接口,没出过问题的内容全删掉了。文章框架如下:

wKgZPGng4gKATcmoAABzsIrFu8s708.png

其中,“调试过程”章节可能有点意思(记录了我踩过的坑),其他章节无关紧要。

硬件设计

wKgZPGng4gKAJU62AAKHdHM1Z2g666.png

软件配置

显示配置

&dsi0 {    status ="okay";    //rockchip,lane-rate= <1000>;    dsi0_panel: panel@0{        status ="okay";//       pinctrl-names="default";//       pinctrl-0= <&mipi0_enable_gpio>;        compatible ="simple-panel-dsi";        reg = <0>;        backlight = <&backlight_dsi0>;       reset-delay-ms= <10>;       enable-delay-ms= <10>;        prepare-delay-ms= <10>;        unprepare-delay-ms= <10>;       disable-delay-ms= <60>;        dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |            MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET)>;        dsi,format = ;        dsi,lanes = <4>;        //enable-gpios= <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>;       reset-gpios= <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;        panel-init-sequence= [           350002808B           3500028178           3500028284           3500028388           35000284A8           35000285E3           3500028688           05780111           051E0129          ];        panel-exit-sequence= [           05000128           05000110        ];        panel0_disp_timings0: display-timings{            native-mode= <&panel0_7_1024x600>;            panel0_7_1024x600: timings {                hback-porch  = <48>;                hfront-porch  = <40>;                hactive     = <1024>;               hsync-len   = <48>;                vback-porch  = <48>;                vfront-porch  = <40>;                vactive     = <600>;                vsync-len   = <4>;                clock-frequency= <45000000>;                vsync-active  = <0>;               hsync-active  = <0>;                de-active   = <0>;                pixelclk-active= <0>;            };        };        ports {           #address-cells = <1>;           #size-cells = <0>;            port@0{                reg = <0>;                panel_in_dsi0: endpoint {                    remote-endpoint= <&dsi0_out_panel>;                };            };        };    };    ports {       #address-cells = <1>;       #size-cells = <0>;        port@1{            reg = <1>;            dsi0_out_panel: endpoint {                remote-endpoint= <&panel_in_dsi0>;            };        };    };};
wKgZPGng4gKAGjNrAAAg0KXh6qE893.pngwKgZPGng4gKARbvdAABtb5pf-oY421.png

触摸配置

wKgZPGng4gKAd2NwAAFKi0Ya08g751.png调试过程

问题 1:驱动 probe 失败

【问题描述】:触摸驱动加载报错,probe 探测失败。

wKgZPGng4gKABUxbAAAVmVF7dzQ148.png

【问题分析】:从log 可以看出,设备树缺少max-x/max-y参数导致驱动 probe 失败。

【问题解决】:在设备树文件中增加max-x、max-y 与tp-size 节点后,驱动 probe 成功,问题解决!

问题 2:触摸坐标 X/Y 轴反了

【问题描述】:触摸屏幕发现,X/Y 坐标正好相反。

【问题分析】:没啥好分析,啃驱动!

【问题解决】:修改驱动源码(gt9xx.c),将 X/Y 轴坐标互换。

wKgZPGng4gKAbFMkAAD_mFe449E149.png

功能验证

接屏幕测试就行。

(完)


本人专注 Linux 驱动 & Linux/Android BSP 开发调试,可接外包项目/技术支持/问题定位。有需求或交个朋友可加微信:【Chen_WeChat2025】。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信