[PATCH 4/4] dt-bindings: display: bridge: renesas, dsi-csi2-tx: Allow panel@ subnode
Dmitry Baryshkov
dmitry.baryshkov at oss.qualcomm.com
Thu Sep 4 13:23:29 PDT 2025
On Thu, Sep 04, 2025 at 10:03:08PM +0200, 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+renesas at mailbox.org>
> ---
> Cc: Conor Dooley <conor+dt at kernel.org>
> Cc: David Airlie <airlied at gmail.com>
> Cc: Geert Uytterhoeven <geert+renesas at glider.be>
> Cc: Kieran Bingham <kieran.bingham+renesas at ideasonboard.com>
> Cc: Krzysztof Kozlowski <krzk+dt at kernel.org>
> Cc: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>
> Cc: Neil Armstrong <neil.armstrong at linaro.org>
> Cc: Rob Herring <robh at kernel.org>
> Cc: Robert Foss <rfoss at kernel.org>
> Cc: Simona Vetter <simona at ffwll.ch>
> Cc: Thomas Zimmermann <tzimmermann at suse.de>
> Cc: Tomi Valkeinen <tomi.valkeinen+renesas at ideasonboard.com>
> Cc: devicetree at vger.kernel.org
> Cc: dri-devel at lists.freedesktop.org
> Cc: linux-renesas-soc at vger.kernel.org
> ---
> .../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..f663bc6a6f831 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#
> +
> 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 at fed80000 {
> + dsi0: dsi at fed80000 {
As you are touching this, you can drop the label too.
> 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>
> +
> + dsi1: dsi at fed80000 {
No need for the label (dsi1:)
> + #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 at 0 {
> + reg = <0>;
> + };
> +
> + port at 1 {
> + reg = <1>;
> +
> + dsi0port1_out: endpoint {
> + remote-endpoint = <&panel_in>;
> + data-lanes = <1 2>;
> + };
> + };
> + };
> +
> + panel at 0 {
> + reg = <0>;
> + compatible = "raspberrypi,dsi-7inch";
> +
> + port {
> + panel_in: endpoint {
> + remote-endpoint = <&dsi0port1_out>;
> + };
> + };
> + };
> + };
> ...
> --
> 2.50.1
>
--
With best wishes
Dmitry
More information about the linux-arm-kernel
mailing list