i.MX 8M Plus是NXP推出的一款具有高可靠性,適合用于機器學習和視覺、高級多媒體和工業(yè)物聯(lián)網(wǎng)的處理器。為發(fā)揮其強大的多媒體性能,啟揚在i.MX8M Plus配套底板上引出1 路 4 通道 MIPI-DSI 顯示接口、1 路雙通道 LVDS 顯示接口、1 路 HDMI 顯示接口(內(nèi)含 eARC 功能),支持三屏同顯和三屏異顯。
今天小編將簡單分享一下啟揚IAC-IMX8MP-Kit開發(fā)板在連接LVDS屏幕的過程中所進行的一系列調(diào)試過程。
注意
本文不著重于硬件的適配過程,只從軟件角度分析,默認LVDS屏幕連接正確,背光等連接正常。
工具:
啟揚IAC-IMX8MP-Kit開發(fā)板
1920x1080@60雙通道LVDS屏幕
1
分析屏幕手冊
首先,我們需要查看LVDS屏幕的datasheet,然后從中找出屏幕引腳圖說明,如圖所示:
從上圖我們可以看出該屏幕是一個雙通道的LVDS屏幕,一般來說這種屏幕的顏色模式是3x8bit。
從數(shù)據(jù)手冊中我們能看到LVDS接口類型和信號格式。一般來說LVDS顯示屏有VESA和JEIDA兩種接口標準,兩種接口標準的區(qū)別在于每對低壓差分信號上傳輸?shù)腞、G、B三色的位數(shù)和HS、VS、DE位置不同。8bit液晶屏需要4對差分對傳輸R、G、B三色和HS、VS、DE控制信號,如下圖所示
根據(jù)下面數(shù)據(jù)手冊中內(nèi)容與上圖接口標準的對照,我們可以看出本次調(diào)試使用的LVDS屏幕的接口標準屬于VESA標準。
除了上述信息外,我們還需要timing參數(shù),這個參數(shù)能夠詳細地表述屏幕的顯示區(qū)域,在數(shù)據(jù)手冊中顯示如下圖所示
一般來說,我們需要Vactive+vbp+vfp+vsync以及Hactive+hbp+hfp+hsync還有時鐘等信息,這些參數(shù)有的屏幕手冊會詳細寫出,而有的則給出如上圖類似的信息。
這里筆者給大家簡要說明一下參數(shù)的關系,具體參數(shù)的意義因篇幅原因大家可以搜專業(yè)的解說帖子。
圖中V_active以及H_active就是我們屏幕實際的分辨率參數(shù),也就是1920*1080。上圖中H_active之所以顯示為960,這是因為該屏幕是一個分割屏幕,由兩塊兒屏幕組裝而成,所以Horizontal顯示的參數(shù)都要乘以2。
圖中TVB=bp+fp+sync,所以vbp+vfp+vsync=36、hbp+hfp+hsync=92x2=184,時鐘這里直接給出是70.5Mhz,因此不需要進行計算。
以上就是數(shù)據(jù)手冊中上我們需要在意的參數(shù)部分。
此外我們需要重點關注的還有電壓電流以及上電時序等信息,只是這部分信息一般情況下都由硬件工程師通過硬件手段幫忙適配。如果需要參與軟件控制也不屬于LVDS適配層面,那么這里就不再過多的講述,那么就期待我們下章關于代碼部分的適配工作吧。
2
軟件代碼適配
本次啟揚i.MX8M Plus開發(fā)板需要適配一款1920*1080@60 的雙通道LVDS屏幕,適配流程與以往i.MX系列的適配僅需要在相關設備節(jié)點寫timing不同,本次屏幕適配采用DRM驅(qū)動框架適配,因此我們需要先從設備樹開始入手。
不著重分析DRM驅(qū)動以及詳細的適配過程,僅從修改適配方向入手,為如何快速的適配一組LVDS屏幕提供參考。
打開設備樹文件(arch/arm64/boot/dts/freescale/imx8mp-qiyang-NV156FHM.dts)。
這里為適配多屏而單獨新建了一個設備樹文件,這樣就可以加載不同的設備樹點不同的屏幕,避免了在同一個設備樹上持續(xù)更改的繁瑣。
首先,#include一行直接帶入主設備樹,將開發(fā)板周邊設備一同囊括進來。
其次,lvds0_panel_pwr節(jié)點是通過適配開發(fā)板上的電源管理芯片,將電源管理芯片的輸出電壓拉到lvds上使用,所以lvds供電由一個電源管理芯片來控制。
lvds0_panel節(jié)點主要是描述lvds的相關屬性。例如compatible屬性是為了匹配DRM相關驅(qū)動,因為此次適配的是一個雙通道的屏幕,所以寫“regulator-fixed”屬性;backlight節(jié)點是背光節(jié)點;power節(jié)點引用上面lvds0_panel_pwr節(jié)點,描述電源的部分;重要的是port節(jié)點,該節(jié)點指明LVDS屏幕是接在哪個顯示通道上,需要結(jié)合下面ldb節(jié)點的內(nèi)容來看。
(這里只是簡單描述一下這些節(jié)點的意思,具體包含的詳細信息需要查看內(nèi)核資料
(Documentation/devicetree/bindings/media/video-interfaces.txt)
lvds-channel@0節(jié)點表示顯示適配器開通了一個lvds的通道,然后該通道有mapping以及width兩個屬性,mapping表示顏色的模式,width表示數(shù)據(jù)寬度,這里我們根據(jù)屏幕數(shù)據(jù)手冊的內(nèi)容可以直接寫spwg以及24。
port@1表示使用的是通道1?,F(xiàn)在圖形處理器日益強大,很多圖形處理器可以開多通道,這里我們就開一個通道,然后將端點設置為我們上面描述的lvds,這樣的話我們就把ldb部分給配通了。
(更加詳細的解釋可以到提供的開發(fā)板系列資料Documentation/devicetree/bindings/display/imx/ldb.txt查看。)
總結(jié)一下就是我們需要在顯示適配器開通一個通道,然后這個通道是用來點lvds的,具體點哪個lvds需要endpoint節(jié)點的指引,然后再描述lvds,一般里面要寫具體是哪個屏幕,電源,背光等一系列信息,還要跟ldb的內(nèi)容互通,這樣保證兩者能夠相互找到,啟動之后驅(qū)動就會根據(jù)compatible節(jié)點去匹配屏幕。
-
開發(fā)板
+關注
關注
25文章
4896瀏覽量
97059
發(fā)布評論請先 登錄
相關推薦
評論