7.23. Starfive 摄像头子系统驱动程序

7.23.1. 介绍

本文档介绍 Starfive JH7110 SoC 上的 Starfive 摄像头子系统的驱动程序。该驱动程序位于 drivers/staging/media/starfive/ camss 下。

该驱动程序实现了 V4L2、媒体控制器和 v4l2_subdev 接口。支持内核中使用 V4L2 subdev 接口的摄像头传感器。

该驱动程序已成功在带有 v4l2src 插件的 Gstreamer 1.18.5 上使用。

7.23.2. Starfive 摄像头子系统硬件

Starfive 摄像头子系统硬件包括

                  |\         +---------------+      +-----------+
+----------+      |  \       |               |      |           |
|          |      |   |      |               |      |           |
|   MIPI   |----->|   |----->|      ISP      |----->|           |
|          |      |   |      |               |      |           |
+----------+      |   |      |               |      |  Memory   |
                  |MUX|      +---------------+      | Interface |
+----------+      |   |                             |           |
|          |      |   |---------------------------->|           |
| Parallel |----->|   |                             |           |
|          |      |   |                             |           |
+----------+      |  /                              |           |
                  |/                                +-----------+
  • MIPI:MIPI 接口,接收来自 MIPI CSI-2 摄像头传感器的数据。

  • 并行:并行接口,接收来自并行传感器的数据。

  • ISP:ISP,处理来自图像传感器的原始拜耳数据并生成 YUV 帧。

7.23.3. 拓扑

媒体控制器流水线图如下

starfive_camss_graph.dot

该驱动程序有 2 个视频设备

  • capture_raw:捕获设备,直接从传感器捕获图像数据。

  • capture_yuv:捕获设备,捕获由 ISP 模块处理的 YUV 帧数据

该驱动程序有 3 个子设备

  • stf_isp:负责所有 isp 操作,输出 YUV 帧。

  • cdns_csi2rx:CSI-2 桥,支持最多 4 个 CSI 通道输入和 4 个不同的像素流输出。

  • imx219:图像传感器,图像数据通过 MIPI CSI-2 发送。