本合集的是我当初调试 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 = [35 00 02 80 8B35 00 02 81 7835 00 02 82 8435 00 02 83 8835 00 02 84 A835 00 02 85 E335 00 02 86 8805 78 01 1105 1E 01 29];panel-exit-sequence = [05 00 01 2805 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>;};};};};


触摸配置
调试过程问题 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】。
全部0条评论
快来发表一下你的评论吧 !