源码目录、构建配置与模块索引
1. 顶层文件
| 文件 | 作用 |
|---|---|
aperture.c |
firmware framebuffer aperture ownership |
display_timing.c |
timing范围转换 |
videomode.c |
具体mode转换 |
of_display_timing.c |
DT display-timings解析 |
of_videomode.c |
DT timing→videomode |
hdmi.c |
HDMI通用辅助 |
hdmi-notifier.c |
vendor notifier实现,未由本层Makefile直接编入 |
vgastate.c |
VGA state save/restore |
2. 子目录
fbdev/:Core及大量平台/PCI legacy drivers;backlight/:class与约60个LCD/backlight drivers;console/:dummy/VGA/MDA/STI/Newport console;logo/:编译期图片转换和logo数据;rockchip/:约152个vendor媒体文件。
3. 顶层Makefile
始终递归进入:
1 | backlight/ |
实际对象仍由子目录CONFIG_*控制。
按配置构建:
APERTURE_HELPERS;VGASTATE;HDMI;VTconsole;LOGO;VIDEOMODE_HELPERS及OF helper。
4. fbdev Core
CONFIG_FB生成fb.o:
1 | fbmem + fbmon + fbcmap + fbsysfs + modedb + fbcvt |
另外按需构建CFB/SYS drawing、DDC、sys fops等helper。
5. fbdev硬件驱动
Makefile覆盖旧PCI显卡、各SoC LCDC、firmware fallback、USB framebuffer和virtual fb。RK3588没有专用rk3588fb,主路径为DRM。
6. Backlight
Core:
BACKLIGHT_CLASS_DEVICE→backlight.o;LCD_CLASS_DEVICE→lcd.o。
RK3588常用:
BACKLIGHT_PWM→pwm_bl.o;- 少数板可用GPIO、LED或PMIC backlight。
7. Console/Logo
console目录并不含fbcon;fbcon代码位于fbdev/core/并链接进fb.o。console/是VT底层console drivers。
Logo目录的pnmtologo是host tool,图片在构建时转换为C数据。
8. Rockchip子目录
| 配置 | 目录 |
|---|---|
ROCKCHIP_RGA |
rga |
ROCKCHIP_RGA2 |
rga2 |
ROCKCHIP_MULTI_RGA |
rga3 |
ROCKCHIP_RVE |
rve |
IEP |
iep |
ROCKCHIP_MPP_SERVICE |
mpp |
ROCKCHIP_MPP_OSAL |
mpp_osal |
ROCKCHIP_DVBM |
dvbm |
VIDEO_REVERSE_IMAGE |
vehicle |
ROCKCHIP_VIDEO_TUNNEL |
vtunnel |
9. Rockchip默认配置
rockchip_linux_defconfig启用DRM Rockchip、backlight class/PWM、Multi-RGA、IEP、MPP及多个codec backend。RVE、DVBM、vehicle、vtunnel是否启用需检查最终fragment。
10. 文档边界
Graphics Kconfig中AGP/DRM/GPU虽由本文件source,但代码分析应分别到drivers/char/agp和drivers/gpu文档,不应误计为本目录实现。
正在加载留言…