91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RK3588 MIPI轉LVDS屏幕調試全流程(附完整Patch)

jf_44130326 ? 來源:Linux1024 ? 2026-02-05 13:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式Linux項目中,MIPI轉LVDS屏幕因兼容性強、適配靈活,常被用于盒子、工業(yè)設備等場景。但調試時難免遇到“屏幕不亮”“分辨率錯亂”“驅動bind失敗”等問題,尤其涉及轉換IC(如TC358775XBG)時,軟硬件協(xié)同排查更需精準。本文結合實際項目案例,梳理從問題定位到功能驗證的標準化步驟,并附上完整調試Patch,幫你快速突破瓶頸。

wKgZO2kajESAR9NCAAX3bnwiYx0256.pngwKgZO2kajESAOGqTAAEffy1fFb4685.png

一、問題初始化:先搞懂“哪里錯了”

調試的核心是“先定位,再動手”,盲目改配置只會浪費時間。

1.日志抓包鎖定方向

屏幕未點亮時,優(yōu)先查看DSI相關內核日志,執(zhí)行:

dmesg |grepdsi # 查看DSI通道初始化報錯dmesg |greppwm # 排查背光驅動問題

常見報錯對應問題

?“route-dsi1: failed to get logo”:dsi1通道配置缺失或硬件鏈路異常

?“pwm8: probe failed”:PWM背光引腳復用或節(jié)點未啟用

?“TC358775: command_interface is busy”:轉換IC上電時序錯誤

2.必收“基礎檔案”

調試前需同步以下文件,避免無依據(jù)修改:

?開機日志(systemlog.txt):含驅動加載、硬件初始化過程

?設備樹(rk3588-evb.dtsi/rk3588-evb7-v11.dtsi):本次調試核心修改文件

?硬件文檔:原理圖(確認DSI通道、PWM引腳)、屏幕手冊(1920x1080@60Hz時序)

?關鍵調試命令輸出:

# 查看顯示端口狀態(tài)(確認Video Port激活情況)cat/sys/kernel/debug/dri/0/summary# 查看時鐘狀態(tài)(驗證DSI/PWM時鐘是否正常)cat/sys/kernel/debug/clk/clk_summary | grep -E"dsi|pwm"

二、硬件鏈路確認:排除“物理層”問題

MIPI轉LVDS的核心鏈路是“DSI信號→轉換IC→LVDS屏幕”,硬件問題需優(yōu)先排除。

1.核心組件信息確認(對應Patch硬件適配)

根據(jù)硬件設計,本次調試涉及:

?轉換IC:TC358775XBG(需控制上電時序)

?DSI通道:dsi1(硬件連接dsi1,禁用dsi0避免沖突)

?PWM背光:PWM8引腳(GPIO2_RK_PB1控制轉換IC使能)

?供電:新增vcc3v3_lcd regulator給屏幕供電

2.硬件功能驗證

?用萬用表測轉換IC供電引腳(如VDD3.3V),確認上電正常;

?檢查引腳復用:確保PWM8、dsi1引腳未被UART/GPIO占用(參考原理圖);

?背光測試:短接PWM8與地,觀察屏幕背光是否亮起(排除背光硬件問題)。

三、設備樹(DTS)配置:核心修改看這5處(附Patch代碼)

DTS是軟硬件的“橋梁”,本次Patch中80%的問題通過DTS修改解決,關鍵變更如下:

1.禁用沖突通道,啟用目標DSI

修改文件:kernel/arch/arm64/boot/dts/rockchip/rk3588-evb.dtsi

// 禁用dsi0(避免通道沖突)&dsi0 {-  tus ="okay";+  tus ="disabled"; si0_panel:panel@0{  atus ="disabled"; // 同步禁用dsi0面板 };// 啟用dsi1并配置關鍵參數(shù)&dsi1 {  tus ="okay";-   ckchip,lane-rate = <1100>;/*1920*1080*/+  ckchip,lane-rate = <960>;   整為900Mbps(匹配屏幕時序)   able-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>; // 轉換IC使能引腳  1_panel:panel@0{   tus ="okay"; // 啟用dsi1面板  si,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST|MIPI_DSI_MODE_LPM)>;   format = ; // RGB888格式  i,lanes = <4>; // 4 lane傳輸   時序參數(shù)(匹配屏幕手冊1920x1080@60Hz)    timings1: display-timings {   1_timing0: timing0 {    k-frequency = <148500000>; // 像素時鐘148.5MHz   active = <1920>;    tive = <1080>;     -porch = <64>;     t-porch = <134>;    ck-porch = <8>;    nt-porch = <30>;    nc-len = <24>;     -len = <2>;     };   }; }; }; vsync hsy vfro vba hfron hback vac h cloc dsi disp_// ds dsi, d sta dsi     en // 調   ro  //ro  sta   };      st   d  sta  sta

2.啟用PWM背光與屏幕供電

修改文件:kernel/arch/arm64/boot/dts/rockchip/rk3588-evb7-v11.dtsi

// 新增屏幕3.3V供電regulatorvcc3v3_lcd: vcc3v3-lcd {  patible ="regulator-fixed";   ator-name ="vcc3v3_lcd";  -supply = <&vcc_3v3_s0>; // 依賴主3.3V電源};// 啟用PWM8背光引腳&pwm8 {  trl-0= <&pwm8m1_pins>; // 綁定PWM8引腳 atus ="okay"; // 解決背光不亮問題};// 配置顯示路由(dsi1對應vp3)&route_dsi1 {- tatus ="disabled";+  tus ="okay";   ct = <&vp3_out_dsi1>; // 綁定Video Port3};// 禁用HDMI避免顯示沖突(調試階段)&hdmi0_in_vp0 {-   s ="okay";+ tatus ="disabled";};   s statu conne  sta   s   st  pinc  vin regul  com

3. DTS修改驗證

編譯后通過以下命令確認配置生效:

# 反編譯dtb查看配置dtc -I dtb -O dtsarch/arm64/boot/dts/rockchip/rk3588-evb.dtb > check.dts# 檢查關鍵節(jié)點是否存在grep -E"dsi1.*okay|pwm8.*okay|vcc3v3_lcd"check.dts

四、驅動代碼修改:解決轉換IC控制與時鐘匹配(附Patch)

驅動層主要解決“轉換IC上電時序”“時鐘計算錯誤”“DCS指令下發(fā)驗證”三大問題,核心修改如下:

1.轉換IC上電時序控制

修改文件:kernel/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c

新增轉換IC電源控制函數(shù),確保上電順序符合手冊要求(先使能、再復位):

// 轉換IC上電函數(shù)(enable→復位拉低→拉高→拉低)staticvoiddsi_external_bradge_power_on(struct dw_mipi_dsi2 *dsi){ intk("debug_lvds_test: %sn", __FUNCTION__); if(dsi->enable_gpio) {   gpiod_direction_output(dsi->enable_gpio,1); // 使能轉換IC   usleep_range(1000,2000); // 延時1-2ms  } if(dsi->reset_gpio) {   gpiod_direction_output(dsi->reset_gpio,0); // 復位拉低   usleep_range(1000,2000);   gpiod_direction_output(dsi->reset_gpio,1); // 復位拉高   usleep_range(1000,2000);   gpiod_direction_output(dsi->reset_gpio,0); // 復位穩(wěn)定   usleep_range(1000,2000);  }}// 轉換IC下電函數(shù)staticvoiddsi_external_bradge_power_down(struct dw_mipi_dsi2 *dsi){rintk("debug_lvds_test: %sn", __FUNCTION__); if(dsi->reset_gpio) {   gpiod_direction_output(dsi->reset_gpio,1);   usleep_range(1000,2000);  } if(dsi->enable_gpio) {   gpiod_direction_output(dsi->enable_gpio,0);   usleep_range(1000,2000);  }}// 在編碼器使能/禁用時調用電源控制staticvoiddw_mipi_dsi2_encoder_enable(struct drm_encoder *encoder){  external_bradge_power_on(dsi2); // 使能時上電  ... 原有初始化邏輯}staticvoiddw_mipi_dsi2_encoder_disable(struct drm_encoder *encoder){si_external_bradge_power_down(dsi2); // 禁用時下電  ... 原有銷毀邏輯}  //   d   //  dsi_   p   pr

2.時鐘計算修正(解決信號不穩(wěn)定)

修改文件:kernel/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c

調整DSI逃逸時鐘分頻,匹配轉換IC要求:

staticvoiddw_mipi_dsi2_phy_clk_mode_cfg(struct dw_mipi_dsi2 *dsi2){  ... 原有配置  20MHz分頻改為10MHz,避免時鐘過高導致轉換IC異常 */-   lk_div =DIV_ROUND_UP(sys_clk,20*2);+  _clk_div =DIV_ROUND_UP(sys_clk,10*2); l |=PHY_LPTX_CLK_DIV(esc_clk_div);  ... 原有配置}  //   va  esc esc_c  /* 原   //

3. DCS指令下發(fā)驗證

修改文件:u-boot/drivers/video/drm/rockchip_panel.c

添加打印確認DCS指令是否成功發(fā)送(排查“屏幕亮但無顯示”問題):

staticvoid panel_simple_prepare(structrockchip_panel*panel){+  ntf("xsc panel_simple_prepare: 開始發(fā)送DCS指令n"); ...原有邏輯   lat->on_cmds) {  t=rockchip_panel_send_dsi_cmds(dsi, plat->on_cmds);   ret)  intf("failed to send on cmds: %dn", ret);+  +    f("succed to send on cmds: %dn", ret); // 指令成功打印   . 原有邏輯} // ..   }        print     else          pr     if (      re if (p   //  pri

五、U-Boot階段適配(附Patch)

啟動階段需提前初始化轉換IC電源,避免Linux階段初始化滯后:

修改文件:u-boot/drivers/video/drm/dw_mipi_dsi2.c

// 新增U-Boot階段電源控制staticvoidrockchip_dsi_external_bridge_power_on(structdw_mipi_dsi2 *dsi){   t dw_mipi_dsi2 *priv = dev_get_priv(dsi->dev); _gpio_set_value(&priv->enable_gpio,1); // 使能轉換IC  lay(1000);  gpio_set_value(&priv->reset_gpio,0); // 復位拉低 elay(1000); _gpio_set_value(&priv->reset_gpio,1); // 復位拉高    udelay(1000);    dm_gpio_set_value(&priv->reset_gpio,0); // 復位穩(wěn)定}// 準備階段調用電源控制staticintdw_mipi_dsi2_connector_prepare(structrockchip_connector *conn,                    structdisplay_state *state){+    rockchip_dsi_external_bridge_power_on(dsi2); // U-Boot階段上電   // ... 原有邏輯}   dm   ud  dm_  ude   dm struc

六、功能驗證:3步確認調試結果

1.背光驗證:開機后觀察屏幕背光是否亮起(PWM8配置生效);

2.彩條測試:執(zhí)行modetest -M rockchip -s 224@115:1920x1080,屏幕顯示彩條說明信號正常;

3.日志驗證:查看dmesg無DSI/PWM報錯,cat /sys/kernel/debug/dri/0/summary顯示“dsi1 connected”。

七、Patch核心修改總結

模塊 修改內容 解決問題
DTS(dsi) 禁用dsi0、啟用dsi1 +時序配置 通道沖突、分辨率錯亂
DTS(電源) 新增vcc3v3_lcd、啟用PWM8 屏幕供電不足、背光不亮
驅動(電源) 新增轉換IC上電時序函數(shù) 轉換IC初始化失敗
驅動(時鐘) 調整DSI逃逸時鐘分頻 信號不穩(wěn)定、屏幕閃爍
U-Boot 啟動階段電源控制 Linux階段初始化滯后

wKgZO2kajESASU2-AAL7UYh4nzs928.png

結語

MIPI轉LVDS調試的核心是“分層排查”:先排除硬件供電/連接問題,再通過DTS匹配硬件配置,最后通過驅動解決時序/控制問題。本文附上的完整Patch覆蓋了從啟動到運行的全流程適配,你可根據(jù)實際硬件調整引腳、時鐘、時序等參數(shù)。

若調試中遇到“彩條正常但應用無顯示”“雙顯沖突”等問題,歡迎在評論區(qū)留言,我們一起完善調試指南~

以下是完整patch,有需要自取(獲取指令后臺獲取)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5198

    文章

    20435

    瀏覽量

    333927
  • Linux
    +關注

    關注

    88

    文章

    11756

    瀏覽量

    218997
  • 調試
    +關注

    關注

    7

    文章

    646

    瀏覽量

    35638
  • RK3588
    +關注

    關注

    8

    文章

    555

    瀏覽量

    7317
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀 瑞芯微旗艦芯RK3588系列開發(fā)板受到廣大開發(fā)者伙伴的關注和問詢。針對相關的開發(fā)板功能、操作指南等問題,我們一
    的頭像 發(fā)表于 09-22 15:54 ?2.3w次閱讀
    瑞芯微<b class='flag-5'>RK3588</b>開發(fā)板<b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解讀

    RK3588-Camera:MIPI-CSI調試之通路解析

    RK3588-Camera:MIPI-CSI調試之通路解析
    的頭像 發(fā)表于 06-10 10:29 ?7491次閱讀
    <b class='flag-5'>RK3588</b>-Camera:<b class='flag-5'>MIPI</b>-CSI<b class='flag-5'>調試</b>之通路解析

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI之LCD上電初始化時序

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI之LCD上電初始化時序
    的頭像 發(fā)表于 06-10 10:32 ?8184次閱讀

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI之屏參配置

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI之屏參配置
    的頭像 發(fā)表于 06-10 10:36 ?4568次閱讀
    <b class='flag-5'>RK3588-MIPI</b><b class='flag-5'>屏幕</b><b class='flag-5'>調試</b>筆記:<b class='flag-5'>RK3588-MIPI</b>-DSI之屏參配置

    RK3588 PCB推薦疊層及阻抗設計

    分享,《RK3588 PCB設計指導白皮書》其中章節(jié)——RK3588 PCB推薦疊層及阻抗設計。(文末RK3588 PCB設計指導白皮書》下載入口)
    發(fā)表于 08-10 09:32 ?1924次閱讀
    <b class='flag-5'>RK3588</b> PCB推薦疊層及阻抗設計

    Banana Pi BPI-W3 ArmSoM-W3之RK3588-MIPI-DSI屏幕調試筆記

    本文是基于RK3588平臺,MIPI調試總結。硬件環(huán)境: ArmSoM-W3 RK3588開發(fā)板、MIPI-DSI顯示屏( ArmSoM官
    的頭像 發(fā)表于 11-02 09:27 ?2764次閱讀
    Banana Pi BPI-W3 ArmSoM-W3之<b class='flag-5'>RK3588-MIPI</b>-DSI<b class='flag-5'>屏幕</b><b class='flag-5'>調試</b>筆記

    RK3588的ISP流程問題

    RK3588的ISP流程我看文檔里面包含有FPN(fixed pattern noise)的去條紋算法,這個怎么在調試工具里沒有,而且在算法相關文檔也找不到,請問廣大發(fā)燒友,有了解RK
    發(fā)表于 10-21 14:18

    RK3588 EVB 開發(fā)板介紹

    MIPI TX、VGA、SATA、PCIe30x4、TYPEC、2xRJ45 等外設接口,尺寸為18cmX18cm。RK3588 EVB 系統(tǒng)框圖RK3588 EVB配備的豐富外設接口(如圖),適用于各類
    發(fā)表于 03-16 16:39

    基于RK3588芯片方案開發(fā)ARM PC項目

    的UI交互,可提供非常清晰流暢的顯示效果,可滿足日常辦公、高端影音和游戲需求。RK3588的點評能力十分強大,支持eDP、MIPI等主流的中小尺寸接口,也可以拓展V-by-One、LVDS
    發(fā)表于 07-27 16:05

    修改成mipilvds顯示用-itop3588開發(fā)板

    打開安卓 12 源碼 kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588-evb7-lp4.dtsi 中的設備樹文件。如下圖所示默認包含的頭文件
    發(fā)表于 01-29 11:48

    iTOP-RK3588開發(fā)板修改成 mipilvds 顯示

    打開 Linux 源碼 kernel/arch/arm64/boot/dts/rockchip/rk3588-evb7-lp4.dtsi 中的設備樹文件。如下圖所示默認包含的頭文件
    發(fā)表于 05-22 16:32

    ICN6211-6202MIPIRGB MIPILVDS

    集創(chuàng)北方,ICN6211-ICN6202 MIPIRGB,MIPILVDS,芯片在MTK,高通,
    的頭像 發(fā)表于 06-24 15:15 ?5099次閱讀
    ICN6211-6202<b class='flag-5'>MIPI</b><b class='flag-5'>轉</b>RGB <b class='flag-5'>MIPI</b><b class='flag-5'>轉</b><b class='flag-5'>LVDS</b>

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI
    的頭像 發(fā)表于 06-10 10:31 ?7699次閱讀
    <b class='flag-5'>RK3588-MIPI</b><b class='flag-5'>屏幕</b><b class='flag-5'>調試</b>筆記:<b class='flag-5'>RK3588-MIPI</b>-DSI

    RK3588S和RK3588S2差異說明

    RK3588S2?較?RK3588S少了一組?MIPI D/C-PHY CSI_RX PORT0,新增一組?MIPI DPHY CSI_RX PORT1,同時接口位置除?
    的頭像 發(fā)表于 05-13 14:23 ?2840次閱讀
    <b class='flag-5'>RK3588</b>S和<b class='flag-5'>RK3588</b>S2差異說明

    RK3588平臺USB攝像頭調試實戰(zhàn):從報錯到穩(wěn)定運行

    在嵌入式開發(fā)中,RK3588 憑借強勁的算力常被用于邊緣計算、工業(yè)視覺等場景,而 USB 攝像頭作為常見外設,調試過程中難免遇到各類 “卡殼” 問題。最近我們在 RK3588調試
    的頭像 發(fā)表于 02-04 16:13 ?274次閱讀