7.22. Starfive 摄像头子系统驱动

7.22.1. 简介

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

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

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

7.22.2. Starfive 摄像头子系统硬件

Starfive 摄像头子系统硬件包括

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

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

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

7.22.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 发送。