BSP调试#05:MIPI DSI(RK3588)

描述

   

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

DSI

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

硬件设计

DSI

软件配置

显示配置

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
&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 = [                        35 00 02 80 8B                        35 00 02 81 78                        35 00 02 82 84                        35 00 02 83 88                        35 00 02 84 A8                        35 00 02 85 E3                        35 00 02 86 88                        05 78 01 11                        05 1E 01 29                     ];                panel-exit-sequence = [                        05 00 01 28                        05 00 01 10                ];                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>;                        };                };        };};
DSIDSI

触摸配置

DSI调试过程

问题 1:驱动 probe 失败

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

DSI

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

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

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

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

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

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

DSI

功能验证

接屏幕测试就行。

(完)


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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分