RV1126B 開發(fā)板 LT8912B MIPI 轉 HDMI 驅(qū)動適配全技術詳解

原創(chuàng) 作者 forlinx 2026-03-26 09:31:00

作者:燕南無聲,十二年嵌入式開發(fā)經(jīng)驗,長期深耕ARM架構嵌入式平臺開發(fā),專注系統(tǒng)底層定制、軟硬件適配優(yōu)化、源碼編譯、開發(fā)環(huán)境搭建與底層驅(qū)動開發(fā)。在工業(yè)級嵌入式場景中,長期負責產(chǎn)品落地、問題定位與系統(tǒng)穩(wěn)定性優(yōu)化。

近期在基于 飛凌嵌入式OK1126B-S開發(fā)板(瑞芯微RV1126核心設計)進行項目開發(fā)時,需要完成龍迅(Lontium)LT8912B芯片的MIPI轉HDMI功能適配。這是嵌入式終端顯示輸出擴展的常見需求,核心是完成驅(qū)動的部署編譯與設備樹的硬件掛載、顯示參數(shù)配置。飛凌嵌入式OK1126B-S開發(fā)板采用工業(yè)級設計標準,目錄結構規(guī)范、硬件設計穩(wěn)定可靠,為嵌入式開發(fā)者提供了理想的開發(fā)平臺,大幅簡化了第三方外設適配工作。

OK1126B-S開發(fā)板LT8912B MIPI轉HDMI適配測試場景

在按照常規(guī)適配流程完成基礎配置后,出現(xiàn)了屏幕無顯示且HDMI輸出端提示"不能顯示此視頻模式,請將電腦重新設置為1920X1080"的問題,遂開展針對性的問題排查與適配優(yōu)化。

問題定位:HDMI端明確提示視頻模式不兼容,這類問題在MIPI轉HDMI適配中多源于 驅(qū)動支持的顯示模式與設備樹配置的顯示分辨率、時序參數(shù)不匹配。結合RV1126平臺的DRM顯示框架特性,該平臺的顯示輸出由驅(qū)動層提供模式支持,設備樹層配置具體的顯示時序與分辨率,二者必須嚴格對應才能完成正常的顯示初始化。

基于此,先核查已完成的適配配置步驟,確認驅(qū)動部署與設備樹硬件掛載的流程無問題,再聚焦到顯示模式的匹配性上,最終定位到核心問題:LT8912B的驅(qū)動文件lt8912_cp.c中,默認僅啟用了1280×800這一種顯示模式,而設備樹中初始配置的是1920×1080分辨率,導致驅(qū)動無法識別并初始化對應的顯示模式,進而出現(xiàn)屏幕不亮的兼容問題。

完整適配解決方案

針對上述原因,結合OK1126B-S開發(fā)板 6.1.141 Buildroot系統(tǒng)的特性,整理了完整的適配解決思路,分步驟完成驅(qū)動部署、編譯配置、設備樹硬件掛載與顯示參數(shù)匹配,具體步驟如下:

1
部署LT8912B驅(qū)動文件

將龍迅LT8912B的驅(qū)動文件 lt8912_cp.c放置到飛凌嵌入式RV1126B開發(fā)板源碼的OK1126B-linux-source/kernel/drivers/gpu/drm/bridge/目錄下,該目錄是平臺DRM顯示框架中橋接芯片驅(qū)動的標準存放路徑,也符合瑞芯微RV1126內(nèi)核的驅(qū)動目錄規(guī)范。

注:lt8912_cp.c文件可聯(lián)系在線客服索取
2
修改Makefile納入驅(qū)動編譯

驅(qū)動文件部署好后,編輯kernel/drivers/gpu/drm/bridge/目錄下的Makefile文件,只需要在文件末尾添加如下編譯指令,內(nèi)核編譯時將lt8912_cp.c驅(qū)動文件納入內(nèi)核編譯流程,確保編譯內(nèi)核時能生成對應的驅(qū)動模塊:

# 加入LT8912B MIPI轉HDMI驅(qū)動編譯
obj-y += lt8912_cp.o
3
設備樹添加LT8912B硬件節(jié)點

驅(qū)動編譯的問題解決了,接下來就是設備樹的配置。參照OK1126B-S平臺的OK1126B-S-common.dtsi設備樹文件,在 i2c3節(jié)點下添加LT8912B的設備節(jié)點,完成芯片與i2c3總線的硬件綁定與掛載。由于LT8912B擁有三個i2c地址,設備樹中暫配置0x01,核心i2c地址由內(nèi)核驅(qū)動函數(shù)動態(tài)添加,節(jié)點配置如下:

&i2c3{
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&i2c3m1_pins>;
    // 龍迅LT8912B MIPI轉HDMI設備節(jié)點
    lt8912: lt8912@1 {
        compatible = "lontium,lt8912";
        reg = <0x01>;
        i2c-bus = <&i2c3>;
        reset-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_LOW>;
        status = "okay";
    };
};
設備樹i2c3節(jié)點配置示意圖
4
修改顯示設備樹匹配驅(qū)動顯示模式

之前的黑屏問題,主要原因就是分辨率不匹配,編輯OK1126B-S-display.dtsi設備樹文件,將顯示時序配置修改為 1280×800,與lt8912_cp.c驅(qū)動默認支持的顯示模式匹配,具體的顯示時序參數(shù)配置如下:

disp_timings0: display-timings {
    native-mode = <&panel_1280x800>;
    panel_1280x800: timing0 {
        hback-porch = <10>;
        hfront-porch = <100>;
        hactive = <1280>;
        hsync-len = <10>;
        vback-porch = <1>;
        vfront-porch = <2>;
        vactive = <800>;
        vsync-len = <20>;
        clock-frequency = <71000000>;
        /* Approximate 71 MHz for ~60Hz with these timings */
        vsync-active = <0>;
        hsync-active = <0>;
        de-active = <0>;
        pixelclk-active = <0>;
    };
};
顯示時序參數(shù)配置示意圖
5
重新編譯內(nèi)核完成適配

完成上述所有文件修改后,在RV1126開發(fā)板的Buildroot編譯環(huán)境中執(zhí)行內(nèi)核編譯指令,將驅(qū)動與設備樹的修改編譯到內(nèi)核鏡像中,編譯完成后將新內(nèi)核燒錄至開發(fā)板上,這次的MIPI轉HDMI適配,就算真正完成了。

驗證測試結果

開機測試,打開RV1126B開發(fā)板,LT8912B MIPI轉HDMI功能已經(jīng)實現(xiàn)正常適配,屏幕順利點亮,之前煩人的視頻模式報錯再也沒有出現(xiàn)。通過開發(fā)板終端執(zhí)行指令驗證適配結果,均得到符合預期的反饋:

  1. 執(zhí)行 i2cdetect -y 3,可在i2c3總線中檢測到LT8912B設備,確認硬件掛載成功;
  2. 執(zhí)行 dmesg | grep 8912,可看到驅(qū)動正常的初始化日志,核心日志如下:
[4.964730] LT8912 ID:12,b2
[4.964736] LT8912:Start Initialization...
[5.222233] LT8912:Setting Mode 1280x800
[5.705876] LT8912:Releasing Reset (0xFF)...
[5.806216] LT8912: Enabling HDMI...
[5.806543] LT8912:Init Done.
驅(qū)動初始化日志驗證截圖

技術總結

本次在OK1126B-S平臺上完成LT8912B MIPI轉HDMI功能適配,再次印證了嵌入式底層開發(fā)中的核心原則: 驅(qū)動與設備樹必須嚴格匹配。尤其對于顯示類橋接芯片,驅(qū)動層支持的顯示模式與設備樹中配置的時序參數(shù),是實現(xiàn)正常輸出的關鍵。

ARM架構嵌入式平臺的外設適配過程中,如果遇到硬件已成功掛載但功能無法正常工作的情況,優(yōu)先排查驅(qū)動與設備樹的參數(shù)一致性是最高效的定位思路,重點核對分辨率、顯示時序、引腳配置及總線參數(shù)等內(nèi)容。

飛凌這款OK1126B-S開發(fā)板,目錄結構規(guī)范、硬件設計穩(wěn)定可靠,大幅簡化了本次適配工作,堪稱嵌入式開發(fā)者理想的開發(fā)平臺。

同時,在適配第三方橋接芯片時,需重點留意原廠驅(qū)動的默認配置——部分驅(qū)動默認僅開啟基礎功能模式,建議優(yōu)先通過修改設備樹或驅(qū)動配置進行適配,而非盲目改動驅(qū)動源碼。這樣既能提升適配效率,也能避免因隨意修改源碼引入新的穩(wěn)定性問題。針對瑞芯微RV1126這類工業(yè)級芯片平臺,嚴格遵循其DRM顯示框架規(guī)范進行驅(qū)動與設備樹配置,是保證顯示功能穩(wěn)定、兼容的基礎。

咨詢立即獲得專屬報價

華北區(qū)負責人二維碼

華北區(qū)負責人

華東區(qū)負責人二維碼

華東區(qū)負責人

華南區(qū)負責人二維碼

華南區(qū)負責人

中西區(qū)負責人二維碼

中西區(qū)負責人

相關產(chǎn)品 >

  • FET1126BJ-S核心板

    FET1126BJ-S核心板是飛凌嵌入式基于瑞芯微RV1126BJ處理器開發(fā)的國產(chǎn)化邊緣AI計算平臺。該處理器專為端側及邊緣側AI應用場景打造,集成4核ARM Cortex-A53架構,提供高達3TOPS@INT8的AI算力,是智慧工業(yè)、智慧園區(qū)、智慧工地等場景實現(xiàn)視頻分析與目標識別的優(yōu)選方案 了解詳情
    FET1126BJ-S核心板
  • OK1126BJ-S開發(fā)板

    RV1126B開發(fā)板(型號:OK1126B-S)是飛凌嵌入式基于瑞芯微RV1126B處理器打造的國產(chǎn)化邊緣AI計算平臺。集成4核A53 CPU與3TOPS@INT8獨立NPU,支持Linux 6.1系統(tǒng),提供完整BSP與RKNN工具鏈,兼容TensorFlow/PyTorch主流框架。核心板采用郵票孔+LGA設計,支持-40℃~+85℃工業(yè)級寬溫,配備MIPI-DSI、雙網(wǎng)口、CAN-FD及樹莓派兼容40Pin GPIO接口。尺寸僅120mm×75mm,專為智慧工業(yè)質(zhì)檢、園區(qū)安防、工地安全監(jiān)測等端側AI場景設計,提供10年供應保障與7×24小時技術支持。 了解詳情
    OK1126BJ-S開發(fā)板

推薦閱讀 換一批 換一批