From: "Heiko Stübner" <heiko@sntech.de>
To: "Mehdi Djait" <mehdi.djait@linux.intel.com>,
"Maxime Chevallier" <maxime.chevallier@bootlin.com>,
"Théo Lebrun" <theo.lebrun@bootlin.com>,
"Gerald Loacker" <gerald.loacker@wolfvision.net>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
"Mauro Carvalho Chehab" <mchehab@kernel.org>,
"Rob Herring" <robh+dt@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Kever Yang" <kever.yang@rock-chips.com>,
"Nicolas Dufresne" <nicolas.dufresne@collabora.com>,
"Sebastian Reichel" <sebastian.reichel@collabora.com>,
"Collabora Kernel Team" <kernel@collabora.com>,
"Paul Kocialkowski" <paulk@sys-base.io>,
"Alexander Shiyan" <eagle.alexander923@gmail.com>,
"Val Packett" <val@packett.cool>, "Rob Herring" <robh@kernel.org>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Sakari Ailus" <sakari.ailus@linux.intel.com>,
michael.riesch@collabora.com
Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
Michael Riesch <michael.riesch@wolfvision.net>,
Michael Riesch <michael.riesch@collabora.com>
Subject: Re: [PATCH v6 01/13] Documentation: admin-guide: media: add rockchip camera interface
Date: Wed, 30 Apr 2025 11:42:41 +0200 [thread overview]
Message-ID: <1833589.VLH7GnMWUR@diego> (raw)
In-Reply-To: <20240220-rk3568-vicap-v6-1-d2f5fbee1551@collabora.com>
Hey Michael,
Am Mittwoch, 30. April 2025, 11:15:50 Mitteleuropäische Sommerzeit schrieb Michael Riesch via B4 Relay:
> From: Michael Riesch <michael.riesch@collabora.com>
>
> 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.
>
> Signed-off-by: Michael Riesch <michael.riesch@collabora.com>
> diff --git a/Documentation/admin-guide/media/rkcif.rst b/Documentation/admin-guide/media/rkcif.rst
> new file mode 100644
> index 000000000000..f35f644a54a0
> --- /dev/null
> +++ b/Documentation/admin-guide/media/rkcif.rst
> @@ -0,0 +1,83 @@
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +=========================================
> +Rockchip Camera Interface (CIF)
> +=========================================
> +
> +Introduction
> +============
> +
> +The Rockchip Camera Interface (CIF) is featured in many Rockchip SoCs in
> +different variants.
> +The different variants are combinations of common building blocks, such as
> +
> +* INTERFACE blocks of different types, namely
> +
> + * the Digital Video Port (DVP, a parallel data interface)
> + * the interface block for the MIPI CSI-2 receiver
> +
> +* CROP units
> +
> +* MIPI CSI-2 receiver (not available on all variants): This unit is referred
> + to as MIPI CSI HOST in the Rockchip documentation.
> + Technically, it is a separate hardware block, but it is strongly coupled to
> + the CIF and therefore included here.
> +
> +* MUX units (not available on all variants) that pass the video data to an
> + image signal processor (ISP)
> +
> +* SCALE units (not available on all variants)
> +
> +* DMA engines that transfer video data into system memory using a
> + double-buffering mechanism called ping-pong mode
> +
> +* Support for four streams per INTERFACE block (not available on all
> + variants), e.g., for MIPI CSI-2 Virtual Channels (VCs)
> +
> +This document describes the different variants of the 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.
> +
> +Variants
> +========
> +
> +Rockchip PX30 Video Input Processor (VIP)
> +-----------------------------------------
> +
> +The PX30 Video Input Processor (VIP) features a digital video port that accepts
> +parallel video data or BT.656.
> +Since these protocols do not feature multiple streams, the VIP has one DMA
> +engine that transfers the input video data into system memory.
> +
> +The rkcif driver represents this hardware variant by exposing one V4L2 subdevice
> +(the DVP INTERFACE/CROP block) and one V4L2 device (the DVP DMA engine).
> +
> +Rockchip RK3568 Video Capture (VICAP)
> +-------------------------------------
> +
> +The RK3568 Video Capture (VICAP) unit features a digital video port and a MIPI
> +CSI-2 receiver that can receive video data independently.
> +The DVP accepts parallel video data, BT.656 and BT.1120.
> +Since the BT.1120 protocol may feature more than one stream, the RK3568 VICAP
> +DVP features four DMA engines that can capture different streams.
> +Similarly, the RK3568 VICAP MIPI CSI-2 receiver features four DMA engines to
> +handle different Virtual Channels (VCs).
> +
> +The rkcif driver represents this hardware variant by exposing up to three V4L2
> +subdevices:
> +
> +* rkcif-dvp0: INTERFACE/CROP block for the DVP
> +* rockchip-mipi-csi fdfb0000.csi: MIPI CSI-2 receiver
> +* rkcif-mipi0: INTERFACE/CROP block for the MIPI CSI-2 receiver
> +
> +and up to five V4L2 devices:
> +
> +* rkcif-dvp0-id0: The support for multiple streams on the DVP is not yet
> + implemented, as it is hard to find test hardware. Thus, this video device
> + represents the first DMA engine of the RK3568 DVP.
> +* rkcif-mipi0-id[0...3]: The four DMA engines of the RK3568 MIPI CSI-2
> + receiver. Each DMA engine can capture a certain MIPI CSI-2 Virtual Channel.
> +
> +.. kernel-figure:: rkcif-rk3568-vicap.dot
> + :alt: Topology of the RK3568 Video Capture (VICAP) unit
> + :align: center
in patch 6 you already have a block stating
Finally, the RK3588 VICAP unit constitutes an essential piece of the
camera interface with one DVP, six MIPI CSI-2 receivers, scale/crop
units, and a data path multiplexer (to scaler units, to ISP, ...).
so the rk3588 seems to be on the table "soonish" ;-) .
So maybe also already include it here in the description already, if there
is a next version, and your investigation is already that far along?
Otherwise a really nice (and concise) read, and made me understand the
setup somewhat nicely.
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
WARNING: multiple messages have this Message-ID (diff)
From: "Heiko Stübner" <heiko@sntech.de>
To: "Mehdi Djait" <mehdi.djait@linux.intel.com>,
"Maxime Chevallier" <maxime.chevallier@bootlin.com>,
"Théo Lebrun" <theo.lebrun@bootlin.com>,
"Gerald Loacker" <gerald.loacker@wolfvision.net>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
"Mauro Carvalho Chehab" <mchehab@kernel.org>,
"Rob Herring" <robh+dt@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Kever Yang" <kever.yang@rock-chips.com>,
"Nicolas Dufresne" <nicolas.dufresne@collabora.com>,
"Sebastian Reichel" <sebastian.reichel@collabora.com>,
"Collabora Kernel Team" <kernel@collabora.com>,
"Paul Kocialkowski" <paulk@sys-base.io>,
"Alexander Shiyan" <eagle.alexander923@gmail.com>,
"Val Packett" <val@packett.cool>, "Rob Herring" <robh@kernel.org>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Sakari Ailus" <sakari.ailus@linux.intel.com>,
michael.riesch@collabora.com
Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
Michael Riesch <michael.riesch@wolfvision.net>,
Michael Riesch <michael.riesch@collabora.com>
Subject: Re: [PATCH v6 01/13] Documentation: admin-guide: media: add rockchip camera interface
Date: Wed, 30 Apr 2025 11:42:41 +0200 [thread overview]
Message-ID: <1833589.VLH7GnMWUR@diego> (raw)
In-Reply-To: <20240220-rk3568-vicap-v6-1-d2f5fbee1551@collabora.com>
Hey Michael,
Am Mittwoch, 30. April 2025, 11:15:50 Mitteleuropäische Sommerzeit schrieb Michael Riesch via B4 Relay:
> From: Michael Riesch <michael.riesch@collabora.com>
>
> 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.
>
> Signed-off-by: Michael Riesch <michael.riesch@collabora.com>
> diff --git a/Documentation/admin-guide/media/rkcif.rst b/Documentation/admin-guide/media/rkcif.rst
> new file mode 100644
> index 000000000000..f35f644a54a0
> --- /dev/null
> +++ b/Documentation/admin-guide/media/rkcif.rst
> @@ -0,0 +1,83 @@
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +=========================================
> +Rockchip Camera Interface (CIF)
> +=========================================
> +
> +Introduction
> +============
> +
> +The Rockchip Camera Interface (CIF) is featured in many Rockchip SoCs in
> +different variants.
> +The different variants are combinations of common building blocks, such as
> +
> +* INTERFACE blocks of different types, namely
> +
> + * the Digital Video Port (DVP, a parallel data interface)
> + * the interface block for the MIPI CSI-2 receiver
> +
> +* CROP units
> +
> +* MIPI CSI-2 receiver (not available on all variants): This unit is referred
> + to as MIPI CSI HOST in the Rockchip documentation.
> + Technically, it is a separate hardware block, but it is strongly coupled to
> + the CIF and therefore included here.
> +
> +* MUX units (not available on all variants) that pass the video data to an
> + image signal processor (ISP)
> +
> +* SCALE units (not available on all variants)
> +
> +* DMA engines that transfer video data into system memory using a
> + double-buffering mechanism called ping-pong mode
> +
> +* Support for four streams per INTERFACE block (not available on all
> + variants), e.g., for MIPI CSI-2 Virtual Channels (VCs)
> +
> +This document describes the different variants of the 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.
> +
> +Variants
> +========
> +
> +Rockchip PX30 Video Input Processor (VIP)
> +-----------------------------------------
> +
> +The PX30 Video Input Processor (VIP) features a digital video port that accepts
> +parallel video data or BT.656.
> +Since these protocols do not feature multiple streams, the VIP has one DMA
> +engine that transfers the input video data into system memory.
> +
> +The rkcif driver represents this hardware variant by exposing one V4L2 subdevice
> +(the DVP INTERFACE/CROP block) and one V4L2 device (the DVP DMA engine).
> +
> +Rockchip RK3568 Video Capture (VICAP)
> +-------------------------------------
> +
> +The RK3568 Video Capture (VICAP) unit features a digital video port and a MIPI
> +CSI-2 receiver that can receive video data independently.
> +The DVP accepts parallel video data, BT.656 and BT.1120.
> +Since the BT.1120 protocol may feature more than one stream, the RK3568 VICAP
> +DVP features four DMA engines that can capture different streams.
> +Similarly, the RK3568 VICAP MIPI CSI-2 receiver features four DMA engines to
> +handle different Virtual Channels (VCs).
> +
> +The rkcif driver represents this hardware variant by exposing up to three V4L2
> +subdevices:
> +
> +* rkcif-dvp0: INTERFACE/CROP block for the DVP
> +* rockchip-mipi-csi fdfb0000.csi: MIPI CSI-2 receiver
> +* rkcif-mipi0: INTERFACE/CROP block for the MIPI CSI-2 receiver
> +
> +and up to five V4L2 devices:
> +
> +* rkcif-dvp0-id0: The support for multiple streams on the DVP is not yet
> + implemented, as it is hard to find test hardware. Thus, this video device
> + represents the first DMA engine of the RK3568 DVP.
> +* rkcif-mipi0-id[0...3]: The four DMA engines of the RK3568 MIPI CSI-2
> + receiver. Each DMA engine can capture a certain MIPI CSI-2 Virtual Channel.
> +
> +.. kernel-figure:: rkcif-rk3568-vicap.dot
> + :alt: Topology of the RK3568 Video Capture (VICAP) unit
> + :align: center
in patch 6 you already have a block stating
Finally, the RK3588 VICAP unit constitutes an essential piece of the
camera interface with one DVP, six MIPI CSI-2 receivers, scale/crop
units, and a data path multiplexer (to scaler units, to ISP, ...).
so the rk3588 seems to be on the table "soonish" ;-) .
So maybe also already include it here in the description already, if there
is a next version, and your investigation is already that far along?
Otherwise a really nice (and concise) read, and made me understand the
setup somewhat nicely.
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2025-04-30 10:18 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-30 9:15 [PATCH v6 00/13] media: rockchip: add a driver for the rockchip camera interface Michael Riesch
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` [PATCH v6 01/13] Documentation: admin-guide: media: add " Michael Riesch
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:42 ` Heiko Stübner [this message]
2025-04-30 9:42 ` Heiko Stübner
2025-04-30 9:15 ` [PATCH v6 02/13] media: dt-bindings: video-interfaces: add defines for sampling modes Michael Riesch
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` [PATCH v6 03/13] media: dt-bindings: add rockchip px30 vip Michael Riesch
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` [PATCH v6 04/13] media: dt-bindings: add rockchip rk3568 vicap Michael Riesch
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-05-01 11:49 ` Krzysztof Kozlowski
2025-05-01 11:49 ` Krzysztof Kozlowski
2025-04-30 9:15 ` [PATCH v6 05/13] media: dt-bindings: add rockchip rk3568 mipi csi receiver Michael Riesch
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 10:50 ` Rob Herring (Arm)
2025-04-30 10:50 ` Rob Herring (Arm)
2025-05-06 12:09 ` Mehdi Djait
2025-05-06 12:09 ` Mehdi Djait
2025-05-06 19:54 ` Michael Riesch
2025-05-06 19:54 ` Michael Riesch
2025-04-30 9:15 ` [PATCH v6 06/13] media: rockchip: add a driver for the rockchip camera interface Michael Riesch
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-05-01 0:43 ` Bryan O'Donoghue
2025-05-01 0:43 ` Bryan O'Donoghue
2025-05-06 10:37 ` Mehdi Djait
2025-05-06 10:37 ` Mehdi Djait
2025-05-06 20:32 ` Michael Riesch
2025-05-06 20:32 ` Michael Riesch
2025-05-07 9:36 ` Mehdi Djait
2025-05-07 9:36 ` Mehdi Djait
2025-05-12 9:39 ` Michael Riesch
2025-05-12 9:39 ` Michael Riesch
2025-04-30 9:15 ` [PATCH v6 07/13] media: rockchip: rkcif: add driver for mipi csi-2 receiver Michael Riesch
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-05-01 0:29 ` Bryan O'Donoghue
2025-05-01 0:29 ` Bryan O'Donoghue
2025-05-06 18:56 ` Michael Riesch
2025-05-06 18:56 ` Michael Riesch
2025-05-01 21:57 ` Sakari Ailus
2025-05-01 21:57 ` Sakari Ailus
2025-05-02 13:31 ` Laurent Pinchart
2025-05-02 13:31 ` Laurent Pinchart
2025-05-02 14:19 ` Michael Riesch
2025-05-02 14:19 ` Michael Riesch
2025-05-02 14:35 ` Laurent Pinchart
2025-05-02 14:35 ` Laurent Pinchart
2025-05-06 18:39 ` Michael Riesch
2025-05-06 18:39 ` Michael Riesch
2025-05-07 8:38 ` Laurent Pinchart
2025-05-07 8:38 ` Laurent Pinchart
2025-04-30 9:15 ` [PATCH v6 08/13] media: rockchip: rkcif: add support for mipi csi-2 capture Michael Riesch
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-05-01 0:48 ` Bryan O'Donoghue
2025-05-01 0:48 ` Bryan O'Donoghue
2025-04-30 9:15 ` [PATCH v6 09/13] arm64: defconfig: enable rockchip camera interface Michael Riesch
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-05-01 0:47 ` Bryan O'Donoghue
2025-05-01 0:47 ` Bryan O'Donoghue
2025-04-30 9:15 ` [PATCH v6 10/13] arm64: dts: rockchip: add the vip node to px30 Michael Riesch
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:15 ` Michael Riesch via B4 Relay
2025-04-30 9:16 ` [PATCH v6 11/13] arm64: dts: rockchip: add vicap node to rk356x Michael Riesch
2025-04-30 9:16 ` Michael Riesch via B4 Relay
2025-04-30 9:16 ` Michael Riesch via B4 Relay
2025-04-30 9:16 ` [PATCH v6 12/13] arm64: dts: rockchip: add mipi csi receiver " Michael Riesch
2025-04-30 9:16 ` Michael Riesch via B4 Relay
2025-04-30 9:16 ` Michael Riesch via B4 Relay
2025-04-30 9:16 ` [PATCH v6 13/13] arm64: dts: rockchip: enable vicap dvp on wolfvision pf5 io expander Michael Riesch
2025-04-30 9:16 ` Michael Riesch via B4 Relay
2025-04-30 9:16 ` Michael Riesch via B4 Relay
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1833589.VLH7GnMWUR@diego \
--to=heiko@sntech.de \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=eagle.alexander923@gmail.com \
--cc=gerald.loacker@wolfvision.net \
--cc=kernel@collabora.com \
--cc=kever.yang@rock-chips.com \
--cc=krzk+dt@kernel.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=maxime.chevallier@bootlin.com \
--cc=mchehab@kernel.org \
--cc=mehdi.djait@linux.intel.com \
--cc=michael.riesch@collabora.com \
--cc=michael.riesch@wolfvision.net \
--cc=nicolas.dufresne@collabora.com \
--cc=p.zabel@pengutronix.de \
--cc=paulk@sys-base.io \
--cc=robh+dt@kernel.org \
--cc=robh@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=sebastian.reichel@collabora.com \
--cc=theo.lebrun@bootlin.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=val@packett.cool \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.