Hi, On 05/09/2025 00:01, Marek Vasut wrote: > This controller can have both bridges and panels connected to it. In > order to describe panels properly in DT, pull in dsi-controller.yaml > and disallow only unevaluatedProperties, because the panel node is > optional. Include example binding with panel. > > Signed-off-by: Marek Vasut <marek.vasut+rene...@mailbox.org> > --- > Cc: Conor Dooley <conor...@kernel.org> > Cc: David Airlie <airl...@gmail.com> > Cc: Geert Uytterhoeven <geert+rene...@glider.be> > Cc: Kieran Bingham <kieran.bingham+rene...@ideasonboard.com> > Cc: Krzysztof Kozlowski <krzk...@kernel.org> > Cc: Laurent Pinchart <laurent.pinchart+rene...@ideasonboard.com> > Cc: Neil Armstrong <neil.armstr...@linaro.org> > Cc: Rob Herring <r...@kernel.org> > Cc: Robert Foss <rf...@kernel.org> > Cc: Simona Vetter <sim...@ffwll.ch> > Cc: Thomas Zimmermann <tzimmerm...@suse.de> > Cc: Tomi Valkeinen <tomi.valkeinen+rene...@ideasonboard.com> > Cc: devicet...@vger.kernel.org > Cc: dri-devel@lists.freedesktop.org > Cc: linux-renesas-...@vger.kernel.org > --- > V2: Drop the dsi0: and dsi1: controller labels > --- > .../display/bridge/renesas,dsi-csi2-tx.yaml | 53 ++++++++++++++++++- > 1 file changed, 51 insertions(+), 2 deletions(-) > > diff --git > a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml > b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml > index c167795c63f64..51d685ed82891 100644 > --- > a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml > +++ > b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml > @@ -14,6 +14,9 @@ description: | > R-Car Gen4 SoCs. The encoder can operate in either DSI or CSI-2 mode, with > up > to four data lanes. > > +allOf: > + - $ref: /schemas/display/dsi-controller.yaml# > +
Did you try with a bridge? dsi-controller.yaml only allows a panel. I think I discussed this with someone not long ago, but I couldn't find any patch sent for that. Tomi > properties: > compatible: > enum: > @@ -80,14 +83,14 @@ required: > - resets > - ports > > -additionalProperties: false > +unevaluatedProperties: false > > examples: > - | > #include <dt-bindings/clock/r8a779a0-cpg-mssr.h> > #include <dt-bindings/power/r8a779a0-sysc.h> > > - dsi0: dsi-encoder@fed80000 { > + dsi@fed80000 { > compatible = "renesas,r8a779a0-dsi-csi2-tx"; > reg = <0xfed80000 0x10000>; > power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; > @@ -117,4 +120,50 @@ examples: > }; > }; > }; > + > + - | > + #include <dt-bindings/clock/r8a779g0-cpg-mssr.h> > + #include <dt-bindings/power/r8a779g0-sysc.h> > + > + dsi@fed80000 { > + #address-cells = <1>; > + #size-cells = <0>; > + compatible = "renesas,r8a779g0-dsi-csi2-tx"; > + reg = <0xfed80000 0x10000>; > + clocks = <&cpg CPG_MOD 415>, > + <&cpg CPG_CORE R8A779G0_CLK_DSIEXT>, > + <&cpg CPG_CORE R8A779G0_CLK_DSIREF>; > + clock-names = "fck", "dsi", "pll"; > + power-domains = <&sysc R8A779G0_PD_ALWAYS_ON>; > + resets = <&cpg 415>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + }; > + > + port@1 { > + reg = <1>; > + > + dsi0port1_out: endpoint { > + remote-endpoint = <&panel_in>; > + data-lanes = <1 2>; > + }; > + }; > + }; > + > + panel@0 { > + reg = <0>; > + compatible = "raspberrypi,dsi-7inch"; > + > + port { > + panel_in: endpoint { > + remote-endpoint = <&dsi0port1_out>; > + }; > + }; > + }; > + }; > ...