源码目录、构建配置与模块索引

源码目录、构建配置与模块索引

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
2
3
backlight/
rockchip/
fbdev/

实际对象仍由子目录CONFIG_*控制。

按配置构建:

  • APERTURE_HELPERS
  • VGASTATE
  • HDMI
  • VT console;
  • LOGO
  • VIDEOMODE_HELPERS及OF helper。

4. fbdev Core

CONFIG_FB生成fb.o

1
2
3
fbmem + fbmon + fbcmap + fbsysfs + modedb + fbcvt
[deferred_io]
[fbcon + bitblit + softcursor + rotation]

另外按需构建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_DEVICEbacklight.o
  • LCD_CLASS_DEVICElcd.o

RK3588常用:

  • BACKLIGHT_PWMpwm_bl.o
  • 少数板可用GPIO、LED或PMIC backlight。

console目录并不含fbcon;fbcon代码位于fbdev/core/并链接进fb.oconsole/是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/agpdrivers/gpu文档,不应误计为本目录实现。

文章互动

阅读 --

留言

0 条留言

正在加载留言…