1. 程式人生 > >[px3][Android7.1]除錯筆記RK LCD顯示驅動分析(fb和screen 部分程式)

[px3][Android7.1]除錯筆記RK LCD顯示驅動分析(fb和screen 部分程式)

平臺 核心版本 安卓版本
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 )


在這裡插入圖片描述