這篇文章寫於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
最後,辛苦了