mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 21:03:32 +00:00
media: admin-guide: Add starfive_camss.rst for Starfive Camera Subsystem
Add starfive_camss.rst file that documents the Starfive Camera Subsystem driver which is used for handing image sensor data. Signed-off-by: Jack Zhu <jack.zhu@starfivetech.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
f5502cd25a
commit
f72f80550d
4 changed files with 86 additions and 0 deletions
72
Documentation/admin-guide/media/starfive_camss.rst
Normal file
72
Documentation/admin-guide/media/starfive_camss.rst
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
.. include:: <isonum.txt>
|
||||||
|
|
||||||
|
================================
|
||||||
|
Starfive Camera Subsystem driver
|
||||||
|
================================
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
This file documents the driver for the Starfive Camera Subsystem found on
|
||||||
|
Starfive JH7110 SoC. The driver is located under drivers/staging/media/starfive/
|
||||||
|
camss.
|
||||||
|
|
||||||
|
The driver implements V4L2, Media controller and v4l2_subdev interfaces. Camera
|
||||||
|
sensor using V4L2 subdev interface in the kernel is supported.
|
||||||
|
|
||||||
|
The driver has been successfully used on the Gstreamer 1.18.5 with v4l2src
|
||||||
|
plugin.
|
||||||
|
|
||||||
|
|
||||||
|
Starfive Camera Subsystem hardware
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
The Starfive Camera Subsystem hardware consists of::
|
||||||
|
|
||||||
|
|\ +---------------+ +-----------+
|
||||||
|
+----------+ | \ | | | |
|
||||||
|
| | | | | | | |
|
||||||
|
| MIPI |----->| |----->| ISP |----->| |
|
||||||
|
| | | | | | | |
|
||||||
|
+----------+ | | | | | Memory |
|
||||||
|
|MUX| +---------------+ | Interface |
|
||||||
|
+----------+ | | | |
|
||||||
|
| | | |---------------------------->| |
|
||||||
|
| Parallel |----->| | | |
|
||||||
|
| | | | | |
|
||||||
|
+----------+ | / | |
|
||||||
|
|/ +-----------+
|
||||||
|
|
||||||
|
- MIPI: The MIPI interface, receiving data from a MIPI CSI-2 camera sensor.
|
||||||
|
|
||||||
|
- Parallel: The parallel interface, receiving data from a parallel sensor.
|
||||||
|
|
||||||
|
- ISP: The ISP, processing raw Bayer data from an image sensor and producing
|
||||||
|
YUV frames.
|
||||||
|
|
||||||
|
|
||||||
|
Topology
|
||||||
|
--------
|
||||||
|
|
||||||
|
The media controller pipeline graph is as follows:
|
||||||
|
|
||||||
|
.. _starfive_camss_graph:
|
||||||
|
|
||||||
|
.. kernel-figure:: starfive_camss_graph.dot
|
||||||
|
:alt: starfive_camss_graph.dot
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
The driver has 2 video devices:
|
||||||
|
|
||||||
|
- capture_raw: The capture device, capturing image data directly from a sensor.
|
||||||
|
- capture_yuv: The capture device, capturing YUV frame data processed by the
|
||||||
|
ISP module
|
||||||
|
|
||||||
|
The driver has 3 subdevices:
|
||||||
|
|
||||||
|
- stf_isp: is responsible for all the isp operations, outputs YUV frames.
|
||||||
|
- cdns_csi2rx: a CSI-2 bridge supporting up to 4 CSI lanes in input, and 4
|
||||||
|
different pixel streams in output.
|
||||||
|
- imx219: an image sensor, image data is sent through MIPI CSI-2.
|
12
Documentation/admin-guide/media/starfive_camss_graph.dot
Normal file
12
Documentation/admin-guide/media/starfive_camss_graph.dot
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
digraph board {
|
||||||
|
rankdir=TB
|
||||||
|
n00000001 [label="{{<port0> 0} | stf_isp\n/dev/v4l-subdev0 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||||
|
n00000001:port1 -> n00000008 [style=dashed]
|
||||||
|
n00000004 [label="capture_raw\n/dev/video0", shape=box, style=filled, fillcolor=yellow]
|
||||||
|
n00000008 [label="capture_yuv\n/dev/video1", shape=box, style=filled, fillcolor=yellow]
|
||||||
|
n0000000e [label="{{<port0> 0} | cdns_csi2rx.19800000.csi-bridge\n | {<port1> 1 | <port2> 2 | <port3> 3 | <port4> 4}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||||
|
n0000000e:port1 -> n00000001:port0 [style=dashed]
|
||||||
|
n0000000e:port1 -> n00000004 [style=dashed]
|
||||||
|
n00000018 [label="{{} | imx219 6-0010\n/dev/v4l-subdev1 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||||
|
n00000018:port0 -> n0000000e:port0 [style=bold]
|
||||||
|
}
|
|
@ -28,6 +28,7 @@ Video4Linux (V4L) driver-specific documentation
|
||||||
si470x
|
si470x
|
||||||
si4713
|
si4713
|
||||||
si476x
|
si476x
|
||||||
|
starfive_camss
|
||||||
vimc
|
vimc
|
||||||
visl
|
visl
|
||||||
vivid
|
vivid
|
||||||
|
|
|
@ -20643,6 +20643,7 @@ M: Jack Zhu <jack.zhu@starfivetech.com>
|
||||||
M: Changhuang Liang <changhuang.liang@starfivetech.com>
|
M: Changhuang Liang <changhuang.liang@starfivetech.com>
|
||||||
L: linux-media@vger.kernel.org
|
L: linux-media@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
F: Documentation/admin-guide/media/starfive_camss.rst
|
||||||
F: Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml
|
F: Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml
|
||||||
|
|
||||||
STARFIVE CRYPTO DRIVER
|
STARFIVE CRYPTO DRIVER
|
||||||
|
|
Loading…
Reference in a new issue