[PATCH v4 1/3] media: dt-bindings: add rockchip mipi csi-2 receiver

Heiko Stübner heiko at sntech.de
Fri Jan 16 03:07:22 PST 2026


Am Freitag, 16. Januar 2026, 11:11:26 Mitteleuropäische Normalzeit schrieb Sakari Ailus:
> Hi Michael,
> 
> On Thu, Jan 15, 2026 at 07:26:07PM +0100, Michael Riesch via B4 Relay wrote:
> > From: Michael Riesch <michael.riesch at collabora.com>
> > 
> > Add documentation for the Rockchip MIPI CSI-2 Receiver.
> > 
> > Signed-off-by: Michael Riesch <michael.riesch at wolfvision.net>
> > Signed-off-by: Michael Riesch <michael.riesch at collabora.com>
> > ---
> >  .../bindings/media/rockchip,rk3568-mipi-csi2.yaml  | 141 +++++++++++++++++++++
> >  MAINTAINERS                                        |   6 +
> >  2 files changed, 147 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml
> > new file mode 100644
> > index 000000000000..2c2bd87582eb
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/rockchip,rk3568-mipi-csi2.yaml
> 
> I'd add a compatible string for the base IP block and name it accordingly.

personally, I wouldn't do that.

While the RK3568-variant is a somewhat smooth integration ... the now
(temporarily) omitted RK3588 variant of a similar block is not.

I.e. the RK3588 has quite a number of those CSI hosts, with a bunch of
resource routing bits and bops between those CSI hosts sitting in the
Rockchip "Gernal Register Files" (dumping ground for random bits and bops).

So you then get a syscon accessing per-soc registers and bits.

So while it is (compatible to) some Synopsis IP block, the integration to
make that thing actually do something is highly soc-specific.

That's also why the for example the dw-hdmi/dsi IPs don't use a common
compatible [0] [1] [2] [3] [4]


[0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.yaml
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-dw-hdmi.yaml
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/display/hisilicon/dw-dsi.txt
[3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi.yaml
[4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-mipi-dsi.yaml


> > +    soc {
> > +        interrupt-parent = <&gic>;
> > +        #address-cells = <2>;
> > +        #size-cells = <2>;
> > +
> > +        csi: csi at fdfb0000 {
> > +            compatible = "rockchip,rk3568-mipi-csi2";
> 
> This would become e.g.
> 
>             compatible = "rockchip,rk3568-mipi-csi2", "snps,dw-mipi-csi2rx";
> 
> See my comments on the driver patch as well.

In the PCIe area, we have  rockchip,rk3568-pcie and rockchip,rk3568-pcie-ep
for a similar combo.

For CSI the receiver is the vastly more common thing to do. So if anything,
I'd go with "foo-csi2" vs. "foo-csi2-device", if somebody really develops a
"camera" SoC, with a fully featured DT-based OS in the future ;-) .

Heiko






More information about the linux-arm-kernel mailing list