BSP调试#05:MIPI DSI(RK3588)
作者: 发布时间:2026-05-13 14:44:30 浏览量:
本合集的是我当初调试 RK3588 平台时的原始笔记——只保留了那些踩过坑的问题接口,没出过问题的内容全删掉了。文章框架如下:
其中,“调试过程”章节可能有点意思(记录了我踩过的坑),其他章节无关紧要。
硬件设计
软件配置
显示配置
&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= [350002808B35000281783500028284350002838835000284A835000285E3350002868805780111051E0129];panel-exit-sequence= [0500012805000110];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>;};};};};

触摸配置
调试过程
问题 1:驱动 probe 失败
【问题描述】:触摸驱动加载报错,probe 探测失败。
【问题分析】:从log 可以看出,设备树缺少max-x/max-y参数导致驱动 probe 失败。
【问题解决】:在设备树文件中增加max-x、max-y 与tp-size 节点后,驱动 probe 成功,问题解决!
问题 2:触摸坐标 X/Y 轴反了
【问题描述】:触摸屏幕发现,X/Y 坐标正好相反。
【问题分析】:没啥好分析,啃驱动!
【问题解决】:修改驱动源码(gt9xx.c),将 X/Y 轴坐标互换。
功能验证
接屏幕测试就行。
(完)
本人专注 Linux 驱动 & Linux/Android BSP 开发调试,可接外包项目/技术支持/问题定位。有需求或交个朋友可加微信:【Chen_WeChat2025】。