[px3][Android7.1]除錯筆記RK LCD顯示驅動分析(fb和screen 部分程式)
阿新 • • 發佈:2019-01-06
平臺 | 核心版本 | 安卓版本 |
---|---|---|
px3 | Linux3.0 | Android7.1 |
檢視裝置:
ls /sys/devices/platform
display驅動分析:
RK LCD
這塊首先分為四大塊相互依賴
fb | lcdc | screen | screen_type |
1、fb驅動分析
fb
驅動目錄:kernel/drivers/video/rockchip/rk_fb.c
當板設檔案:kernel/arch/arm/mach-rkpx3/board-rkpx3-sdk.c
資訊匹配的時候:
rk_fb_probe
將會被呼叫:
其中:fb_inf->ion_client = rockchip_ion_client_create("rk_fb");
建立了ion client
ION與PMEM類似,管理一或多個記憶體池,其中有一些會在boot time的時候預先分配,以備給特殊的硬體使用(GPU,顯示控制器等)。它通過ION heaps來管理這些pool。它可以被userspace的process之間或者核心中的模組之間進行記憶體共享。
我們再看一下rk_fb_inf
結構體
目錄:kernel/include/linux/rk_fb.h
2、screnn驅動分析
LCD
配置、屏電源控制配置、屏初始化序列是在 kernel/drivers/video/rockchip/screen
中解析
2.1、Makefile分析:
程式碼部分:kernel/drivers/video/rockchip/screen/Makefile
2.2、rk_screen.c分析:
目錄:kernel/drivers/video/rockchip/screen/rk_screen.c
中:
void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info )