Edit online

menuconfig 配置

4 Dec 2024
Read time: 2 minute(s)
  1. Luban 根目录下执行 make linux-menuconfig,进入 kernel 的功能配置,使能显示模块驱动:
    Linux
        Device Drivers
            Graphics support
                ArtInChip Graphics  --->
                    <*> ArtInChip Framebuffer support
  2. 将显示接口编译进内核。

    可以编译所有显示接口,但只有 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
  3. 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 驱动。

  4. 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
  5. 显示模块驱动依赖 CMA 和 DMA-BUF 功能。
    1. 配置 CMA
      1. 在 Luban 根目录下执行 make kernel-menuconfig,使能 CMA:
        Linux
            Memory Management options
                [*] Contiguous Memory Allocator
        
      2. 配置 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。

    2. 使能 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