版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33487044/article/details/85332256
平台 | 内核版本 | 安卓版本 |
---|---|---|
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 )