From nobody Sat Jun 13 07:51:40 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9BE8284662; Fri, 8 May 2026 19:31:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268718; cv=none; b=V7HJjIy2kXCz/F07ad8drw3LKSqrMJiBuq8pPrmb6rSKra5VytLGjQiNoXNIX41Bzv77j4oMp/ZBRUtni2Dp0shoP5yTH2pIiVOVUPAbvQqKlYQBxnEkE259+2qhQp26YM+JvwNa1stbsn9cKEa7aAtIXBLD+zHV26NHajUeAX0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268718; c=relaxed/simple; bh=xqstT+tlRHEtyGEXYmO+4LeTddNMwJiokiAD7V7J5UA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hlb8fFgv9tpjjtLnuhxbTLVwpezGzzKGuvGXUsL7rWqKnA7rI9DvQziblCOyC6QSF+Qa0kUtJIwjvSLiHJzEiz5lBgHniEeBvW5w9xFwlNhrMhRwGP5t1HUYlLDJDYwvQxdLgWe1J4LF8leBFvuXgGWBP+IS4Om9bOARmHT0KwI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Tv7Mf0v6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Tv7Mf0v6" Received: by smtp.kernel.org (Postfix) with ESMTPS id 6F0BEC2BCC9; Fri, 8 May 2026 19:31:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778268718; bh=xqstT+tlRHEtyGEXYmO+4LeTddNMwJiokiAD7V7J5UA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=Tv7Mf0v6SwwKBfESBQ3aNSSO7Tp0hdrJhKOA4R8FIuH23IX3jGh9n7yjzUfrGvu+V ixo9iXulyTR6K1F+qnF/qEHOhYa0UJtx7MHf0TXw7Ia9jdzH5PRmKnZF9KinPVV7Y9 xqVcZkmbd4NT/H8cQVZvUA6cMpcleWQaV3ZR/gz7bjrG96t4uyxjtA4mLIQTdPsIaW nMXw1sFiYclQIBIQYvdDeLWZuSpTxavb1G7iCNBY7MMDVQdYAP+uwixjfpEIlhRWEu 9mGEWzP36ikjLwYMXchS85aUIS4cZEMfW1vJWAX1dLpALbjkjXo0P7ljgiD6AmIT3t lcirTo7vvHJLQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5E3CDCD342F; Fri, 8 May 2026 19:31:58 +0000 (UTC) From: Michael Riesch via B4 Relay Date: Fri, 08 May 2026 21:31:44 +0200 Subject: [PATCH v4 1/8] Documentation: admin-guide: media: add rk3588 vicap Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260508-rk3588-vicap-v4-1-6a6cd6f7c90b@collabora.com> References: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> In-Reply-To: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> To: Mehdi Djait , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Kever Yang , Jagan Teki , =?utf-8?q?=D0=9A=D1=83=D0=B7=D0=BD=D0=B5=D1=86=D0=BE=D0=B2_=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= , Charalampos Mitrodimas , Sebastian Reichel , Nicolas Dufresne , Collabora Kernel Team , Sakari Ailus Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Michael Riesch X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778268716; l=4871; i=michael.riesch@collabora.com; s=20260428; h=from:subject:message-id; bh=eS5mY4EZ7XDsw0jrDI/5w4/ofpel/2YcT5yOuU60IhQ=; b=eo5zgOtrqWV7F7L14CC47Z6U10rVZx6uBh4oDQ4DnhvcLQywH22RMvguVCbnkKeh8g+UFIWbG DMeDrld3/x7ANP7ooKwyNqz+Be9GhnIADR6R28ui9mrzKfQCVSc3Y9i X-Developer-Key: i=michael.riesch@collabora.com; a=ed25519; pk=tAbmpPTE1MELYweXqqDU40fa18uCO6s32GJL/RzyW2Y= X-Endpoint-Received: by B4 Relay for michael.riesch@collabora.com/20260428 with auth_id=759 X-Original-From: Michael Riesch Reply-To: michael.riesch@collabora.com From: Michael Riesch Add a section that describes the Rockchip RK3588 VICAP. Reviewed-by: Mehdi Djait Signed-off-by: Michael Riesch --- .../admin-guide/media/rkcif-rk3588-vicap.dot | 29 ++++++++++++++++++= ++ Documentation/admin-guide/media/rkcif.rst | 32 ++++++++++++++++++= ++++ 2 files changed, 61 insertions(+) diff --git a/Documentation/admin-guide/media/rkcif-rk3588-vicap.dot b/Docum= entation/admin-guide/media/rkcif-rk3588-vicap.dot new file mode 100644 index 0000000000000000000000000000000000000000..f6d3404920b544f921987d3240f= 89987b340e138 --- /dev/null +++ b/Documentation/admin-guide/media/rkcif-rk3588-vicap.dot @@ -0,0 +1,29 @@ +digraph board { + rankdir=3DTB + n00000007 [label=3D"{{ 0} | rkcif-mipi2\n/dev/v4l-subdev0 |= { 1}}", shape=3DMrecord, style=3Dfilled, fillcolor=3Dgreen] + n00000007:port1 -> n0000000a + n00000007:port1 -> n00000010 [style=3Ddashed] + n00000007:port1 -> n00000016 [style=3Ddashed] + n00000007:port1 -> n0000001c [style=3Ddashed] + n0000000a [label=3D"rkcif-mipi2-id0\n/dev/video0", shape=3Dbox, st= yle=3Dfilled, fillcolor=3Dyellow] + n00000010 [label=3D"rkcif-mipi2-id1\n/dev/video1", shape=3Dbox, st= yle=3Dfilled, fillcolor=3Dyellow] + n00000016 [label=3D"rkcif-mipi2-id2\n/dev/video2", shape=3Dbox, st= yle=3Dfilled, fillcolor=3Dyellow] + n0000001c [label=3D"rkcif-mipi2-id3\n/dev/video3", shape=3Dbox, st= yle=3Dfilled, fillcolor=3Dyellow] + n00000025 [label=3D"{{ 0} | rkcif-mipi4\n/dev/v4l-subdev1 |= { 1}}", shape=3DMrecord, style=3Dfilled, fillcolor=3Dgreen] + n00000025:port1 -> n00000028 + n00000025:port1 -> n0000002e [style=3Ddashed] + n00000025:port1 -> n00000034 [style=3Ddashed] + n00000025:port1 -> n0000003a [style=3Ddashed] + n00000028 [label=3D"rkcif-mipi4-id0\n/dev/video4", shape=3Dbox, st= yle=3Dfilled, fillcolor=3Dyellow] + n0000002e [label=3D"rkcif-mipi4-id1\n/dev/video5", shape=3Dbox, st= yle=3Dfilled, fillcolor=3Dyellow] + n00000034 [label=3D"rkcif-mipi4-id2\n/dev/video6", shape=3Dbox, st= yle=3Dfilled, fillcolor=3Dyellow] + n0000003a [label=3D"rkcif-mipi4-id3\n/dev/video7", shape=3Dbox, st= yle=3Dfilled, fillcolor=3Dyellow] + n00000043 [label=3D"{{ 0} | dw-mipi-csi2rx fdd30000.csi\n/d= ev/v4l-subdev2 | { 1}}", shape=3DMrecord, style=3Dfilled, fillcolor= =3Dgreen] + n00000043:port1 -> n00000007:port0 + n00000048 [label=3D"{{ 0} | dw-mipi-csi2rx fdd50000.csi\n/d= ev/v4l-subdev3 | { 1}}", shape=3DMrecord, style=3Dfilled, fillcolor= =3Dgreen] + n00000048:port1 -> n00000025:port0 + n0000004d [label=3D"{{} | imx415 3-001a\n/dev/v4l-subdev4 | { 0}}", shape=3DMrecord, style=3Dfilled, fillcolor=3Dgreen] + n0000004d:port0 -> n00000043:port0 + n00000051 [label=3D"{{} | imx415 4-001a\n/dev/v4l-subdev5 | { 0}}", shape=3DMrecord, style=3Dfilled, fillcolor=3Dgreen] + n00000051:port0 -> n00000048:port0 +} diff --git a/Documentation/admin-guide/media/rkcif.rst b/Documentation/admi= n-guide/media/rkcif.rst index 2558c121abc466393b4a132e0d9abd2d37f2d25b..313a0ea45d16fe9bbb79d0798e8= f8b1dbe1cb83f 100644 --- a/Documentation/admin-guide/media/rkcif.rst +++ b/Documentation/admin-guide/media/rkcif.rst @@ -77,3 +77,35 @@ and the following video devices: .. kernel-figure:: rkcif-rk3568-vicap.dot :alt: Topology of the RK3568 Video Capture (VICAP) unit :align: center + +Rockchip RK3588 Video Capture (VICAP) +------------------------------------- + +The RK3588 Video Capture (VICAP) unit features a digital video port and six +MIPI CSI-2 capture interfaces 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 RK3588 VI= CAP +DVP features four DMA engines that can capture different streams. +Similarly, the RK3588 VICAP MIPI CSI-2 receivers feature four DMA engines = each +to handle different Virtual Channels (VCs). + +The rkcif driver represents this hardware variant by exposing the following +V4L2 subdevices: + +* dw-mipi-csi2rx fdd30000.csi: MIPI CSI-2 receiver connected to MIPI DPHY0 +* dw-mipi-csi2rx fdd50000.csi: MIPI CSI-2 receiver connected to MIPI DPHY1 +* rkcif-mipi2: INTERFACE/CROP block for the MIPI CSI-2 receiver connected = to + MIPI DPHY0 +* rkcif-mipi4: INTERFACE/CROP block for the MIPI CSI-2 receiver connected = to + MIPI DPHY1 + +and the following video devices: + +* rkcif-mipi2-id{0,1,2,3}: The DMA engines connected to the rkcif-mipi2 + INTERFACE/CROP block. +* rkcif-mipi4-id{0,1,2,3}: The DMA engines connected to the rkcif-mipi4 + INTERFACE/CROP block. + +.. kernel-figure:: rkcif-rk3588-vicap.dot + :alt: Topology of the RK3588 Video Capture (VICAP) unit + :align: center --=20 2.47.3 From nobody Sat Jun 13 07:51:40 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9D17359A8B; Fri, 8 May 2026 19:31:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268718; cv=none; b=sq1ryqIyGXeG282ZbztOmlPlPCOmroro8YJux/4xu6YQQR4VeLXoLoNNANcrR4txTXBk1dHPYUkhfUhDbF9NUTRUJMJ5L65KGRyk3TXmbQgj2JP4sB0tpMtSLQUW6AgztoVpX3bWSJsOhgpAaecfbhC10R+1cENssLXKsDzbYWE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268718; c=relaxed/simple; bh=nNh4UI8zUdnsYf6c3yY+Rxwff13VAYpHvEdFXX6II5s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VAQ39MOcIadGXAt/M3HLSykVe3Qmi/Tt4Fl34ggLCNK2cJXm1BQH2cCODKe/SSPwWWvjWqvlyOqM9HHuE3Pv2ksyGWwsupxAyijcsy8KpgCXe70I/O2mE1cN4BPYbbJBb6BUbCYHIgfgSASBcFlZYliRJ50avv0wbz9B7KDYTYo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Qj15xbw6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Qj15xbw6" Received: by smtp.kernel.org (Postfix) with ESMTPS id 7D567C2BCF4; Fri, 8 May 2026 19:31:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778268718; bh=nNh4UI8zUdnsYf6c3yY+Rxwff13VAYpHvEdFXX6II5s=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=Qj15xbw6e2wtkF3aGoeOjnYNINoSNugoiYi1rXjIxtUvrRJK3TWBivjpdsOYuhbo4 d7EmjMCCi3kyG79Z6GFB0EY7J7RMCbLNALf7HdyTDeXBpM1Ad/VZDpvf6RkHerTZaJ /rR0bQ94puv5p7qU917OCG/OwsdbbM+B2+UUvnhv0nnE/imU1oY+3lQnJnOiMU+xmZ ODaR4AqtD7bp8BrUZoNhgkGzdc38CspCHyplICone7JR3niKucMD8zor/YmICOFbpf WCjwZdIkb/HkVWAUi6HZYd3HZ496qvMOeM05mAsE9x5hf/CGCuxPOM+M7MeEw9V3sF 9PcdEfbSpw9GA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6F584CD37B1; Fri, 8 May 2026 19:31:58 +0000 (UTC) From: Michael Riesch via B4 Relay Date: Fri, 08 May 2026 21:31:45 +0200 Subject: [PATCH v4 2/8] media: dt-bindings: add rockchip rk3588 vicap Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260508-rk3588-vicap-v4-2-6a6cd6f7c90b@collabora.com> References: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> In-Reply-To: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> To: Mehdi Djait , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Kever Yang , Jagan Teki , =?utf-8?q?=D0=9A=D1=83=D0=B7=D0=BD=D0=B5=D1=86=D0=BE=D0=B2_=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= , Charalampos Mitrodimas , Sebastian Reichel , Nicolas Dufresne , Collabora Kernel Team , Sakari Ailus Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Michael Riesch , Conor Dooley X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778268716; l=6664; i=michael.riesch@collabora.com; s=20260428; h=from:subject:message-id; bh=MB2lleeaGfpkbdhgTXXp4XKQh5zMC0P0DcNIMyC6fmY=; b=XJoI0fZNnztASZOkRLnbaF1URsqneqh8Mjkub4osBOqzvVU0d5Hd/YHIlRMDFGxYsJIBrzJMs ed6800azDNLDnLxhPBCgBW5eP86DOYEpqlryltYNW/gMbwEksfpKQ4r X-Developer-Key: i=michael.riesch@collabora.com; a=ed25519; pk=tAbmpPTE1MELYweXqqDU40fa18uCO6s32GJL/RzyW2Y= X-Endpoint-Received: by B4 Relay for michael.riesch@collabora.com/20260428 with auth_id=759 X-Original-From: Michael Riesch Reply-To: michael.riesch@collabora.com From: Michael Riesch Add documentation for the Rockchip RK3588 Video Capture (VICAP) unit. To that end, make the existing rockchip,rk3568-vicap documentation more general and introduce variant specific constraints. Acked-by: Conor Dooley Signed-off-by: Michael Riesch --- .../bindings/media/rockchip,rk3568-vicap.yaml | 187 +++++++++++++++++= +--- 1 file changed, 163 insertions(+), 24 deletions(-) diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3568-vicap.= yaml b/Documentation/devicetree/bindings/media/rockchip,rk3568-vicap.yaml index 18cd0a5a5318174910e04f6ef7558c92cbfec899..897ed00c239bdfe33777a8f8474= fb27fa6265e49 100644 --- a/Documentation/devicetree/bindings/media/rockchip,rk3568-vicap.yaml +++ b/Documentation/devicetree/bindings/media/rockchip,rk3568-vicap.yaml @@ -15,9 +15,15 @@ description: the data from camera sensors, video decoders, or other companion ICs and transfers it into system main memory by AXI bus. =20 + The Rockchip RK3588 Video Capture (VICAP) is similar to its RK3568 + counterpart, but features six MIPI CSI-2 ports and additional connections + to the image signal processor (ISP) blocks. + properties: compatible: - const: rockchip,rk3568-vicap + enum: + - rockchip,rk3568-vicap + - rockchip,rk3588-vicap =20 reg: maxItems: 1 @@ -26,37 +32,23 @@ properties: maxItems: 1 =20 clocks: - items: - - description: ACLK - - description: HCLK - - description: DCLK - - description: ICLK + minItems: 4 + maxItems: 5 =20 clock-names: - items: - - const: aclk - - const: hclk - - const: dclk - - const: iclk + minItems: 4 + maxItems: 5 =20 iommus: maxItems: 1 =20 resets: - items: - - description: ARST - - description: HRST - - description: DRST - - description: PRST - - description: IRST + minItems: 5 + maxItems: 9 =20 reset-names: - items: - - const: arst - - const: hrst - - const: drst - - const: prst - - const: irst + minItems: 5 + maxItems: 9 =20 rockchip,grf: $ref: /schemas/types.yaml#/definitions/phandle @@ -67,8 +59,15 @@ properties: =20 ports: $ref: /schemas/graph.yaml#/properties/ports + additionalProperties: false =20 properties: + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + port@0: $ref: /schemas/graph.yaml#/$defs/port-base unevaluatedProperties: false @@ -100,13 +99,75 @@ properties: =20 port@1: $ref: /schemas/graph.yaml#/properties/port - description: Port connected to the MIPI CSI-2 receiver output. + description: Port connected to the MIPI CSI-2 receiver 0 output. + + properties: + endpoint: + $ref: video-interfaces.yaml# + unevaluatedProperties: false + + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: Port connected to the MIPI CSI-2 receiver 1 output. + + properties: + endpoint: + $ref: video-interfaces.yaml# + unevaluatedProperties: false + + port@3: + $ref: /schemas/graph.yaml#/properties/port + description: Port connected to the MIPI CSI-2 receiver 2 output. + + properties: + endpoint: + $ref: video-interfaces.yaml# + unevaluatedProperties: false + + port@4: + $ref: /schemas/graph.yaml#/properties/port + description: Port connected to the MIPI CSI-2 receiver 3 output. + + properties: + endpoint: + $ref: video-interfaces.yaml# + unevaluatedProperties: false + + port@5: + $ref: /schemas/graph.yaml#/properties/port + description: Port connected to the MIPI CSI-2 receiver 4 output. + + properties: + endpoint: + $ref: video-interfaces.yaml# + unevaluatedProperties: false + + port@6: + $ref: /schemas/graph.yaml#/properties/port + description: Port connected to the MIPI CSI-2 receiver 5 output. =20 properties: endpoint: $ref: video-interfaces.yaml# unevaluatedProperties: false =20 + port@10: + $ref: /schemas/graph.yaml#/properties/port + description: Port connected to the ISP0 input. + + properties: + endpoint: + $ref: video-interfaces.yaml# + unevaluatedProperties: false + + port@11: + $ref: /schemas/graph.yaml#/properties/port + description: Port connected to the ISP1 input. + + properties: + endpoint: + $ref: video-interfaces.yaml# + unevaluatedProperties: false required: - compatible - reg @@ -114,6 +175,84 @@ required: - clocks - ports =20 +allOf: + - if: + properties: + compatible: + contains: + const: rockchip,rk3568-vicap + then: + properties: + clocks: + maxItems: 4 + + clock-names: + items: + - const: aclk + - const: hclk + - const: dclk + - const: iclk + + resets: + maxItems: 5 + + reset-names: + items: + - const: arst + - const: hrst + - const: drst + - const: prst + - const: irst + + ports: + properties: + port@2: false + + port@3: false + + port@4: false + + port@5: false + + port@6: false + + port@10: false + + port@11: false + + - if: + properties: + compatible: + contains: + const: rockchip,rk3588-vicap + then: + properties: + clocks: + minItems: 5 + + clock-names: + items: + - const: aclk + - const: hclk + - const: dclk + - const: iclk0 + - const: iclk1 + + resets: + minItems: 9 + + reset-names: + items: + - const: arst + - const: hrst + - const: drst + - const: irst0 + - const: irst1 + - const: irst2 + - const: irst3 + - const: irst4 + - const: irst5 + additionalProperties: false =20 examples: --=20 2.47.3 From nobody Sat Jun 13 07:51:40 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B710C35B644; Fri, 8 May 2026 19:31:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268718; cv=none; b=QFxqUN5B6csuTVZI0hn9pZuAhWhzHpj8q1LzF86+RMarphP0U1w3oebhiOmPuchSVFHuWiZ+uToCamag1Z8jPQq50G2CLxwXLJgYIn4BvwrfMqytv8HSHb8wlRwTlAIuoUaSAnvZX90VQcITxAVQ9eAEfppgIK6xxa+hYMTV1kI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268718; c=relaxed/simple; bh=pKv+CLxX/UD2XMS8J60dQhiP9h0ZtZrxBBY7ona1uZE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=J2gIK5RiivpJ7D4dk+PE6Ejd6fBdhbNKYGMvXIqI/nbXf2ejJsRdcgI+NV+KIM7XRen+5yhzB231nrDa+QEnU2rvcrjT2MAlJZUYUot4o3uw2C+xMaw4HRjroJkjAeOq8PhGeC+IrPjuJfWutLAOvPmWc6tDLGI1WX678JhJUX0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=epdGHLWL; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="epdGHLWL" Received: by smtp.kernel.org (Postfix) with ESMTPS id 8B39FC2BCF5; Fri, 8 May 2026 19:31:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778268718; bh=pKv+CLxX/UD2XMS8J60dQhiP9h0ZtZrxBBY7ona1uZE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=epdGHLWLYacX6bXfOb5RsLkZmDcSpHWTtg9FDPU1GORkIbh1zWXnSg4A9JhtcoxY6 6GpeDPp6G3xHmX690eRpShbSOXFkQNsgUqXViYHm4vjW5GPVC+hqH0QrnawGJ/iYkH bFVKP1QBiJ24ALTywVcakiv03DcuG1zpiEs0ebbv8K86Fc+n/w84c0Z06PqaTbQN6F 7rGJ6lEfxPwG/XAMcvHBqL4UWuTHo3dQW5xFluENvFX81OtOchLo2EzF0a+SytOLY/ 0EelipO1klFl8zZ9HVair96e+Wx5eFHOZ6WOMgMnqrZamhThADadsGASQcGzPuy4zS MWN7ltxb9esFw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8017BCD3445; Fri, 8 May 2026 19:31:58 +0000 (UTC) From: Michael Riesch via B4 Relay Date: Fri, 08 May 2026 21:31:46 +0200 Subject: [PATCH v4 3/8] media: rockchip: rkcif: add support for rk3588 vicap mipi capture Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260508-rk3588-vicap-v4-3-6a6cd6f7c90b@collabora.com> References: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> In-Reply-To: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> To: Mehdi Djait , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Kever Yang , Jagan Teki , =?utf-8?q?=D0=9A=D1=83=D0=B7=D0=BD=D0=B5=D1=86=D0=BE=D0=B2_=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= , Charalampos Mitrodimas , Sebastian Reichel , Nicolas Dufresne , Collabora Kernel Team , Sakari Ailus Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Michael Riesch X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778268716; l=8442; i=michael.riesch@collabora.com; s=20260428; h=from:subject:message-id; bh=BEPt6zq8R4Qn045fTzP3Nui1jBoi10qh3WpXM8Ex6Kw=; b=MMm70nE9R4J8Xe969EFIQaGZYgysk4V7l6ZfJJkxEnWhBsvp8gcZO2mhI/EcJVE2Q640pdcrH SgR+6lkeEaSANg/z5W+ZqtvkAFoqS3VokuOeP9VTKVcpWntBOVTAj5I X-Developer-Key: i=michael.riesch@collabora.com; a=ed25519; pk=tAbmpPTE1MELYweXqqDU40fa18uCO6s32GJL/RzyW2Y= X-Endpoint-Received: by B4 Relay for michael.riesch@collabora.com/20260428 with auth_id=759 X-Original-From: Michael Riesch Reply-To: michael.riesch@collabora.com From: Michael Riesch The RK3588 Video Capture (VICAP) unit features a Digital Video Port (DVP) and six MIPI CSI-2 capture interfaces. Add initial support for this variant to the rkcif driver and enable the MIPI CSI-2 capture interfaces. Reviewed-by: Mehdi Djait Signed-off-by: Michael Riesch --- .../platform/rockchip/rkcif/rkcif-capture-mipi.c | 141 +++++++++++++++++= ++++ .../platform/rockchip/rkcif/rkcif-capture-mipi.h | 1 + .../media/platform/rockchip/rkcif/rkcif-common.h | 2 +- drivers/media/platform/rockchip/rkcif/rkcif-dev.c | 18 +++ 4 files changed, 161 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/rockchip/rkcif/rkcif-capture-mipi.c b/d= rivers/media/platform/rockchip/rkcif/rkcif-capture-mipi.c index 9e67160a16e468401af32ed5672da8b6a0d86ef2..ad083dc9f5addbd4da29fac1f29= d668f276e2593 100644 --- a/drivers/media/platform/rockchip/rkcif/rkcif-capture-mipi.c +++ b/drivers/media/platform/rockchip/rkcif/rkcif-capture-mipi.c @@ -30,6 +30,14 @@ #define RK3568_MIPI_CTRL0_CROP_EN BIT(5) #define RK3568_MIPI_CTRL0_WRDDR(type) ((type) << 1) =20 +#define RK3588_MIPI_CTRL0_DMA_EN BIT(28) +#define RK3588_MIPI_CTRL0_HIGH_ALIGN BIT(27) +#define RK3588_MIPI_CTRL0_WRDDR(type) ((type) << 5) +#define RK3588_MIPI_CTRL0_CROP_EN BIT(4) +#define RK3588_MIPI_CTRL0_PARSE(type) ((type) << 1) + +#define RK3588_MIPI_CTRL_CAP_EN BIT(0) + #define RKCIF_MIPI_CTRL0_DT_ID(id) ((id) << 10) #define RKCIF_MIPI_CTRL0_VC_ID(id) ((id) << 8) #define RKCIF_MIPI_CTRL0_CAP_EN BIT(0) @@ -481,6 +489,132 @@ const struct rkcif_mipi_match_data rkcif_rk3568_vicap= _mipi_match_data =3D { }, }; =20 +static u32 +rkcif_rk3588_mipi_ctrl0(struct rkcif_stream *stream, + const struct rkcif_output_fmt *active_out_fmt) +{ + u32 ctrl0 =3D 0; + + ctrl0 |=3D RK3588_MIPI_CTRL0_DMA_EN; + ctrl0 |=3D RKCIF_MIPI_CTRL0_DT_ID(active_out_fmt->mipi.dt); + ctrl0 |=3D RK3588_MIPI_CTRL0_CROP_EN; + ctrl0 |=3D RKCIF_MIPI_CTRL0_CAP_EN; + + switch (active_out_fmt->mipi.type) { + case RKCIF_MIPI_TYPE_RAW8: + break; + case RKCIF_MIPI_TYPE_RAW10: + ctrl0 |=3D RK3588_MIPI_CTRL0_PARSE(0x1); + if (!active_out_fmt->mipi.compact) + ctrl0 |=3D RK3588_MIPI_CTRL0_WRDDR(0x1); + break; + case RKCIF_MIPI_TYPE_RAW12: + ctrl0 |=3D RK3588_MIPI_CTRL0_PARSE(0x2); + if (!active_out_fmt->mipi.compact) + ctrl0 |=3D RK3588_MIPI_CTRL0_WRDDR(0x1); + break; + case RKCIF_MIPI_TYPE_RGB888: + break; + case RKCIF_MIPI_TYPE_YUV422SP: + ctrl0 |=3D RK3588_MIPI_CTRL0_WRDDR(0x4); + break; + case RKCIF_MIPI_TYPE_YUV420SP: + ctrl0 |=3D RK3588_MIPI_CTRL0_WRDDR(0x5); + break; + case RKCIF_MIPI_TYPE_YUV400: + ctrl0 |=3D RK3588_MIPI_CTRL0_WRDDR(0x3); + break; + default: + break; + } + + return ctrl0; +} + +const struct rkcif_mipi_match_data rkcif_rk3588_vicap_mipi_match_data =3D { + .mipi_num =3D 6, + .mipi_ctrl0 =3D rkcif_rk3588_mipi_ctrl0, + .regs =3D { + [RKCIF_MIPI_CTRL] =3D 0x20, + [RKCIF_MIPI_INTEN] =3D 0x74, + [RKCIF_MIPI_INTSTAT] =3D 0x78, + }, + .regs_id =3D { + [RKCIF_ID0] =3D { + [RKCIF_MIPI_CTRL0] =3D 0x00, + [RKCIF_MIPI_CTRL1] =3D 0x04, + [RKCIF_MIPI_FRAME0_ADDR_Y] =3D 0x24, + [RKCIF_MIPI_FRAME0_ADDR_UV] =3D 0x2c, + [RKCIF_MIPI_FRAME0_VLW_Y] =3D 0x34, + [RKCIF_MIPI_FRAME0_VLW_UV] =3D RKCIF_REGISTER_NOTSUPPORTED, + [RKCIF_MIPI_FRAME1_ADDR_Y] =3D 0x28, + [RKCIF_MIPI_FRAME1_ADDR_UV] =3D 0x30, + [RKCIF_MIPI_FRAME1_VLW_Y] =3D RKCIF_REGISTER_NOTSUPPORTED, + [RKCIF_MIPI_FRAME1_VLW_UV] =3D RKCIF_REGISTER_NOTSUPPORTED, + [RKCIF_MIPI_CROP_START] =3D 0x8c, + }, + [RKCIF_ID1] =3D { + [RKCIF_MIPI_CTRL0] =3D 0x08, + [RKCIF_MIPI_CTRL1] =3D 0x0c, + [RKCIF_MIPI_FRAME0_ADDR_Y] =3D 0x38, + [RKCIF_MIPI_FRAME0_ADDR_UV] =3D 0x40, + [RKCIF_MIPI_FRAME0_VLW_Y] =3D 0x48, + [RKCIF_MIPI_FRAME0_VLW_UV] =3D RKCIF_REGISTER_NOTSUPPORTED, + [RKCIF_MIPI_FRAME1_ADDR_Y] =3D 0x3c, + [RKCIF_MIPI_FRAME1_ADDR_UV] =3D 0x44, + [RKCIF_MIPI_FRAME1_VLW_Y] =3D RKCIF_REGISTER_NOTSUPPORTED, + [RKCIF_MIPI_FRAME1_VLW_UV] =3D RKCIF_REGISTER_NOTSUPPORTED, + [RKCIF_MIPI_CROP_START] =3D 0x90, + }, + [RKCIF_ID2] =3D { + [RKCIF_MIPI_CTRL0] =3D 0x10, + [RKCIF_MIPI_CTRL1] =3D 0x14, + [RKCIF_MIPI_FRAME0_ADDR_Y] =3D 0x4c, + [RKCIF_MIPI_FRAME0_ADDR_UV] =3D 0x54, + [RKCIF_MIPI_FRAME0_VLW_Y] =3D 0x5c, + [RKCIF_MIPI_FRAME0_VLW_UV] =3D RKCIF_REGISTER_NOTSUPPORTED, + [RKCIF_MIPI_FRAME1_ADDR_Y] =3D 0x50, + [RKCIF_MIPI_FRAME1_ADDR_UV] =3D 0x58, + [RKCIF_MIPI_FRAME1_VLW_Y] =3D RKCIF_REGISTER_NOTSUPPORTED, + [RKCIF_MIPI_FRAME1_VLW_UV] =3D RKCIF_REGISTER_NOTSUPPORTED, + [RKCIF_MIPI_CROP_START] =3D 0x94, + }, + [RKCIF_ID3] =3D { + [RKCIF_MIPI_CTRL0] =3D 0x18, + [RKCIF_MIPI_CTRL1] =3D 0x1c, + [RKCIF_MIPI_FRAME0_ADDR_Y] =3D 0x60, + [RKCIF_MIPI_FRAME0_ADDR_UV] =3D 0x68, + [RKCIF_MIPI_FRAME0_VLW_Y] =3D 0x70, + [RKCIF_MIPI_FRAME0_VLW_UV] =3D RKCIF_REGISTER_NOTSUPPORTED, + [RKCIF_MIPI_FRAME1_ADDR_Y] =3D 0x64, + [RKCIF_MIPI_FRAME1_ADDR_UV] =3D 0x6c, + [RKCIF_MIPI_FRAME1_VLW_Y] =3D RKCIF_REGISTER_NOTSUPPORTED, + [RKCIF_MIPI_FRAME1_VLW_UV] =3D RKCIF_REGISTER_NOTSUPPORTED, + [RKCIF_MIPI_CROP_START] =3D 0x98, + }, + }, + .blocks =3D { + { + .offset =3D 0x100, + }, + { + .offset =3D 0x200, + }, + { + .offset =3D 0x300, + }, + { + .offset =3D 0x400, + }, + { + .offset =3D 0x500, + }, + { + .offset =3D 0x600, + }, + }, +}; + static inline unsigned int rkcif_mipi_get_reg(struct rkcif_interface *inte= rface, unsigned int index) { @@ -631,6 +765,13 @@ static int rkcif_mipi_start_streaming(struct rkcif_str= eam *stream) rkcif_mipi_stream_write(stream, RKCIF_MIPI_CTRL1, ctrl1); rkcif_mipi_stream_write(stream, RKCIF_MIPI_CTRL0, ctrl0); =20 + /* + * TODO: This bit has a different meaning on the RK3568, but it is + * set there by default anyway. While correct, this is not exactly + * nice and shall be reworked during the next refactoring. + */ + rkcif_mipi_write(interface, RKCIF_MIPI_CTRL, RK3588_MIPI_CTRL_CAP_EN); + ret =3D 0; =20 out: diff --git a/drivers/media/platform/rockchip/rkcif/rkcif-capture-mipi.h b/d= rivers/media/platform/rockchip/rkcif/rkcif-capture-mipi.h index 7f16eadc474c3b40078b8e9074dbfbd13ce95317..7edaca44f653ca405562ac1d91d= 0fea721eff3ce 100644 --- a/drivers/media/platform/rockchip/rkcif/rkcif-capture-mipi.h +++ b/drivers/media/platform/rockchip/rkcif/rkcif-capture-mipi.h @@ -13,6 +13,7 @@ #include "rkcif-common.h" =20 extern const struct rkcif_mipi_match_data rkcif_rk3568_vicap_mipi_match_da= ta; +extern const struct rkcif_mipi_match_data rkcif_rk3588_vicap_mipi_match_da= ta; =20 int rkcif_mipi_register(struct rkcif_device *rkcif); =20 diff --git a/drivers/media/platform/rockchip/rkcif/rkcif-common.h b/drivers= /media/platform/rockchip/rkcif/rkcif-common.h index dd92cfbc879f01fec0983cc722c86c8da239a987..4d9211ba9bda8d8018c99fa3595= ff7cac70be3c7 100644 --- a/drivers/media/platform/rockchip/rkcif/rkcif-common.h +++ b/drivers/media/platform/rockchip/rkcif/rkcif-common.h @@ -27,7 +27,7 @@ #include "rkcif-regs.h" =20 #define RKCIF_DRIVER_NAME "rockchip-cif" -#define RKCIF_CLK_MAX 4 +#define RKCIF_CLK_MAX 5 =20 enum rkcif_format_type { RKCIF_FMT_TYPE_INVALID, diff --git a/drivers/media/platform/rockchip/rkcif/rkcif-dev.c b/drivers/me= dia/platform/rockchip/rkcif/rkcif-dev.c index b4cf1146f13118ef77a49005af1edad96b793c41..c8542398b7f0139640976d0451a= 6c9cd8651da26 100644 --- a/drivers/media/platform/rockchip/rkcif/rkcif-dev.c +++ b/drivers/media/platform/rockchip/rkcif/rkcif-dev.c @@ -53,6 +53,20 @@ static const struct rkcif_match_data rk3568_vicap_match_= data =3D { .mipi =3D &rkcif_rk3568_vicap_mipi_match_data, }; =20 +static const char *const rk3588_vicap_clks[] =3D { + "aclk", + "hclk", + "dclk", + "iclk0", + "iclk1", +}; + +static const struct rkcif_match_data rk3588_vicap_match_data =3D { + .clks =3D rk3588_vicap_clks, + .clks_num =3D ARRAY_SIZE(rk3588_vicap_clks), + .mipi =3D &rkcif_rk3588_vicap_mipi_match_data, +}; + static const struct of_device_id rkcif_plat_of_match[] =3D { { .compatible =3D "rockchip,px30-vip", @@ -62,6 +76,10 @@ static const struct of_device_id rkcif_plat_of_match[] = =3D { .compatible =3D "rockchip,rk3568-vicap", .data =3D &rk3568_vicap_match_data, }, + { + .compatible =3D "rockchip,rk3588-vicap", + .data =3D &rk3588_vicap_match_data, + }, {} }; MODULE_DEVICE_TABLE(of, rkcif_plat_of_match); --=20 2.47.3 From nobody Sat Jun 13 07:51:40 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BFFBF366814; Fri, 8 May 2026 19:31:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268718; cv=none; b=Us28lUuO4gTc4ZK+yDRTT8GktH4yJP0XygbZ6KaZubhiIJqrev0f0s8aLhzF32Je2V/xlZFcormlOmKgq48kqqotNGBrggOZYiYrF61JabTkyRMQBdvi4/Wd/a2bhTbGSi9XsDOAVcc36b0yfzc5+FXaETtqMbku+pU3sFU9TUA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268718; c=relaxed/simple; bh=vBOdldmiISrDth84K4tomVLNfpZm1Axek6gl8sV6YCE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=K+yCdxRYAXc+L04H2mU6N2b03lGCtH7G88RqGuETtY2tWt9i62s6ULlHPfyuKSNvvGDhgRl7RTUH7BrvBpnMkcCV1KX68uPBNQCTbKYAzxdy0VuuCxJF0QxnwEDI6CwregnZ8eIqLtOROTgrU0vCd4PQDJ+H6HTcB+itE6EJyIQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nn13t837; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="nn13t837" Received: by smtp.kernel.org (Postfix) with ESMTPS id 996DDC2BCF6; Fri, 8 May 2026 19:31:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778268718; bh=vBOdldmiISrDth84K4tomVLNfpZm1Axek6gl8sV6YCE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=nn13t837jRDNWszBl2r9uU5O5TJ7EarvzBd4f8Zdkauk/yBm/Y37e46BN3ukfGm5X 91l4DwOUQLECK3LVi8KDYV2XEekWvu19cx/no/TE+cbM8ZsbcGAMTX0WveA5VXNMMM uXzbZC5UxtaYeTnN1gg5bPw6GaSzqlFy6XOoU/bmciYP0+kG4NnA/VM3UHs1yMWyzs xqNHb0cW/4I2WFaVryxHab9nwWlUSWegp7D3ivzG326K97Bd8zPfRor/gsCKMI0iGa SFXMeNE/hTaHThN7m1dauUJKVHbssl3t7lO8gB/2SGqe+lrg1axBdBrQekMVqhWFu+ huHMQNp2fIUcQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 90301CD342F; Fri, 8 May 2026 19:31:58 +0000 (UTC) From: Michael Riesch via B4 Relay Date: Fri, 08 May 2026 21:31:47 +0200 Subject: [PATCH DONOTMERGE v4 4/8] arm64: dts: rockchip: add mipi csi-2 receiver nodes to rk3588 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260508-rk3588-vicap-v4-4-6a6cd6f7c90b@collabora.com> References: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> In-Reply-To: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> To: Mehdi Djait , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Kever Yang , Jagan Teki , =?utf-8?q?=D0=9A=D1=83=D0=B7=D0=BD=D0=B5=D1=86=D0=BE=D0=B2_=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= , Charalampos Mitrodimas , Sebastian Reichel , Nicolas Dufresne , Collabora Kernel Team , Sakari Ailus Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Michael Riesch X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778268716; l=2720; i=michael.riesch@collabora.com; s=20260428; h=from:subject:message-id; bh=dZdZT5orbsEANcy4d6TWcsk4E00WD7gaPMXPl877FMo=; b=SryYqWtWJS3nSiljHzA4N63DthH/H5DnC9LGpReBuC2FUWhPmUMonNT7DcfCGTXJBR+5FryF0 nlaiBS8AA4pBrN3TEguTCefuWXFlEdJWRodeUzyi3QysIYPpUnpkmxN X-Developer-Key: i=michael.riesch@collabora.com; a=ed25519; pk=tAbmpPTE1MELYweXqqDU40fa18uCO6s32GJL/RzyW2Y= X-Endpoint-Received: by B4 Relay for michael.riesch@collabora.com/20260428 with auth_id=759 X-Original-From: Michael Riesch Reply-To: michael.riesch@collabora.com From: Michael Riesch This patch is discussed over at https://lore.kernel.org/all/20260305-rk3588-csi2rx-v2-0-79d01b615486@collab= ora.com included here for testing purposes only. The Rockchip RK3588 features six MIPI CSI-2 receiver units: - MIPI0: connected to MIPI DCPHY0 (not supported) - MIPI1: connected to MIPI DCPHY1 (not supported) - MIPI2: connected to MIPI DPHY0 - MIPI3: connected to MIPI DPHY0-1 (not supported) - MIPI4: connected to MIPI DPHY1 - MIPI5: connected to MIPI DPHY1-1 (not supported) As the MIPI DCPHYs as well as the split DPHY mode of the DPHYs are not yet supported, add only the device tree nodes for the MIPI2 and MIPI4 units. Signed-off-by: Michael Riesch --- arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 52 +++++++++++++++++++++++= ++++ 1 file changed, 52 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boo= t/dts/rockchip/rk3588-base.dtsi index 4fb8888c281c8c7ce31e90e91abe1fd703804dd2..4d80e5e1f0339b6e91adf40da6c= c8389ffd4ddc9 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi @@ -1430,6 +1430,58 @@ av1d: video-codec@fdc70000 { resets =3D <&cru SRST_A_AV1>, <&cru SRST_P_AV1>, <&cru SRST_A_AV1_BIU>, = <&cru SRST_P_AV1_BIU>; }; =20 + csi2: csi@fdd30000 { + compatible =3D "rockchip,rk3588-mipi-csi2", "rockchip,rk3568-mipi-csi2"; + reg =3D <0x0 0xfdd30000 0x0 0x10000>; + interrupts =3D , + ; + interrupt-names =3D "err1", "err2"; + clocks =3D <&cru PCLK_CSI_HOST_2>; + phys =3D <&csi_dphy0>; + power-domains =3D <&power RK3588_PD_VI>; + resets =3D <&cru SRST_P_CSI_HOST_2>; + status =3D "disabled"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + csi2_in: port@0 { + reg =3D <0>; + }; + + csi2_out: port@1 { + reg =3D <1>; + }; + }; + }; + + csi4: csi@fdd50000 { + compatible =3D "rockchip,rk3588-mipi-csi2", "rockchip,rk3568-mipi-csi2"; + reg =3D <0x0 0xfdd50000 0x0 0x10000>; + interrupts =3D , + ; + interrupt-names =3D "err1", "err2"; + clocks =3D <&cru PCLK_CSI_HOST_4>; + phys =3D <&csi_dphy1>; + power-domains =3D <&power RK3588_PD_VI>; + resets =3D <&cru SRST_P_CSI_HOST_4>; + status =3D "disabled"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + csi4_in: port@0 { + reg =3D <0>; + }; + + csi4_out: port@1 { + reg =3D <1>; + }; + }; + }; + vop: vop@fdd90000 { compatible =3D "rockchip,rk3588-vop"; reg =3D <0x0 0xfdd90000 0x0 0x4200>, <0x0 0xfdd95000 0x0 0x1000>; --=20 2.47.3 From nobody Sat Jun 13 07:51:40 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D2B9A3FD14C; Fri, 8 May 2026 19:31:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268718; cv=none; b=COSwGkj2t9TtYI1kt/QezLRAIGZa+/MCmUXuZBPcgdLgft0vJxNa98Voii7+8hRcwc1Hz5EreBp3f5cU5ecDGChMMMdSQsVrh4phFp9VTTKmGipK8hw8AqzD4aB/qL5+eeD9YpjThzXode5q7jEeP4sc/FY72qbeUmJX+L5VA20= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268718; c=relaxed/simple; bh=k5pDF29nov9G8AeX4xmqn6lg6LDkOj/BZH+FIYKP6Wg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hrNiWn4dUzAKqvNmME41lYusu9g+srx3aWIlaHYNRiMbDlBjWjgntY+bILfwTdxoDQPkXShMp8lcf4HENqsOuH08yEiMjSsT5tZqCMDWa0SYfmOP7B6rt9OiEHN1BVLIv/00FuQdzB8WqwuQSNHEPUj1Q849vDuqSnJ7/UyhWb4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=L5XR/rJ4; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="L5XR/rJ4" Received: by smtp.kernel.org (Postfix) with ESMTPS id AADD3C4AF10; Fri, 8 May 2026 19:31:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778268718; bh=k5pDF29nov9G8AeX4xmqn6lg6LDkOj/BZH+FIYKP6Wg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=L5XR/rJ4fNYV9Qt5UoMEDmFIj9XppROCZeUo05ZCayXz+mP/kiRDkKqjoDh/ikLoa gtcFsESDzawEx6MDqb+lSQmseFkHFvNdQTx942dmdZ4wmpuZv4fnA6hO1C9ZladGPt YPYpArqDdjPqplJ+l8/JVPT+P2t/YouHsZimeqpFJqBJjemtNwEHy+TsD+2EGjn0Sp PLuWa37nYawJXvUiSwhsy0Vhol+9ZooTHqmsd7c4c93aeNpBkrLeL7ou3+x6W6sINJ ZoSZ5SWcUtRT9MXjfTVtW+3+5+Bgd8of1s0X1p618tLkqjUr1mxyMVkEbZXQl3P5sc btfoDP/dnzWBQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A1584CD37AC; Fri, 8 May 2026 19:31:58 +0000 (UTC) From: Michael Riesch via B4 Relay Date: Fri, 08 May 2026 21:31:48 +0200 Subject: [PATCH v4 5/8] arm64: dts: rockchip: add vicap node to rk3588 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260508-rk3588-vicap-v4-5-6a6cd6f7c90b@collabora.com> References: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> In-Reply-To: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> To: Mehdi Djait , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Kever Yang , Jagan Teki , =?utf-8?q?=D0=9A=D1=83=D0=B7=D0=BD=D0=B5=D1=86=D0=BE=D0=B2_=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= , Charalampos Mitrodimas , Sebastian Reichel , Nicolas Dufresne , Collabora Kernel Team , Sakari Ailus Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Michael Riesch X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778268716; l=3303; i=michael.riesch@collabora.com; s=20260428; h=from:subject:message-id; bh=y6gEHTWm7KxObttDx0pEpSo6b/6x2SbE7HhakVlM4uM=; b=5YAHtsACfsot46Do3ptsfB/P1qU7cnxYxhPKlg4mMFi6WgOVBm4As+5HN2WJ0wXAIyffMZ/jU WBdkhjX4PgHDZQzkEuVTeAcZ74FauONNlk8SrmbnVRw7iAsJsO2hSn8 X-Developer-Key: i=michael.riesch@collabora.com; a=ed25519; pk=tAbmpPTE1MELYweXqqDU40fa18uCO6s32GJL/RzyW2Y= X-Endpoint-Received: by B4 Relay for michael.riesch@collabora.com/20260428 with auth_id=759 X-Original-From: Michael Riesch Reply-To: michael.riesch@collabora.com From: Michael Riesch Add the device tree node for the RK3588 Video Capture (VICAP) unit. Signed-off-by: Michael Riesch --- arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 91 +++++++++++++++++++++++= ++++ 1 file changed, 91 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boo= t/dts/rockchip/rk3588-base.dtsi index 4d80e5e1f0339b6e91adf40da6cc8389ffd4ddc9..3b840b37a15904c7c04518c8ae8= 335aaa4817c20 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi @@ -1430,6 +1430,89 @@ av1d: video-codec@fdc70000 { resets =3D <&cru SRST_A_AV1>, <&cru SRST_P_AV1>, <&cru SRST_A_AV1_BIU>, = <&cru SRST_P_AV1_BIU>; }; =20 + vicap: video-capture@fdce0000 { + compatible =3D "rockchip,rk3588-vicap"; + reg =3D <0x0 0xfdce0000 0x0 0x800>; + interrupts =3D ; + clocks =3D <&cru ACLK_VICAP>, <&cru HCLK_VICAP>, + <&cru DCLK_VICAP>, <&cru ICLK_CSIHOST0>, + <&cru ICLK_CSIHOST1>; + clock-names =3D "aclk", "hclk", "dclk", "iclk0", "iclk1"; + iommus =3D <&vicap_mmu>; + power-domains =3D <&power RK3588_PD_VI>; + resets =3D <&cru SRST_A_VICAP>, <&cru SRST_H_VICAP>, + <&cru SRST_D_VICAP>, <&cru SRST_CSIHOST0_VICAP>, + <&cru SRST_CSIHOST1_VICAP>, + <&cru SRST_CSIHOST2_VICAP>, + <&cru SRST_CSIHOST3_VICAP>, + <&cru SRST_CSIHOST4_VICAP>, + <&cru SRST_CSIHOST5_VICAP>; + reset-names =3D "arst", "hrst", "drst", "irst0", "irst1", + "irst2", "irst3", "irst4", "irst5"; + status =3D "disabled"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + vicap_dvp: port@0 { + reg =3D <0>; + }; + + vicap_mipi0: port@1 { + reg =3D <1>; + }; + + vicap_mipi1: port@2 { + reg =3D <2>; + }; + + vicap_mipi2: port@3 { + reg =3D <3>; + + vicap_mipi2_input: endpoint { + remote-endpoint =3D <&csi2_output>; + }; + }; + + vicap_mipi3: port@4 { + reg =3D <4>; + }; + + vicap_mipi4: port@5 { + reg =3D <5>; + + vicap_mipi4_input: endpoint { + remote-endpoint =3D <&csi4_output>; + }; + }; + + vicap_mipi5: port@6 { + reg =3D <6>; + }; + + vicap_toisp0: port@10 { + reg =3D <16>; + }; + + vicap_toisp1: port@11 { + reg =3D <17>; + }; + }; + }; + + vicap_mmu: iommu@fdce0800 { + compatible =3D "rockchip,rk3588-iommu", "rockchip,rk3568-iommu"; + reg =3D <0x0 0xfdce0800 0x0 0x40>, <0x0 0xfdce0900 0x0 0x40>; + interrupts =3D ; + clocks =3D <&cru ACLK_VICAP>, <&cru HCLK_VICAP>; + clock-names =3D "aclk", "iface"; + #iommu-cells =3D <0>; + power-domains =3D <&power RK3588_PD_VI>; + rockchip,disable-mmu-reset; + status =3D "disabled"; + }; + csi2: csi@fdd30000 { compatible =3D "rockchip,rk3588-mipi-csi2", "rockchip,rk3568-mipi-csi2"; reg =3D <0x0 0xfdd30000 0x0 0x10000>; @@ -1452,6 +1535,10 @@ csi2_in: port@0 { =20 csi2_out: port@1 { reg =3D <1>; + + csi2_output: endpoint { + remote-endpoint =3D <&vicap_mipi2_input>; + }; }; }; }; @@ -1478,6 +1565,10 @@ csi4_in: port@0 { =20 csi4_out: port@1 { reg =3D <1>; + + csi4_output: endpoint { + remote-endpoint =3D <&vicap_mipi4_input>; + }; }; }; }; --=20 2.47.3 From nobody Sat Jun 13 07:51:40 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DEB23410D12; Fri, 8 May 2026 19:31:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268718; cv=none; b=VueZDvpcumYZzjFgYiYrfGOt8uuW5DrUrWV3nXmAqvOE6gtcZIFPTHOWMuYspxRTWy1t/OMLLfTGZ0INquQlQd1SJAqJLbZPHfwcDlPXUgj0LtfLkucVFpP8haGOiDA8WaGmw+T9FskNiLbBL2CB1u0k7shYLb78mHrFesVcOtI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268718; c=relaxed/simple; bh=5GdndQH11O0jnQvspCfNA/O+zyU14vg0pR6Vqar72vk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=m7xNtAFjPMJ84lfObeSqNpf9q61AE2GhKMM5Ppeexdr1c3d5dYzOOFZPiOZcuLeQ8WcMDYkD0arS0+NHZgTam4wDzPG1tr8NAlvArx3YLIGCtn0GWpjM+hSrRl84eJPDP7NwO9Xw/MRGUl9v59xs/WP1WsUtB/wLlJzZ9B/JoJo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dd4Ez4GE; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dd4Ez4GE" Received: by smtp.kernel.org (Postfix) with ESMTPS id B9F69C2BCFB; Fri, 8 May 2026 19:31:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778268718; bh=5GdndQH11O0jnQvspCfNA/O+zyU14vg0pR6Vqar72vk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=dd4Ez4GEK7tAdNAbHU29w7Lw2/3pxuwwey92LkraeBpn2ReB3ieFDl9p1rJN0nN+s faoWzI+3vlFPQJHSJN7TnE0uIQNDpPwZPioic1bRMuQhQEMHehkN0JhFWnbzQ2muAY mV8K7LyJeUc2SKwQFn3DSSZNBmoa9hp72n0Kpzx9I4NAaQNqbzwpFDDKA8o+pNREXD 7ezxXt/dJzvl7YiqjwhbNQCqZlL4GhEqaGgKeME5rNQ6xqZTtmKbYju/9d4Z1U1GQC sme2NumTyvv+0nLMHY5kUX5f1omh5yYdPiMkYv+qVaRXZDpWCgpq0xDIsKMzjHmfKG MI9Ai9Tt+HpSQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B18F6CD37B2; Fri, 8 May 2026 19:31:58 +0000 (UTC) From: Michael Riesch via B4 Relay Date: Fri, 08 May 2026 21:31:49 +0200 Subject: [PATCH v4 6/8] arm64: dts: rockchip: add radxa camera 4k on rock 5b+ cam0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260508-rk3588-vicap-v4-6-6a6cd6f7c90b@collabora.com> References: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> In-Reply-To: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> To: Mehdi Djait , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Kever Yang , Jagan Teki , =?utf-8?q?=D0=9A=D1=83=D0=B7=D0=BD=D0=B5=D1=86=D0=BE=D0=B2_=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= , Charalampos Mitrodimas , Sebastian Reichel , Nicolas Dufresne , Collabora Kernel Team , Sakari Ailus Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Michael Riesch X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778268716; l=4379; i=michael.riesch@collabora.com; s=20260428; h=from:subject:message-id; bh=3FVePkpPkw9zXNZmHFNf4wZoNKo/VGldfB5CgIPNdtw=; b=GcdMDOgNjJ6gNrNnNjIs64/mGdHAFuxpUqhkkC+ZXJyA4zfpw049Q4qotDQ57BhmSFSoziLYd rJEj5Oat2EcC0q+UMnnt1XxPCM2b3bkROSTxbi7hjBz/LnNLDIqQ9rx X-Developer-Key: i=michael.riesch@collabora.com; a=ed25519; pk=tAbmpPTE1MELYweXqqDU40fa18uCO6s32GJL/RzyW2Y= X-Endpoint-Received: by B4 Relay for michael.riesch@collabora.com/20260428 with auth_id=759 X-Original-From: Michael Riesch Reply-To: michael.riesch@collabora.com From: Michael Riesch Add device tree overlay for the Radxa Camera 4K (featuring the Sony IMX415 image sensor) to applied on the Radxa ROCK 5B+ CAM0 port. Signed-off-by: Michael Riesch --- arch/arm64/boot/dts/rockchip/Makefile | 5 ++ .../rk3588-rock-5b-plus-radxa-cam4k-cam0.dtso | 99 ++++++++++++++++++= ++++ 2 files changed, 104 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/ro= ckchip/Makefile index cb55c6b70d0e569abd9efc4e88ff908b6a682cf1..d4ff476fb9814b18c74c6d59d73= cf5d8e6ee9ca7 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -206,6 +206,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b-pcie-ep.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b-pcie-srns.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b-plus.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b-plus-radxa-cam4k-cam0.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5t.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-tiger-haikou.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-tiger-haikou-video-demo.dtbo @@ -321,6 +322,10 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b-pcie-s= rns.dtb rk3588-rock-5b-pcie-srns-dtbs :=3D rk3588-rock-5b.dtb \ rk3588-rock-5b-pcie-srns.dtbo =20 +dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b-plus-radxa-4k-cam.dtb +rk3588-rock-5b-plus-radxa-4k-cam-dtbs :=3D rk3588-rock-5b-plus.dtb \ + rk3588-rock-5b-plus-radxa-cam4k-cam0.dtbo + dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-tiger-haikou-haikou-video-demo.dtb rk3588-tiger-haikou-haikou-video-demo-dtbs :=3D rk3588-tiger-haikou.dtb \ rk3588-tiger-haikou-video-demo.dtbo diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus-radxa-cam4k-c= am0.dtso b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus-radxa-cam4k-cam= 0.dtso new file mode 100644 index 0000000000000000000000000000000000000000..ee9ecf68a88663a04e1c33a7188= 94490ef475203 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus-radxa-cam4k-cam0.dtso @@ -0,0 +1,99 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device tree overlay for the Radxa Camera 4K attached to the CAM0 port of + * the Radxa ROCK 5B+. + */ + +/dts-v1/; +/plugin/; + +#include +#include +#include + +&{/} { + savdd_cam0: regulator-savdd-cam0 { + compatible =3D "regulator-fixed"; + regulator-min-microvolt =3D <2900000>; + regulator-max-microvolt =3D <2900000>; + regulator-name =3D "savdd_cam0"; + vin-supply =3D <&vcc_3v3_s3>; + }; + + sdvdd_cam0: regulator-sdvdd-cam0 { + compatible =3D "regulator-fixed"; + regulator-min-microvolt =3D <1100000>; + regulator-max-microvolt =3D <1100000>; + regulator-name =3D "sdvdd_cam0"; + vin-supply =3D <&vcc5v0_sys>; + }; + + siovdd_cam0: regulator-siovdd-cam0 { + compatible =3D "regulator-fixed"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-name =3D "siovdd_cam0"; + vin-supply =3D <&vcc_3v3_s3>; + }; +}; + +&i2c3 { + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "okay"; + + imx415: camera-sensor@1a { + compatible =3D "sony,imx415"; + reg =3D <0x1a>; + assigned-clocks =3D <&cru CLK_MIPI_CAMARAOUT_M3>; + assigned-clock-rates =3D <37125000>; + avdd-supply =3D <&savdd_cam0>; + clocks =3D <&cru CLK_MIPI_CAMARAOUT_M3>; + dvdd-supply =3D <&sdvdd_cam0>; + orientation =3D <2>; /* External */ + ovdd-supply =3D <&siovdd_cam0>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&cam0_rstn &mipim0_camera3_clk>; + reset-gpios =3D <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>; + + port { + imx415_output: endpoint { + data-lanes =3D <1 2 3 4>; + link-frequencies =3D /bits/ 64 <445500000>; + remote-endpoint =3D <&csi2_input>; + }; + }; + }; +}; + +&pinctrl { + cam0 { + cam0_rstn: cam0-rstn-pinctrl { + rockchip,pins =3D <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&csi2 { + status =3D "okay"; +}; + +&csi2_in { + csi2_input: endpoint { + data-lanes =3D <1 2 3 4>; + link-frequencies =3D /bits/ 64 <445500000>; + remote-endpoint =3D <&imx415_output>; + }; +}; + +&csi_dphy0 { + status =3D "okay"; +}; + +&vicap { + status =3D "okay"; +}; + +&vicap_mmu { + status =3D "okay"; +}; --=20 2.47.3 From nobody Sat Jun 13 07:51:40 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F094941B370; Fri, 8 May 2026 19:31:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268719; cv=none; b=oiWkBsNPc85UoqyxjwJKDgDNp0HlawKZvs2+kEqUVPLN+2b7va03j1EX7b7Al/0piLxxguZ0LgoTB4fxp5tQGjnXsOy0dVWBIDHdi8jTAOVuOhWpfolGWW1iZ1dC0MLpEgQdb41jD8eQ3vc8slyUDtAbK/gxCr3mdE7wnJBI7cI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268719; c=relaxed/simple; bh=GvfgvZED8ovEP/sr2vgQj8tDELp0fpA9+wyHVXzY/pY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gLYQMfaiTVtO+t1qEMlwY2i6SpAFQYmHgMN0EfWgW7IoeXEToLvp2inLA/qDJugX4sLvoe1dXJcm4Osju6qCc1QyR0NdMeaEIsiVG5v8Jz2cqq++x+UYqXY+d99usZMAoGTdJ9Vyw0Vw6SaPZPvrOpG39tZ4ywbKckD73dzhm08= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SlEgM1MK; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SlEgM1MK" Received: by smtp.kernel.org (Postfix) with ESMTPS id CC91CC4AF0F; Fri, 8 May 2026 19:31:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778268718; bh=GvfgvZED8ovEP/sr2vgQj8tDELp0fpA9+wyHVXzY/pY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=SlEgM1MKTX9/Aoru0LTvQzcVSWHcYRdoJy+veEC57gumMxYKLhr4ksX63Ak4GyoC3 S5kUUe5sz3/AHROL1ds13SdJM8sgVxqVZNSyMoXK6r4fLeQXIWJIBTLEW4M6Sl51nu rU4x6nq9v26cQIf/CtdJMAZegB2/+g+SGflvaabMvGme9sm1rdiEhVcJHHNBBd+Gt5 yB79FdQsH1lmy5u30AKMfz0UnQbwZph6uuhh4MZ2ohno49jTOHq293sci3sqSS9C2k Kck6fMf8sgVNnRfSyPsHjJHdDXphhY4muECwuVjxaio8Efk5dCRwxdKozNVyDMZYqG uoBXK+XCoyB4w== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C3305CD3445; Fri, 8 May 2026 19:31:58 +0000 (UTC) From: Michael Riesch via B4 Relay Date: Fri, 08 May 2026 21:31:50 +0200 Subject: [PATCH v4 7/8] arm64: dts: rockchip: add radxa camera 4k on rock 5b+ cam1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260508-rk3588-vicap-v4-7-6a6cd6f7c90b@collabora.com> References: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> In-Reply-To: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> To: Mehdi Djait , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Kever Yang , Jagan Teki , =?utf-8?q?=D0=9A=D1=83=D0=B7=D0=BD=D0=B5=D1=86=D0=BE=D0=B2_=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= , Charalampos Mitrodimas , Sebastian Reichel , Nicolas Dufresne , Collabora Kernel Team , Sakari Ailus Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Michael Riesch X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778268716; l=4388; i=michael.riesch@collabora.com; s=20260428; h=from:subject:message-id; bh=RftYePeWXUUid7upV6ga5pVg+NAmwZ320HDRp8cMYOc=; b=LqOkFNrCoJdcRThCXR/xB4esf5SUk7ytNyot5nc084Lf6fh7Z/KbQMco0QdaBEMTzgtrOkRhk s2HmFlLwVAnDr8KSOJcaIg1mN30QX+J39A+Ntb1Qjcx1zhU6bfrlqIE X-Developer-Key: i=michael.riesch@collabora.com; a=ed25519; pk=tAbmpPTE1MELYweXqqDU40fa18uCO6s32GJL/RzyW2Y= X-Endpoint-Received: by B4 Relay for michael.riesch@collabora.com/20260428 with auth_id=759 X-Original-From: Michael Riesch Reply-To: michael.riesch@collabora.com From: Michael Riesch Add device tree overlay for the Radxa Camera 4K (featuring the Sony IMX415 image sensor) to applied on the Radxa ROCK 5B+ CAM1 port. Signed-off-by: Michael Riesch --- arch/arm64/boot/dts/rockchip/Makefile | 4 +- .../rk3588-rock-5b-plus-radxa-cam4k-cam1.dtso | 99 ++++++++++++++++++= ++++ 2 files changed, 102 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/ro= ckchip/Makefile index d4ff476fb9814b18c74c6d59d73cf5d8e6ee9ca7..761d82b4f4f2ac7f0f4ba5e1f94= f495b2160a059 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -207,6 +207,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b-pcie-ep= .dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b-pcie-srns.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b-plus.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b-plus-radxa-cam4k-cam0.dtbo +dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b-plus-radxa-cam4k-cam1.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5t.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-tiger-haikou.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-tiger-haikou-video-demo.dtbo @@ -324,7 +325,8 @@ rk3588-rock-5b-pcie-srns-dtbs :=3D rk3588-rock-5b.dtb \ =20 dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-rock-5b-plus-radxa-4k-cam.dtb rk3588-rock-5b-plus-radxa-4k-cam-dtbs :=3D rk3588-rock-5b-plus.dtb \ - rk3588-rock-5b-plus-radxa-cam4k-cam0.dtbo + rk3588-rock-5b-plus-radxa-cam4k-cam0.dtbo \ + rk3588-rock-5b-plus-radxa-cam4k-cam1.dtbo =20 dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-tiger-haikou-haikou-video-demo.dtb rk3588-tiger-haikou-haikou-video-demo-dtbs :=3D rk3588-tiger-haikou.dtb \ diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus-radxa-cam4k-c= am1.dtso b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus-radxa-cam4k-cam= 1.dtso new file mode 100644 index 0000000000000000000000000000000000000000..96b8df4ed3540df69e997aa9967= 168c4249dbf52 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus-radxa-cam4k-cam1.dtso @@ -0,0 +1,99 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device tree overlay for the Radxa Camera 4K attached to the CAM1 port of + * the Radxa ROCK 5B+. + */ + +/dts-v1/; +/plugin/; + +#include +#include +#include + +&{/} { + savdd_cam1: regulator-savdd-cam1 { + compatible =3D "regulator-fixed"; + regulator-min-microvolt =3D <2900000>; + regulator-max-microvolt =3D <2900000>; + regulator-name =3D "savdd_cam1"; + vin-supply =3D <&vcc_3v3_s3>; + }; + + sdvdd_cam1: regulator-sdvdd-cam1 { + compatible =3D "regulator-fixed"; + regulator-min-microvolt =3D <1100000>; + regulator-max-microvolt =3D <1100000>; + regulator-name =3D "sdvdd_cam1"; + vin-supply =3D <&vcc5v0_sys>; + }; + + siovdd_cam1: regulator-siovdd-cam1 { + compatible =3D "regulator-fixed"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-name =3D "siovdd_cam1"; + vin-supply =3D <&vcc_3v3_s3>; + }; +}; + +&i2c4 { + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "okay"; + + cam1_imx415: camera-sensor@1a { + compatible =3D "sony,imx415"; + reg =3D <0x1a>; + assigned-clocks =3D <&cru CLK_MIPI_CAMARAOUT_M4>; + assigned-clock-rates =3D <37125000>; + avdd-supply =3D <&savdd_cam1>; + clocks =3D <&cru CLK_MIPI_CAMARAOUT_M4>; + dvdd-supply =3D <&sdvdd_cam1>; + orientation =3D <2>; /* External */ + ovdd-supply =3D <&savdd_cam1>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&cam1_rstn &mipim0_camera4_clk>; + reset-gpios =3D <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>; + + port { + cam1_imx415_output: endpoint { + data-lanes =3D <1 2 3 4>; + link-frequencies =3D /bits/ 64 <445500000>; + remote-endpoint =3D <&csi4_input>; + }; + }; + }; +}; + +&pinctrl { + cam1 { + cam1_rstn: cam1-rstn-pinctrl { + rockchip,pins =3D <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&csi4 { + status =3D "okay"; +}; + +&csi4_in { + csi4_input: endpoint { + data-lanes =3D <1 2 3 4>; + link-frequencies =3D /bits/ 64 <445500000>; + remote-endpoint =3D <&cam1_imx415_output>; + }; +}; + +&csi_dphy1 { + status =3D "okay"; +}; + +&vicap { + status =3D "okay"; +}; + +&vicap_mmu { + status =3D "okay"; +}; --=20 2.47.3 From nobody Sat Jun 13 07:51:40 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 029DD41C2F7; Fri, 8 May 2026 19:31:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268719; cv=none; b=rJQIyShw6/Is3UFwKWEhkOUll48NrFNoN6sm3Q8RJMjq7kZFxYUMYny08TNms4UcfZyOISabDan07GV2pesTFQj/PkyIaY3WStoBI9+nOLe4NdVoGghRbC4HrkOfF6dKukS1bUvCIz6tXYxQLr6V7hwM3Jl8d5FHRFzy05z6tM0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778268719; c=relaxed/simple; bh=HY6HXz1rUxunVE83orvuh0gY4psjWh1saEXwMh/vrh4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Tj35hnNKVx9BYGGiB+4erGJYzmR/FQPESEkTnXynYztsqemysTJ6hzKzIEO7A1sXheax5KWQ/+EYJ0uZritASj7bzE0UA2Q7FPh7F1UW0VyLtztLkwUEB4AH2jg4sbrud7shaB8wWFcJvsHS/Y1xlP21GIAwDfa6SwOkI4RzFUY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gTIXPTTf; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="gTIXPTTf" Received: by smtp.kernel.org (Postfix) with ESMTPS id DC3D5C2BCF4; Fri, 8 May 2026 19:31:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778268718; bh=HY6HXz1rUxunVE83orvuh0gY4psjWh1saEXwMh/vrh4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=gTIXPTTf7+HzIc+xzZtuC8AK6Sp634SwkNyF8REqW9AjlSnZ7IMKD+90+3b4Ohtqt lFqbHK+PUOFqvQ395xgco3zPhMr9/oQ+Vr7PIaJ06/t5eMGJH/zFcuI+YWv9oXffD+ UgKzovQnBzmNqbp9JeN93r8gU5m3HWKOVHBg+QNlJeqC7ni9L+asiXLfwz3ckdoPb6 Q8Rf70+oddf9RawwSg+UVYQO+0vPUT8YCoRGbOCAi5Q3UuflzsBiYuM6PDAFCKTsIz bNcEGp69T/E94G/9gKAO76IpppNvO2NEDxbQJxwJgzBjumdQIm5ZBnGWWLevAcTIZW 4rQp2L/GSsdMw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D31ACCD342F; Fri, 8 May 2026 19:31:58 +0000 (UTC) From: Michael Riesch via B4 Relay Date: Fri, 08 May 2026 21:31:51 +0200 Subject: [PATCH v4 8/8] arm64: defconfig: enable designware mipi csi-2 receiver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260508-rk3588-vicap-v4-8-6a6cd6f7c90b@collabora.com> References: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> In-Reply-To: <20260508-rk3588-vicap-v4-0-6a6cd6f7c90b@collabora.com> To: Mehdi Djait , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Kever Yang , Jagan Teki , =?utf-8?q?=D0=9A=D1=83=D0=B7=D0=BD=D0=B5=D1=86=D0=BE=D0=B2_=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= , Charalampos Mitrodimas , Sebastian Reichel , Nicolas Dufresne , Collabora Kernel Team , Sakari Ailus Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Michael Riesch X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1778268716; l=1048; i=michael.riesch@collabora.com; s=20260428; h=from:subject:message-id; bh=a8sioWJftfSyXN0rqDXq8bBppSiXX8eZImBE70llAi8=; b=k+9b89ylohfx4XhLo13ZZ8+1xS+5spcQu5ypNg2QKU4QuObf5FXVwZudj+nb4bW5JLkDETZsV E6/bPi+jYKaBNXJiVjojvUp0VQTHopdEZ5A9spZGsuw0nW8j9CBO/w8 X-Developer-Key: i=michael.riesch@collabora.com; a=ed25519; pk=tAbmpPTE1MELYweXqqDU40fa18uCO6s32GJL/RzyW2Y= X-Endpoint-Received: by B4 Relay for michael.riesch@collabora.com/20260428 with auth_id=759 X-Original-From: Michael Riesch Reply-To: michael.riesch@collabora.com From: Michael Riesch The Synopsys DesignWare MIPI CSI-2 Receiver is integrated into recent Rockchip SoCs, such as the RK3568 and the RK3588. As a consequence, they are used on a lot of Rockchip-based single board computers and/or corresponding camera modules, such as the Radxa Camera 4K. Enable the driver for it in the default configuration. Reviewed-by: Mehdi Djait Signed-off-by: Michael Riesch --- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index d905a0777f939c51cc39df6230591a31058b765f..9171f750337e540f0feec998c7a= a33d3444b806e 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -918,6 +918,7 @@ CONFIG_SDR_PLATFORM_DRIVERS=3Dy CONFIG_V4L_MEM2MEM_DRIVERS=3Dy CONFIG_VIDEO_AMPHION_VPU=3Dm CONFIG_VIDEO_CADENCE_CSI2RX=3Dm +CONFIG_VIDEO_DW_MIPI_CSI2RX=3Dm CONFIG_VIDEO_MEDIATEK_JPEG=3Dm CONFIG_VIDEO_MEDIATEK_VCODEC=3Dm CONFIG_VIDEO_WAVE_VPU=3Dm --=20 2.47.3