1.. SPDX-License-Identifier: GPL-2.0
2
3.. include:: <isonum.txt>
4
5================================
6Starfive Camera Subsystem driver
7================================
8
9Introduction
10------------
11
12This file documents the driver for the Starfive Camera Subsystem found on
13Starfive JH7110 SoC. The driver is located under drivers/staging/media/starfive/
14camss.
15
16The driver implements V4L2, Media controller and v4l2_subdev interfaces. Camera
17sensor using V4L2 subdev interface in the kernel is supported.
18
19The driver has been successfully used on the Gstreamer 1.18.5 with v4l2src
20plugin.
21
22
23Starfive Camera Subsystem hardware
24----------------------------------
25
26The Starfive Camera Subsystem hardware consists of::
27
28                    |\         +---------------+      +-----------+
29  +----------+      |  \       |               |      |           |
30  |          |      |   |      |               |      |           |
31  |   MIPI   |----->|   |----->|      ISP      |----->|           |
32  |          |      |   |      |               |      |           |
33  +----------+      |   |      |               |      |  Memory   |
34                    |MUX|      +---------------+      | Interface |
35  +----------+      |   |                             |           |
36  |          |      |   |---------------------------->|           |
37  | Parallel |----->|   |                             |           |
38  |          |      |   |                             |           |
39  +----------+      |  /                              |           |
40                    |/                                +-----------+
41
42- MIPI: The MIPI interface, receiving data from a MIPI CSI-2 camera sensor.
43
44- Parallel: The parallel interface,  receiving data from a parallel sensor.
45
46- ISP: The ISP, processing raw Bayer data from an image sensor and producing
47  YUV frames.
48
49
50Topology
51--------
52
53The media controller pipeline graph is as follows:
54
55.. _starfive_camss_graph:
56
57.. kernel-figure:: starfive_camss_graph.dot
58    :alt:   starfive_camss_graph.dot
59    :align: center
60
61The driver has 2 video devices:
62
63- capture_raw: The capture device, capturing image data directly from a sensor.
64- capture_yuv: The capture device, capturing YUV frame data processed by the
65  ISP module
66
67The driver has 3 subdevices:
68
69- stf_isp: is responsible for all the isp operations, outputs YUV frames.
70- cdns_csi2rx: a CSI-2 bridge supporting up to 4 CSI lanes in input, and 4
71  different pixel streams in output.
72- imx219: an image sensor, image data is sent through MIPI CSI-2.
73