menuconfig
配置
4 Dec 2024
Read time: 3 minute(s)
-
在 Luban 根目录下执行 make linux-menuconfig,进入 kernel 的功能配置,使能显示模块驱动:
Linux Device Drivers Graphics support ArtInChip Graphics ---> <*> ArtInChip Framebuffer support
-
将显示接口编译进内核。
可以编译所有显示接口,但只有 panel 驱动对应的显示接口能生效。
Device Drivers Graphics support ArtInChip Graphics ---> <*> ArtInChip Framebuffer support [*] ArtInChip display rgb support [*] ArtInChip display lvds support [*] ArtInChip display mipi-dsi support [*] ArtInChip display mipi-dbi support
-
Panel 依赖显示接口功能,需使能相关依赖:
Device Drivers Graphics support ArtInChip Graphics ---> <*> ArtInChip Framebuffer support <*> ArtInChip Panel Drivers (ArtInChip general RGB panel) --->
Luban SDK 不仅为 RGB/ LVDS 等显示接口提供了通用的 ArtInChip simple panel 驱动,也为部分屏驱 IC 提供专用 panel 驱动。
-
Panel 依赖 pwm-backlight 功能,需分别使能 PWM 支持和背光。
-
使能 PWM
Device Drivers [*] Pulse-Width Modulation (PWM) Support ---> <*> ArtInChip PWM support
-
显示模块驱动使用 pwm-backlight 框架进行背光控制:
Device Drivers Graphics support Backlight & LCD device support <*> Lowlevel Backlight controls <*> Generic PWM based Backlight Driver
-
-
显示模块驱动依赖 CMA 和 DMA-BUF 功能。
- 配置 CMA
-
在 Luban 根目录下执行 make kernel-menuconfig,使能 CMA:
Linux Memory Management options [*] Contiguous Memory Allocator
-
配置 CMA 内存区域的大小,在内核配置的另一个地方,以下配置为 12 MB:
Linux Library routines [*] DMA Contiguous Memory Allocator (12) Size in Mega Bytes
CMA 内存区域无法随意设置大小,Size 需要 4 MB 对齐。
Linux 启动时会对 CMA size 进行 4 MB 对齐,对齐操作与 CONFIG_FORCE_MAX_ZONEORDER 设置相关。在 ArtInChip 平台上,该配置为 11,意思为一次最大分配内存为 210 pages,即 4M。
-
- 使能 DMA-BUF在 Luban 根目录下执行 make kernel-menuconfig,进入 kernel 的功能配置,按如下选择:
Linux Device Drivers DMABUF options [*] Explicit Synchronization Framework [*] Sync File Validation Framework [*] userspace dmabuf misc driver [*] DMA-BUF Userland Memory Heaps [*] DMA-BUF CMA Heap
- 配置 CMA