* [PATCH v3 0/2] media: synopsys: csi2rx: add support for rk3588 variant
@ 2026-03-25 10:25 Michael Riesch via B4 Relay
2026-03-25 10:25 ` [PATCH v3 1/2] media: dt-bindings: rockchip,rk3568-mipi-csi2: add rk3588 compatible Michael Riesch via B4 Relay
2026-03-25 10:25 ` [PATCH v3 2/2] arm64: dts: rockchip: add mipi csi-2 receiver nodes to rk3588 Michael Riesch via B4 Relay
0 siblings, 2 replies; 7+ messages in thread
From: Michael Riesch via B4 Relay @ 2026-03-25 10:25 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Sakari Ailus, Laurent Pinchart, Frank Li,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
Kever Yang, Collabora Kernel Team
Cc: linux-media, devicetree, linux-arm-kernel, linux-rockchip,
linux-kernel, Michael Riesch
Habidere,
The Rockchip RK3588 features six MIPI CSI-2 receiver units:
- MIPI0: connected to MIPI DCPHY0
- MIPI1: connected to MIPI DCPHY1
- MIPI2: connected to MIPI DPHY0
- MIPI3: connected to MIPI DPHY0-1 (only with split DPHY0)
- MIPI4: connected to MIPI DPHY1
- MIPI5: connected to MIPI DPHY1-1 (only with split DPHY1)
The MIPI DCPHYs (at least the CSI-2 features of them) as well
as the split DPHY mode of the DPHYs are not yet supported by
mainline. However, we can already provide support for the
MIPI2 and MIPI4 units.
When support for the split DPHY mode is introduced, the DPHY
nodes should have the property
#phy-cells = <1>;
and the MIPI CSI-2 receiver nodes should have the property
phys = <&csi_dphy{0,1} {0,1}>;
in case the split mode is desired. Since this is a board
specific hardware design, the properties need to be changed
in the board device tree (or any overlays).
As reasonable default, however, we can define, e.g.,
#phy-cells = <0>;
and
phys = <&csi_dphy{0,1}>;
in the SoC device tree include.
This series introduces initial support for this default
configuration.
Looking forward to your comments!
Signed-off-by: Michael Riesch <michael.riesch@collabora.com>
---
Changes in v3:
- rebased onto Sakari's cleanup branch (as Frank's patches were
merged) (Sakari)
- added Rob's Acked-by
- Link to v2: https://lore.kernel.org/r/20260305-rk3588-csi2rx-v2-0-79d01b615486@collabora.com
Changes in v2:
- use fallback compatible instead of separate compatible (Krzysztof)
- dropped patch 2 and 4 (as a consequence thereof)
- Link to v1: https://lore.kernel.org/r/20260305-rk3588-csi2rx-v1-0-0cd8d2bf28c0@collabora.com
---
Michael Riesch (2):
media: dt-bindings: rockchip,rk3568-mipi-csi2: add rk3588 compatible
arm64: dts: rockchip: add mipi csi-2 receiver nodes to rk3588
.../bindings/media/rockchip,rk3568-mipi-csi2.yaml | 10 +++--
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 52 ++++++++++++++++++++++
2 files changed, 59 insertions(+), 3 deletions(-)
---
base-commit: 66bd47face7d5d55e6c3b5dc16fb3c2d6e205360
change-id: 20260305-rk3588-csi2rx-a11f7c15a40a
Best regards,
--
Michael Riesch <michael.riesch@collabora.com>
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH v3 1/2] media: dt-bindings: rockchip,rk3568-mipi-csi2: add rk3588 compatible 2026-03-25 10:25 [PATCH v3 0/2] media: synopsys: csi2rx: add support for rk3588 variant Michael Riesch via B4 Relay @ 2026-03-25 10:25 ` Michael Riesch via B4 Relay 2026-03-25 21:06 ` Rob Herring 2026-03-25 10:25 ` [PATCH v3 2/2] arm64: dts: rockchip: add mipi csi-2 receiver nodes to rk3588 Michael Riesch via B4 Relay 1 sibling, 1 reply; 7+ messages in thread From: Michael Riesch via B4 Relay @ 2026-03-25 10:25 UTC (permalink / raw) To: Mauro Carvalho Chehab, Sakari Ailus, Laurent Pinchart, Frank Li, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Kever Yang, Collabora Kernel Team Cc: linux-media, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Michael Riesch From: Michael Riesch <michael.riesch@collabora.com> The RK3588 MIPI CSI-2 receivers are compatible to the ones found in the RK3568. Introduce a list of compatible variants and add the RK3588 variant to it. Acked-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Michael Riesch <michael.riesch@collabora.com> --- .../devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml index 4ac4a3b6f406..3d3b3cd78884 100644 --- a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml +++ b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml @@ -16,9 +16,13 @@ description: properties: compatible: - enum: - - fsl,imx93-mipi-csi2 - - rockchip,rk3568-mipi-csi2 + oneOf: + - const: fsl,imx93-mipi-csi2 + - const: rockchip,rk3568-mipi-csi2 + - items: + - enum: + - rockchip,rk3588-mipi-csi2 + - const: rockchip,rk3568-mipi-csi2 reg: maxItems: 1 -- 2.39.5 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/2] media: dt-bindings: rockchip,rk3568-mipi-csi2: add rk3588 compatible 2026-03-25 10:25 ` [PATCH v3 1/2] media: dt-bindings: rockchip,rk3568-mipi-csi2: add rk3588 compatible Michael Riesch via B4 Relay @ 2026-03-25 21:06 ` Rob Herring 2026-03-25 21:34 ` Michael Riesch 0 siblings, 1 reply; 7+ messages in thread From: Rob Herring @ 2026-03-25 21:06 UTC (permalink / raw) To: Michael Riesch Cc: Mauro Carvalho Chehab, Sakari Ailus, Laurent Pinchart, Frank Li, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Kever Yang, Collabora Kernel Team, linux-media, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Wed, Mar 25, 2026 at 11:25:34AM +0100, Michael Riesch wrote: > The RK3588 MIPI CSI-2 receivers are compatible to the ones found in > the RK3568. > Introduce a list of compatible variants and add the RK3588 variant to > it. > > Acked-by: Rob Herring (Arm) <robh@kernel.org> > Signed-off-by: Michael Riesch <michael.riesch@collabora.com> > --- > .../devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml > index 4ac4a3b6f406..3d3b3cd78884 100644 > --- a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml > +++ b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml > @@ -16,9 +16,13 @@ description: > > properties: > compatible: > - enum: > - - fsl,imx93-mipi-csi2 > - - rockchip,rk3568-mipi-csi2 > + oneOf: > + - const: fsl,imx93-mipi-csi2 > + - const: rockchip,rk3568-mipi-csi2 These 2 should be a single enum as they were before. > + - items: > + - enum: > + - rockchip,rk3588-mipi-csi2 > + - const: rockchip,rk3568-mipi-csi2 > > reg: > maxItems: 1 > > -- > 2.39.5 > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/2] media: dt-bindings: rockchip,rk3568-mipi-csi2: add rk3588 compatible 2026-03-25 21:06 ` Rob Herring @ 2026-03-25 21:34 ` Michael Riesch 2026-03-26 19:42 ` Rob Herring 0 siblings, 1 reply; 7+ messages in thread From: Michael Riesch @ 2026-03-25 21:34 UTC (permalink / raw) To: Rob Herring Cc: Mauro Carvalho Chehab, Sakari Ailus, Laurent Pinchart, Frank Li, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Kever Yang, Collabora Kernel Team, linux-media, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel Hi Rob, On 3/25/26 22:06, Rob Herring wrote: > On Wed, Mar 25, 2026 at 11:25:34AM +0100, Michael Riesch wrote: >> The RK3588 MIPI CSI-2 receivers are compatible to the ones found in >> the RK3568. >> Introduce a list of compatible variants and add the RK3588 variant to >> it. >> >> Acked-by: Rob Herring (Arm) <robh@kernel.org> First of all, apologies for applying your Acked-by tag. I figured resolving the merged conflict was trivial and impossible to screw up, but... >> Signed-off-by: Michael Riesch <michael.riesch@collabora.com> >> --- >> .../devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml | 10 +++++++--- >> 1 file changed, 7 insertions(+), 3 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml >> index 4ac4a3b6f406..3d3b3cd78884 100644 >> --- a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml >> +++ b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml >> @@ -16,9 +16,13 @@ description: >> >> properties: >> compatible: >> - enum: >> - - fsl,imx93-mipi-csi2 >> - - rockchip,rk3568-mipi-csi2 >> + oneOf: >> + - const: fsl,imx93-mipi-csi2 >> + - const: rockchip,rk3568-mipi-csi2 > > These 2 should be a single enum as they were before. ... hm. Well. First, do you mean properties: compatible: oneOf: - enum: - fsl,imx93-mipi-csi2 - rockchip,rk3568-mipi-csi2 - items: - enum: - rockchip,rk3588-mipi-csi2 - const: rockchip,rk3568-mipi-csi2 ? If so, what is the practical difference? Thanks and best regards, Michael > >> + - items: >> + - enum: >> + - rockchip,rk3588-mipi-csi2 >> + - const: rockchip,rk3568-mipi-csi2 >> >> reg: >> maxItems: 1 >> >> -- >> 2.39.5 >> ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/2] media: dt-bindings: rockchip,rk3568-mipi-csi2: add rk3588 compatible 2026-03-25 21:34 ` Michael Riesch @ 2026-03-26 19:42 ` Rob Herring 2026-03-26 22:49 ` Michael Riesch 0 siblings, 1 reply; 7+ messages in thread From: Rob Herring @ 2026-03-26 19:42 UTC (permalink / raw) To: Michael Riesch Cc: Mauro Carvalho Chehab, Sakari Ailus, Laurent Pinchart, Frank Li, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Kever Yang, Collabora Kernel Team, linux-media, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Wed, Mar 25, 2026 at 4:34 PM Michael Riesch <michael.riesch@collabora.com> wrote: > > Hi Rob, > > On 3/25/26 22:06, Rob Herring wrote: > > On Wed, Mar 25, 2026 at 11:25:34AM +0100, Michael Riesch wrote: > >> The RK3588 MIPI CSI-2 receivers are compatible to the ones found in > >> the RK3568. > >> Introduce a list of compatible variants and add the RK3588 variant to > >> it. > >> > >> Acked-by: Rob Herring (Arm) <robh@kernel.org> > > First of all, apologies for applying your Acked-by tag. I figured > resolving the merged conflict was trivial and impossible to screw up, but... No worries. I would have kept it too. > >> Signed-off-by: Michael Riesch <michael.riesch@collabora.com> > >> --- > >> .../devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml | 10 +++++++--- > >> 1 file changed, 7 insertions(+), 3 deletions(-) > >> > >> diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml > >> index 4ac4a3b6f406..3d3b3cd78884 100644 > >> --- a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml > >> +++ b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml > >> @@ -16,9 +16,13 @@ description: > >> > >> properties: > >> compatible: > >> - enum: > >> - - fsl,imx93-mipi-csi2 > >> - - rockchip,rk3568-mipi-csi2 > >> + oneOf: > >> + - const: fsl,imx93-mipi-csi2 > >> + - const: rockchip,rk3568-mipi-csi2 > > > > These 2 should be a single enum as they were before. > > ... hm. Well. > > First, do you mean > > properties: > compatible: > oneOf: > - enum: > - fsl,imx93-mipi-csi2 > - rockchip,rk3568-mipi-csi2 > - items: > - enum: > - rockchip,rk3588-mipi-csi2 > - const: rockchip,rk3568-mipi-csi2 > ? Yes. > If so, what is the practical difference? First, then you aren't changing what's already there. For validation, there is no difference other than failures with 'oneOf' give poor error messages. It wouldn't be much better, just one less oneOf entry. Rob ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 1/2] media: dt-bindings: rockchip,rk3568-mipi-csi2: add rk3588 compatible 2026-03-26 19:42 ` Rob Herring @ 2026-03-26 22:49 ` Michael Riesch 0 siblings, 0 replies; 7+ messages in thread From: Michael Riesch @ 2026-03-26 22:49 UTC (permalink / raw) To: Rob Herring Cc: Mauro Carvalho Chehab, Sakari Ailus, Laurent Pinchart, Frank Li, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Kever Yang, Collabora Kernel Team, linux-media, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel Hi Rob, On 3/26/26 20:42, Rob Herring wrote: > On Wed, Mar 25, 2026 at 4:34 PM Michael Riesch > <michael.riesch@collabora.com> wrote: >> >> Hi Rob, >> >> On 3/25/26 22:06, Rob Herring wrote: >>> On Wed, Mar 25, 2026 at 11:25:34AM +0100, Michael Riesch wrote: >>>> The RK3588 MIPI CSI-2 receivers are compatible to the ones found in >>>> the RK3568. >>>> Introduce a list of compatible variants and add the RK3588 variant to >>>> it. >>>> >>>> Acked-by: Rob Herring (Arm) <robh@kernel.org> >> >> First of all, apologies for applying your Acked-by tag. I figured >> resolving the merged conflict was trivial and impossible to screw up, but... > > No worries. I would have kept it too. > >>>> Signed-off-by: Michael Riesch <michael.riesch@collabora.com> >>>> --- >>>> .../devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml | 10 +++++++--- >>>> 1 file changed, 7 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml >>>> index 4ac4a3b6f406..3d3b3cd78884 100644 >>>> --- a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml >>>> +++ b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml >>>> @@ -16,9 +16,13 @@ description: >>>> >>>> properties: >>>> compatible: >>>> - enum: >>>> - - fsl,imx93-mipi-csi2 >>>> - - rockchip,rk3568-mipi-csi2 >>>> + oneOf: >>>> + - const: fsl,imx93-mipi-csi2 >>>> + - const: rockchip,rk3568-mipi-csi2 >>> >>> These 2 should be a single enum as they were before. >> >> ... hm. Well. >> >> First, do you mean >> >> properties: >> compatible: >> oneOf: >> - enum: >> - fsl,imx93-mipi-csi2 >> - rockchip,rk3568-mipi-csi2 >> - items: >> - enum: >> - rockchip,rk3588-mipi-csi2 >> - const: rockchip,rk3568-mipi-csi2 >> ? > > Yes. Thanks for the clarification. v4 coming up. > >> If so, what is the practical difference? > > First, then you aren't changing what's already there. For validation, > there is no difference other than failures with 'oneOf' give poor > error messages. It wouldn't be much better, just one less oneOf entry. I'll try to keep that one in mind! Best regards, Michael ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 2/2] arm64: dts: rockchip: add mipi csi-2 receiver nodes to rk3588 2026-03-25 10:25 [PATCH v3 0/2] media: synopsys: csi2rx: add support for rk3588 variant Michael Riesch via B4 Relay 2026-03-25 10:25 ` [PATCH v3 1/2] media: dt-bindings: rockchip,rk3568-mipi-csi2: add rk3588 compatible Michael Riesch via B4 Relay @ 2026-03-25 10:25 ` Michael Riesch via B4 Relay 1 sibling, 0 replies; 7+ messages in thread From: Michael Riesch via B4 Relay @ 2026-03-25 10:25 UTC (permalink / raw) To: Mauro Carvalho Chehab, Sakari Ailus, Laurent Pinchart, Frank Li, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Kever Yang, Collabora Kernel Team Cc: linux-media, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Michael Riesch From: Michael Riesch <michael.riesch@collabora.com> 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 <michael.riesch@collabora.com> --- 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/boot/dts/rockchip/rk3588-base.dtsi index 7fe9593d8c19..6c593b0255c3 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 = <&cru SRST_A_AV1>, <&cru SRST_P_AV1>, <&cru SRST_A_AV1_BIU>, <&cru SRST_P_AV1_BIU>; }; + csi2: csi@fdd30000 { + compatible = "rockchip,rk3588-mipi-csi2", "rockchip,rk3568-mipi-csi2"; + reg = <0x0 0xfdd30000 0x0 0x10000>; + interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH 0>, + <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH 0>; + interrupt-names = "err1", "err2"; + clocks = <&cru PCLK_CSI_HOST_2>; + phys = <&csi_dphy0>; + power-domains = <&power RK3588_PD_VI>; + resets = <&cru SRST_P_CSI_HOST_2>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + csi2_in: port@0 { + reg = <0>; + }; + + csi2_out: port@1 { + reg = <1>; + }; + }; + }; + + csi4: csi@fdd50000 { + compatible = "rockchip,rk3588-mipi-csi2", "rockchip,rk3568-mipi-csi2"; + reg = <0x0 0xfdd50000 0x0 0x10000>; + interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH 0>, + <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH 0>; + interrupt-names = "err1", "err2"; + clocks = <&cru PCLK_CSI_HOST_4>; + phys = <&csi_dphy1>; + power-domains = <&power RK3588_PD_VI>; + resets = <&cru SRST_P_CSI_HOST_4>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + csi4_in: port@0 { + reg = <0>; + }; + + csi4_out: port@1 { + reg = <1>; + }; + }; + }; + vop: vop@fdd90000 { compatible = "rockchip,rk3588-vop"; reg = <0x0 0xfdd90000 0x0 0x4200>, <0x0 0xfdd95000 0x0 0x1000>; -- 2.39.5 ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-03-26 22:49 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-03-25 10:25 [PATCH v3 0/2] media: synopsys: csi2rx: add support for rk3588 variant Michael Riesch via B4 Relay 2026-03-25 10:25 ` [PATCH v3 1/2] media: dt-bindings: rockchip,rk3568-mipi-csi2: add rk3588 compatible Michael Riesch via B4 Relay 2026-03-25 21:06 ` Rob Herring 2026-03-25 21:34 ` Michael Riesch 2026-03-26 19:42 ` Rob Herring 2026-03-26 22:49 ` Michael Riesch 2026-03-25 10:25 ` [PATCH v3 2/2] arm64: dts: rockchip: add mipi csi-2 receiver nodes to rk3588 Michael Riesch via B4 Relay
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox