乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      RK3399 Mipi LCD Driver 代碼分析 · Rockchip

       老匹夫 2019-09-26

      RK3399 Mipi LCD Driver 代碼分析

      KernelVersion: 4.4.70

      +

      Documentation/devicetree/bindings/video/rockchip_fb.txt

      +

      概覽

      總的來說,RK LCD 的 driver 有如下四個(gè)部分:

      +
      1. FB 框架相關(guān)的部分
      2. LCDC 控制器相關(guān)的部分
      3. LCD 屏幕配置相關(guān)的部分
      4. Mipi 驅(qū)動(dòng)代碼
      ?  rockchip git:(master) ? tree ./driver/video/
      .
      ├── backlight    背光相關(guān)
      ├── fbdev        FB 框架
      │   └── core     FB 核心代碼
      │       ├── fbmem.c
      │       └── fbsysfs.c
      └── rockchip
          ├── rk_fb.c  平臺(tái) FB 驅(qū)動(dòng)
          ├── rkfb_sysfs.c
          ├── lcdc
          │   ├── rk322x_lcdc.c
          │   └── rk322x_lcdc.h
          ├── screen
          │   ├── lcd_general.c
          │   ├── lcd_mipi.c
          │   └── rk_screen.c  屏幕配置文件共用代碼
          └── transmitter   Mipi 驅(qū)動(dòng)代碼
              ├── rk32_mipi_dsi.c
              ├── rk32_mipi_dsi.h
              ├── mipi_dsi.c
              └── mipi_dsi.h
      

      RK FBDEV 框架相關(guān)代碼

      drivers/video/fbdev/core/fbmem.c
      drivers/video/rockchip/rk_fb.c
      drivers/video/rockchip/rkfb_sysfs.c
      include/linux/rk_fb.h
      

      fbmem.c 是 upstream 的代碼。它的作用在于:向上提供了和用戶空間交接的接口(open/read/write/ioctl); 向下聯(lián)系平臺(tái)相關(guān)的 fb 驅(qū)動(dòng) rk_fb.c。

      +

      rk_fb.c 是 RK 平臺(tái)的 FB 驅(qū)動(dòng)。

      +

      rkfb_sysfs.c

      +

      當(dāng)打開宏 CONFIG_FB_ROCKCHIP

      +
      obj-$(CONFIG_FB_ROCKCHIP) += rk_fb.o rkfb_sysfs.o bmp_helper.o screen/
      obj-$(CONFIG_FB_ROCKCHIP) += display-sys.o lcdc/
      

      會(huì)使能 rk framebuffer driver kernel/driver/video/rockchip/rk_fb.c

      +

      會(huì)使能 rk lcdc driver kernel/driver/video/rockchip/lcdc/

      +

      會(huì)使能 rk screen 解析屏幕配置相關(guān)代碼 kernel/driver/video/rockchip/screen/

      +

      framebuffer driver

      代碼路徑 kernel/driver/video/rockchip/rk_fb.c

      +
      fb: fb{
         compatible = "rockchip,rk-fb";
         rockchip,disp-mode = <DUAL>;
      };
      

      LCDC 框架代碼

      這部分和具體的 LCDC 控制器相關(guān),對(duì)于 RK3399 平臺(tái)。 打開宏 CONFIG_LCDC_RK322X

      +
      obj-$(CONFIG_LCDC_RK322X) += rk322x_lcdc.o
      

      RK Screen driver

      依賴打開宏 CONFIG_FB_ROCKCHIP ,才會(huì)編譯 video/rockchip/screen 中的內(nèi)容。 rk_screen.c 默認(rèn)LCD_GENERALCONFIG_LCD_MIPI 二選一。 當(dāng)不需要屏的時(shí)候選 LCD_GENERAL。 當(dāng)需要屏的時(shí)候選CONFIG_LCD_MIPI。

      +

      對(duì)屏參文件的解析

      屏相關(guān)的 dts 文件一般在 kernel/arch/arm64/boot/dts/ 中。 分為四個(gè)部分,mipi host 配置、屏電源控制配置、屏初始化序列配置和屏參配置。 drivers/video/rockchip/screen/lcd_mipi.c 中負(fù)責(zé)解析 mipi host 配置、屏電源控制配置、屏初始化序列配置的解析。 drivers/video/of_display_timing.c 中負(fù)責(zé)解析 屏參。

      +

      Mipi Host 配置

      我們直接看 dts 文件

      +
      ```
      
      #### 屏電源控制
      
      
      #### 屏初始化序列
      
      #### 屏參配置
      
      
      ## Transmitter driver
      打開宏 `CONFIG_RK_TRSM`
      

      obj-$(CONFIG_RK_TRSM) += transmitter/ `` 使能 rk transmitter driverkernel/drivers/video/rockchip/transmitter`

      +

      rk mipi dsi driver

      打開宏 CONFIG_RK32_MIPI_DSI對(duì)應(yīng)驅(qū)動(dòng) rk32_mipi_dsi.c,Mipi driver 主文件。寄存器以及結(jié)構(gòu)體的定義在 rk32_mipi_dsi.h。

      +

      打開宏 CONFIG_MIPI_DSI 對(duì)應(yīng)驅(qū)動(dòng) mipi_dsi.c,封裝的函數(shù)指針接口函數(shù), 供 lcd_mipi.c 調(diào)用, 函數(shù)的具體實(shí)現(xiàn)在 rk32_mipi_dsi.c 中。Mipi 協(xié)議相關(guān)的宏定義以及函數(shù)指針結(jié)構(gòu)體定義在 mipi_dsi.h。

      +

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多