最近在學(xué)習(xí)
MIPI接口的LCD
驅(qū)動開發(fā)與
調(diào)試,這里我主要用的是MIPI-DSI接口,它學(xué)習(xí)起來真的是太復(fù)雜了,特別是對于我這種很久都沒寫驅(qū)動來說更是頭疼,但是頭疼歸頭疼,工作咱們還是要完成的,那就只能硬著頭皮往下肝吧!首先了解下什么是
MIPI-DSI
:
MIPI-DSI
是一種應(yīng)用于顯示技術(shù)的串行接口,兼容DPI(顯示像素接口,
Display Pixel Interface
)、DBI(顯示總線接口,
Display Bus Interface
)和DCS(顯示命令集,
Display Command Set
),以串行的方式發(fā)送像素信息或指令給外設(shè),而且從外設(shè)中讀取狀態(tài)信息或像素信息,而且在傳輸?shù)倪^程中享有自己獨(dú)立的通信協(xié)議,包括數(shù)據(jù)包格式和糾錯檢錯機(jī)制。下圖所示的是MIPI-DSI接口的簡單示意圖。
MIPI-DSI
具備高速模式和低速模式兩種工作模式,全部數(shù)據(jù)通道都可以用于單向的高速傳輸,但只有第一個數(shù)據(jù)通道才可用于低速雙向傳輸,從屬端的狀態(tài)信息、像素等格式通過該數(shù)據(jù)通道返回。時鐘通道專用于在高速傳輸數(shù)據(jù)的過程中傳輸同步時鐘信號。此外,一個主機(jī)端可允許同時與多個從屬端進(jìn)行通信。(摘抄自網(wǎng)友)那么,在Linux中
調(diào)試MIPI LCD
需要注意哪些細(xì)節(jié)呢?分別是:
- 供電
- 復(fù)位
- 時序
- 像素時鐘
- MIPI時鐘(本章不涉及)
- MIPI命令(本章不涉及)
- MIPI數(shù)據(jù)格式(本章不涉及)
在Linux驅(qū)動開發(fā)過程中,一般通用的MIPI的驅(qū)動都是現(xiàn)成的,比如以下的simple-panel-dsi
,就是通用的MIPI接口LCD驅(qū)動,它在Linux內(nèi)核中位于driver/gpu/drm/panel
目錄下,對應(yīng)的文件是:panel-simple.c
。一般使用通用的
MIPI LCD驅(qū)動,我們只需要根據(jù)自己選購的屏的參數(shù)進(jìn)行配置即可,也就是只需要配置設(shè)備樹即可順利完成點(diǎn)屏的操作,那么如何來配置相關(guān)參數(shù)呢?這里我用的是瑞芯微的RV1109方案,在此借用榮品LCD的設(shè)備樹我們來學(xué)習(xí)下它的設(shè)備樹參數(shù):