chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RK3588 MIPI轉(zhuǎn)LVDS屏幕調(diào)試全流程(附完整Patch)

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

掃碼添加小助手

加入工程師交流群

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

wKgZO2kajESAR9NCAAX3bnwiYx0256.pngwKgZO2kajESAOGqTAAEffy1fFb4685.png

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

調(diào)試的核心是“先定位,再動(dòng)手”,盲目改配置只會(huì)浪費(fèi)時(shí)間。

1.日志抓包鎖定方向

屏幕未點(diǎn)亮?xí)r,優(yōu)先查看DSI相關(guān)內(nèi)核日志,執(zhí)行:

dmesg |grepdsi # 查看DSI通道初始化報(bào)錯(cuò)dmesg |greppwm # 排查背光驅(qū)動(dòng)問題

常見報(bào)錯(cuò)對(duì)應(yīng)問題

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

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

?“TC358775: command_interface is busy”:轉(zhuǎn)換IC上電時(shí)序錯(cuò)誤

2.必收“基礎(chǔ)檔案”

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

?開機(jī)日志(systemlog.txt):含驅(qū)動(dòng)加載、硬件初始化過程

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

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

?關(guān)鍵調(diào)試命令輸出:

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

二、硬件鏈路確認(rèn):排除“物理層”問題

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

1.核心組件信息確認(rèn)(對(duì)應(yīng)Patch硬件適配)

根據(jù)硬件設(shè)計(jì),本次調(diào)試涉及:

?轉(zhuǎn)換IC:TC358775XBG(需控制上電時(shí)序)

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

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

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

2.硬件功能驗(yàn)證

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

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

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

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

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

1.禁用沖突通道,啟用目標(biāo)DSI

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

// 禁用dsi0(避免通道沖突)&dsi0 {-  tus ="okay";+  tus ="disabled"; si0_panel:panel@0{  atus ="disabled"; // 同步禁用dsi0面板 };// 啟用dsi1并配置關(guān)鍵參數(shù)&dsi1 {  tus ="okay";-   ckchip,lane-rate = <1100>;/*1920*1080*/+  ckchip,lane-rate = <960>;   整為900Mbps(匹配屏幕時(shí)序)   able-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>; // 轉(zhuǎn)換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í)序參數(shù)(匹配屏幕手冊(cè)1920x1080@60Hz)    timings1: display-timings {   1_timing0: timing0 {    k-frequency = <148500000>; // 像素時(shí)鐘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 // 調(diào)   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對(duì)應(yīng)vp3)&route_dsi1 {- tatus ="disabled";+  tus ="okay";   ct = <&vp3_out_dsi1>; // 綁定Video Port3};// 禁用HDMI避免顯示沖突(調(diào)試階段)&hdmi0_in_vp0 {-   s ="okay";+ tatus ="disabled";};   s statu conne  sta   s   st  pinc  vin regul  com

3. DTS修改驗(yàn)證

編譯后通過以下命令確認(rèn)配置生效:

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

四、驅(qū)動(dòng)代碼修改:解決轉(zhuǎn)換IC控制與時(shí)鐘匹配(附Patch)

驅(qū)動(dòng)層主要解決“轉(zhuǎn)換IC上電時(shí)序”“時(shí)鐘計(jì)算錯(cuò)誤”“DCS指令下發(fā)驗(yàn)證”三大問題,核心修改如下:

1.轉(zhuǎn)換IC上電時(shí)序控制

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

新增轉(zhuǎn)換IC電源控制函數(shù),確保上電順序符合手冊(cè)要求(先使能、再?gòu)?fù)位):

// 轉(zhuǎn)換IC上電函數(shù)(enable→復(fù)位拉低→拉高→拉低)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); // 使能轉(zhuǎn)換IC   usleep_range(1000,2000); // 延時(shí)1-2ms  } if(dsi->reset_gpio) {   gpiod_direction_output(dsi->reset_gpio,0); // 復(fù)位拉低   usleep_range(1000,2000);   gpiod_direction_output(dsi->reset_gpio,1); // 復(fù)位拉高   usleep_range(1000,2000);   gpiod_direction_output(dsi->reset_gpio,0); // 復(fù)位穩(wěn)定   usleep_range(1000,2000);  }}// 轉(zhuǎn)換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);  }}// 在編碼器使能/禁用時(shí)調(diào)用電源控制staticvoiddw_mipi_dsi2_encoder_enable(struct drm_encoder *encoder){  external_bradge_power_on(dsi2); // 使能時(shí)上電  ... 原有初始化邏輯}staticvoiddw_mipi_dsi2_encoder_disable(struct drm_encoder *encoder){si_external_bradge_power_down(dsi2); // 禁用時(shí)下電  ... 原有銷毀邏輯}  //   d   //  dsi_   p   pr

2.時(shí)鐘計(jì)算修正(解決信號(hào)不穩(wěn)定)

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

調(diào)整DSI逃逸時(shí)鐘分頻,匹配轉(zhuǎn)換IC要求:

staticvoiddw_mipi_dsi2_phy_clk_mode_cfg(struct dw_mipi_dsi2 *dsi2){  ... 原有配置  20MHz分頻改為10MHz,避免時(shí)鐘過高導(dǎo)致轉(zhuǎn)換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ā)驗(yàn)證

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

添加打印確認(rèn)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)

啟動(dòng)階段需提前初始化轉(zhuǎn)換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); // 使能轉(zhuǎn)換IC  lay(1000);  gpio_set_value(&priv->reset_gpio,0); // 復(fù)位拉低 elay(1000); _gpio_set_value(&priv->reset_gpio,1); // 復(fù)位拉高    udelay(1000);    dm_gpio_set_value(&priv->reset_gpio,0); // 復(fù)位穩(wěn)定}// 準(zhǔn)備階段調(diào)用電源控制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

六、功能驗(yàn)證:3步確認(rèn)調(diào)試結(jié)果

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

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

3.日志驗(yàn)證:查看dmesg無DSI/PWM報(bào)錯(cuò),cat /sys/kernel/debug/dri/0/summary顯示“dsi1 connected”。

七、Patch核心修改總結(jié)

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

wKgZO2kajESASU2-AAL7UYh4nzs928.png

結(jié)語(yǔ)

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

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

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

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

    關(guān)注

    5198

    文章

    20434

    瀏覽量

    333869
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11754

    瀏覽量

    218995
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    646

    瀏覽量

    35631
  • RK3588
    +關(guān)注

    關(guān)注

    8

    文章

    555

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀 瑞芯微旗艦芯RK3588系列開發(fā)板受到廣大開發(fā)者伙伴的關(guān)注和問詢。針對(duì)相關(guān)的開發(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調(diào)試之通路解析

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

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI之LCD上電初始化時(shí)序

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

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI之屏參配置

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

    RK3588 PCB推薦疊層及阻抗設(shè)計(jì)

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

    Banana Pi BPI-W3 ArmSoM-W3之RK3588-MIPI-DSI屏幕調(diào)試筆記

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

    RK3588的ISP流程問題

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

    RK3588 EVB 開發(fā)板介紹

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

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

    的UI交互,可提供非常清晰流暢的顯示效果,可滿足日常辦公、高端影音和游戲需求。RK3588的點(diǎn)評(píng)能力十分強(qiáng)大,支持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 中的設(shè)備樹文件。如下圖所示默認(rèn)包含的頭文件
    發(fā)表于 01-29 11:48

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

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

    ICN6211-6202MIPI轉(zhuǎn)RGB MIPI轉(zhuǎn)LVDS

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

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI
    的頭像 發(fā)表于 06-10 10:31 ?7693次閱讀
    <b class='flag-5'>RK3588-MIPI</b><b class='flag-5'>屏幕</b><b class='flag-5'>調(diào)試</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,同時(shí)接口位置除?
    的頭像 發(fā)表于 05-13 14:23 ?2825次閱讀
    <b class='flag-5'>RK3588</b>S和<b class='flag-5'>RK3588</b>S2差異說明

    RK3588平臺(tái)USB攝像頭調(diào)試實(shí)戰(zhàn):從報(bào)錯(cuò)到穩(wěn)定運(yùn)行

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