public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
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>



  reply	other threads:[~2025-04-30  9:43 UTC|newest]

Thread overview: 34+ 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 via B4 Relay
2025-04-30  9:15 ` [PATCH v6 01/13] Documentation: admin-guide: media: add " Michael Riesch via B4 Relay
2025-04-30  9:42   ` Heiko Stübner [this message]
2025-04-30  9:15 ` [PATCH v6 02/13] media: dt-bindings: video-interfaces: add defines for sampling modes Michael Riesch via B4 Relay
2025-04-30  9:15 ` [PATCH v6 03/13] media: dt-bindings: add rockchip px30 vip Michael Riesch via B4 Relay
2025-04-30  9:15 ` [PATCH v6 04/13] media: dt-bindings: add rockchip rk3568 vicap Michael Riesch via B4 Relay
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 via B4 Relay
2025-04-30 10:50   ` Rob Herring (Arm)
2025-05-06 12:09   ` Mehdi Djait
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 via B4 Relay
2025-05-01  0:43   ` Bryan O'Donoghue
2025-05-06 10:37   ` Mehdi Djait
2025-05-06 20:32     ` Michael Riesch
2025-05-07  9:36       ` Mehdi Djait
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 via B4 Relay
2025-05-01  0:29   ` Bryan O'Donoghue
2025-05-06 18:56     ` Michael Riesch
2025-05-01 21:57   ` Sakari Ailus
2025-05-02 13:31   ` Laurent Pinchart
2025-05-02 14:19     ` Michael Riesch
2025-05-02 14:35       ` Laurent Pinchart
2025-05-06 18:39         ` Michael Riesch
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 via B4 Relay
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 via B4 Relay
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 via B4 Relay
2025-04-30  9:16 ` [PATCH v6 11/13] arm64: dts: rockchip: add vicap node to rk356x Michael Riesch via B4 Relay
2025-04-30  9:16 ` [PATCH v6 12/13] arm64: dts: rockchip: add mipi csi receiver " 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 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox