Skip to content

Commit 1c5e4cf

Browse files
Michael RieschHans Verkuil
authored andcommitted
Documentation: admin-guide: media: add rockchip camera interface
Add a document that describes the different variants of the Rockchip Camera Interface (CIF), their hardware layout, as well as their representation in the media controller centric rkcif device driver, which is located under drivers/media/platform/rockchip/rkcif. Reviewed-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Michael Riesch <michael.riesch@collabora.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
1 parent 2f1e888 commit 1c5e4cf

4 files changed

Lines changed: 95 additions & 0 deletions

File tree

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
digraph board {
2+
rankdir=TB
3+
n00000001 [label="{{<port0> 0} | rkcif-dvp0\n/dev/v4l-subdev0 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
4+
n00000001:port1 -> n00000004
5+
n00000004 [label="rkcif-dvp0-id0\n/dev/video0", shape=box, style=filled, fillcolor=yellow]
6+
n00000025 [label="{{} | it6801 2-0048\n/dev/v4l-subdev1 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
7+
n00000025:port0 -> n00000001:port0
8+
}
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
=========================================
4+
Rockchip Camera Interface (CIF)
5+
=========================================
6+
7+
Introduction
8+
============
9+
10+
The Rockchip Camera Interface (CIF) is featured in many Rockchip SoCs in
11+
different variants.
12+
The different variants are combinations of common building blocks, such as
13+
14+
* INTERFACE blocks of different types, namely
15+
16+
* the Digital Video Port (DVP, a parallel data interface)
17+
* the interface block for the MIPI CSI-2 receiver
18+
19+
* CROP units
20+
21+
* MIPI CSI-2 receiver (not available on all variants): This unit is referred
22+
to as MIPI CSI HOST in the Rockchip documentation.
23+
Technically, it is a separate hardware block, but it is strongly coupled to
24+
the CIF and therefore included here.
25+
26+
* MUX units (not available on all variants) that pass the video data to an
27+
image signal processor (ISP)
28+
29+
* SCALE units (not available on all variants)
30+
31+
* DMA engines that transfer video data into system memory using a
32+
double-buffering mechanism called ping-pong mode
33+
34+
* Support for four streams per INTERFACE block (not available on all
35+
variants), e.g., for MIPI CSI-2 Virtual Channels (VCs)
36+
37+
This document describes the different variants of the CIF, their hardware
38+
layout, as well as their representation in the media controller centric rkcif
39+
device driver, which is located under drivers/media/platform/rockchip/rkcif.
40+
41+
Variants
42+
========
43+
44+
Rockchip PX30 Video Input Processor (VIP)
45+
-----------------------------------------
46+
47+
The PX30 Video Input Processor (VIP) features a digital video port that accepts
48+
parallel video data or BT.656.
49+
Since these protocols do not feature multiple streams, the VIP has one DMA
50+
engine that transfers the input video data into system memory.
51+
52+
The rkcif driver represents this hardware variant by exposing one V4L2 subdevice
53+
(the DVP INTERFACE/CROP block) and one V4L2 device (the DVP DMA engine).
54+
55+
Rockchip RK3568 Video Capture (VICAP)
56+
-------------------------------------
57+
58+
The RK3568 Video Capture (VICAP) unit features a digital video port and a MIPI
59+
CSI-2 receiver that can receive video data independently.
60+
The DVP accepts parallel video data, BT.656 and BT.1120.
61+
Since the BT.1120 protocol may feature more than one stream, the RK3568 VICAP
62+
DVP features four DMA engines that can capture different streams.
63+
Similarly, the RK3568 VICAP MIPI CSI-2 receiver features four DMA engines to
64+
handle different Virtual Channels (VCs).
65+
66+
The rkcif driver represents this hardware variant by exposing up the following
67+
V4L2 subdevices:
68+
69+
* rkcif-dvp0: INTERFACE/CROP block for the DVP
70+
71+
and the following video devices:
72+
73+
* rkcif-dvp0-id0: The support for multiple streams on the DVP is not yet
74+
implemented, as it is hard to find test hardware. Thus, this video device
75+
represents the first DMA engine of the RK3568 DVP.
76+
77+
.. kernel-figure:: rkcif-rk3568-vicap.dot
78+
:alt: Topology of the RK3568 Video Capture (VICAP) unit
79+
:align: center

Documentation/admin-guide/media/v4l-drivers.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Video4Linux (V4L) driver-specific documentation
2626
qcom_camss
2727
raspberrypi-pisp-be
2828
rcar-fdp1
29+
rkcif
2930
rkisp1
3031
raspberrypi-rp1-cfe
3132
saa7134

MAINTAINERS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22263,6 +22263,13 @@ S: Maintained
2226322263
F: Documentation/devicetree/bindings/net/can/rockchip,rk3568v2-canfd.yaml
2226422264
F: drivers/net/can/rockchip/
2226522265

22266+
ROCKCHIP CAMERA INTERFACE (RKCIF) DRIVER
22267+
M: Mehdi Djait <mehdi.djait@linux.intel.com>
22268+
M: Michael Riesch <michael.riesch@collabora.com>
22269+
L: linux-media@vger.kernel.org
22270+
S: Maintained
22271+
F: Documentation/admin-guide/media/rkcif*
22272+
2226622273
ROCKCHIP CRYPTO DRIVERS
2226722274
M: Corentin Labbe <clabbe@baylibre.com>
2226822275
L: linux-crypto@vger.kernel.org

0 commit comments

Comments
 (0)