1. 程式人生 > >Linux驅動LCD driver學習總結

Linux驅動LCD driver學習總結

這篇文章寫於13年11月,這裡僅記錄一下曾經涉獵了這方面的知識,可能對以後的一些知識瞭解有所幫助

關於platform匯流排模型,可以參考之前的一篇文章Linux驅動Platform匯流排模型,這對frameBuffer的驅動註冊可能有所幫助

一、LCD硬體框架


二、LCD軟體框架


三、LCD初始化流程


四、LCD on與off的流程


五、LCD資料流


六、驅動程式framebuffer

所在檔案

/android/kernel/drivers/video/fbmem.c

/android/kernel/drivers/video/msm/msm_fb.c

幀緩衝(framebuffer)是linux系統為線索裝置提供的一個介面,它將顯示緩衝區抽象,遮蔽影象硬體的底層差異,上層應用程式可直接對framebuffer進行讀寫操作。

呼叫register_framebuffer(struct fb_info *fb_info)可註冊framebuffer,註冊framebuffer實際上會把fb_info放到一個全域性數組裡面,到後面需要用時會到數組裡面取相關資訊


結構體fb_info中比較重要的有

①struct fb_var_screeninfo var,記錄使用者可修改的顯示控制器引數


fb_var_screeninfo結構中的顏色位域struct fb_bitfield


②struct fb_fix_screeninfo fix,記錄使用者不能修改的顯示控制器引數,如實體地址,長度


七、驅動程式mipi_dsi

所在檔案/android/kernel/drivers/video/msm/mipi_dis.c

八、驅動程式mdp

所在檔案/android/kernel/drivers/video/msm/mdp.c

九、驅動程式hx8369

所在檔案

/android/kernel/drivers/video/msm/mipi_HX8369B_video_wvga_pt.c

/android/kernel/drivers/video/msm/mipi_HX8369B.c

十、驅動程式板級檔案

所在檔案/android/kernel/arch/arm/mach-msm/board-msm7627a-display.c

最後,辛苦了