From: Rob Herring <robh@kernel.org> To: Marek Vasut <marex@denx.de> Cc: dri-devel@lists.freedesktop.org, ch@denx.de, Douglas Anderson <dianders@chromium.org>, Jagan Teki <jagan@amarulasolutions.com>, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Linus Walleij <linus.walleij@linaro.org>, Sam Ravnborg <sam@ravnborg.org>, Stephen Boyd <swboyd@chromium.org>, devicetree@vger.kernel.org Subject: Re: [PATCH V3 1/2] dt-bindings: drm/bridge: ti-sn65dsi83: Add TI SN65DSI83 and SN65DSI84 bindings Date: Thu, 6 May 2021 20:00:28 -0500 [thread overview] Message-ID: <20210507010028.GA1101578@robh.at.kernel.org> (raw) In-Reply-To: <20210505100218.108024-1-marex@denx.de> On Wed, May 05, 2021 at 12:02:17PM +0200, Marek Vasut wrote: > Add DT binding document for TI SN65DSI83 and SN65DSI84 DSI to LVDS bridge. > > Signed-off-by: Marek Vasut <marex@denx.de> > Cc: Douglas Anderson <dianders@chromium.org> > Cc: Jagan Teki <jagan@amarulasolutions.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Linus Walleij <linus.walleij@linaro.org> > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: Stephen Boyd <swboyd@chromium.org> > Cc: devicetree@vger.kernel.org > To: dri-devel@lists.freedesktop.org > --- > V2: Add compatible string for SN65DSI84, since this is now tested on it > V3: - Add 0x2c as valid i2c address > - Switch to schemas/graph.yaml > - Constraint data-lanes to <1>, <1 2>, <1 2 3>, <1 2 3 4> only > - Indent example by 4 spaces > - Handle dual-link LVDS with two ports and describe the second DSI > channel-B port as well. Based on the register defaults of DSI83 > and DSI84, it is likely that the LVDS-channel-B and DSI-channel-B > hardware is present in all the chips, so just reuse port@0 and 2 > for DSI83, port@0,2,3 for DSI84 and all of 0,1,2,3 for DSI85 when > that is supported > --- > .../bindings/display/bridge/ti,sn65dsi83.yaml | 171 ++++++++++++++++++ > 1 file changed, 171 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > > diff --git a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > new file mode 100644 > index 000000000000..4e7df92446a9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > @@ -0,0 +1,171 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: SN65DSI83 and SN65DSI84 DSI to LVDS bridge chip > + > +maintainers: > + - Marek Vasut <marex@denx.de> > + > +description: | > + Texas Instruments SN65DSI83 1x Single-link MIPI DSI > + to 1x Single-link LVDS > + https://www.ti.com/lit/gpn/sn65dsi83 > + Texas Instruments SN65DSI84 1x Single-link MIPI DSI > + to 1x Dual-link or 2x Single-link LVDS > + https://www.ti.com/lit/gpn/sn65dsi84 > + > +properties: > + compatible: > + oneOf: > + - const: ti,sn65dsi83 > + - const: ti,sn65dsi84 Use 'enum' instead of oneOf+const. > + > + reg: > + oneOf: > + - const: 0x2c > + - const: 0x2d Ditto > + > + enable-gpios: > + maxItems: 1 > + description: GPIO specifier for bridge_en pin (active high). > + > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + > + properties: > + port@0: > + $ref: /schemas/graph.yaml#/properties/port > + description: Video port for MIPI DSI Channel-A input > + > + properties: > + endpoint: > + $ref: /schemas/graph.yaml#/$defs/endpoint-base This should actually be video-interfaces.yaml since you use one of the properties from it. > + unevaluatedProperties: false > + > + properties: > + data-lanes: > + description: array of physical DSI data lane indexes. > + minItems: 1 > + maxItems: 4 > + items: > + - const: 1 > + - const: 2 > + - const: 3 > + - const: 4 > + > + port@1: > + $ref: /schemas/graph.yaml#/properties/port > + description: Video port for MIPI DSI Channel-B input > + > + properties: > + endpoint: > + $ref: /schemas/graph.yaml#/$defs/endpoint-base > + unevaluatedProperties: false > + > + properties: > + data-lanes: > + description: array of physical DSI data lane indexes. > + minItems: 1 > + maxItems: 4 > + items: > + - const: 1 > + - const: 2 > + - const: 3 > + - const: 4 > + > + port@2: > + $ref: /schemas/graph.yaml#/properties/port > + description: Video port for LVDS Channel-A output (panel or bridge). > + > + properties: > + endpoint: > + $ref: /schemas/graph.yaml#/$defs/endpoint-base > + description: LVDS Channel-A output endpoint > + unevaluatedProperties: false No need for 'endpoint' unless you have extra properties in it. > + > + port@3: > + $ref: /schemas/graph.yaml#/properties/port > + description: Video port for LVDS Channel-A output (panel or bridge). > + > + properties: > + endpoint: > + $ref: /schemas/graph.yaml#/$defs/endpoint-base > + description: LVDS Channel-B output endpoint > + unevaluatedProperties: false Ditto > + > + required: > + - port@0 > + - port@2 > + > +required: > + - compatible > + - reg > + - enable-gpios > + - ports > + > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: ti,sn65dsi83 > + then: > + properties: > + ports: > + properties: > + port@1: false > + port@3: false > + > + - if: > + properties: > + compatible: > + contains: > + const: ti,sn65dsi84 > + then: > + properties: > + ports: > + properties: > + port@1: false > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + bridge@2d { > + compatible = "ti,sn65dsi83"; > + reg = <0x2d>; > + > + enable-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + endpoint { > + remote-endpoint = <&dsi0_out>; > + data-lanes = <1 2 3 4>; > + }; > + }; > + > + port@2 { > + reg = <2>; > + > + endpoint { > + remote-endpoint = <&panel_in_lvds>; > + }; > + }; > + }; > + }; > + }; > -- > 2.30.2 >
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org> To: Marek Vasut <marex@denx.de> Cc: devicetree@vger.kernel.org, ch@denx.de, Douglas Anderson <dianders@chromium.org>, dri-devel@lists.freedesktop.org, Stephen Boyd <swboyd@chromium.org>, Jagan Teki <jagan@amarulasolutions.com>, Sam Ravnborg <sam@ravnborg.org>, Laurent Pinchart <laurent.pinchart@ideasonboard.com> Subject: Re: [PATCH V3 1/2] dt-bindings: drm/bridge: ti-sn65dsi83: Add TI SN65DSI83 and SN65DSI84 bindings Date: Thu, 6 May 2021 20:00:28 -0500 [thread overview] Message-ID: <20210507010028.GA1101578@robh.at.kernel.org> (raw) In-Reply-To: <20210505100218.108024-1-marex@denx.de> On Wed, May 05, 2021 at 12:02:17PM +0200, Marek Vasut wrote: > Add DT binding document for TI SN65DSI83 and SN65DSI84 DSI to LVDS bridge. > > Signed-off-by: Marek Vasut <marex@denx.de> > Cc: Douglas Anderson <dianders@chromium.org> > Cc: Jagan Teki <jagan@amarulasolutions.com> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Linus Walleij <linus.walleij@linaro.org> > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: Stephen Boyd <swboyd@chromium.org> > Cc: devicetree@vger.kernel.org > To: dri-devel@lists.freedesktop.org > --- > V2: Add compatible string for SN65DSI84, since this is now tested on it > V3: - Add 0x2c as valid i2c address > - Switch to schemas/graph.yaml > - Constraint data-lanes to <1>, <1 2>, <1 2 3>, <1 2 3 4> only > - Indent example by 4 spaces > - Handle dual-link LVDS with two ports and describe the second DSI > channel-B port as well. Based on the register defaults of DSI83 > and DSI84, it is likely that the LVDS-channel-B and DSI-channel-B > hardware is present in all the chips, so just reuse port@0 and 2 > for DSI83, port@0,2,3 for DSI84 and all of 0,1,2,3 for DSI85 when > that is supported > --- > .../bindings/display/bridge/ti,sn65dsi83.yaml | 171 ++++++++++++++++++ > 1 file changed, 171 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > > diff --git a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > new file mode 100644 > index 000000000000..4e7df92446a9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > @@ -0,0 +1,171 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi83.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: SN65DSI83 and SN65DSI84 DSI to LVDS bridge chip > + > +maintainers: > + - Marek Vasut <marex@denx.de> > + > +description: | > + Texas Instruments SN65DSI83 1x Single-link MIPI DSI > + to 1x Single-link LVDS > + https://www.ti.com/lit/gpn/sn65dsi83 > + Texas Instruments SN65DSI84 1x Single-link MIPI DSI > + to 1x Dual-link or 2x Single-link LVDS > + https://www.ti.com/lit/gpn/sn65dsi84 > + > +properties: > + compatible: > + oneOf: > + - const: ti,sn65dsi83 > + - const: ti,sn65dsi84 Use 'enum' instead of oneOf+const. > + > + reg: > + oneOf: > + - const: 0x2c > + - const: 0x2d Ditto > + > + enable-gpios: > + maxItems: 1 > + description: GPIO specifier for bridge_en pin (active high). > + > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + > + properties: > + port@0: > + $ref: /schemas/graph.yaml#/properties/port > + description: Video port for MIPI DSI Channel-A input > + > + properties: > + endpoint: > + $ref: /schemas/graph.yaml#/$defs/endpoint-base This should actually be video-interfaces.yaml since you use one of the properties from it. > + unevaluatedProperties: false > + > + properties: > + data-lanes: > + description: array of physical DSI data lane indexes. > + minItems: 1 > + maxItems: 4 > + items: > + - const: 1 > + - const: 2 > + - const: 3 > + - const: 4 > + > + port@1: > + $ref: /schemas/graph.yaml#/properties/port > + description: Video port for MIPI DSI Channel-B input > + > + properties: > + endpoint: > + $ref: /schemas/graph.yaml#/$defs/endpoint-base > + unevaluatedProperties: false > + > + properties: > + data-lanes: > + description: array of physical DSI data lane indexes. > + minItems: 1 > + maxItems: 4 > + items: > + - const: 1 > + - const: 2 > + - const: 3 > + - const: 4 > + > + port@2: > + $ref: /schemas/graph.yaml#/properties/port > + description: Video port for LVDS Channel-A output (panel or bridge). > + > + properties: > + endpoint: > + $ref: /schemas/graph.yaml#/$defs/endpoint-base > + description: LVDS Channel-A output endpoint > + unevaluatedProperties: false No need for 'endpoint' unless you have extra properties in it. > + > + port@3: > + $ref: /schemas/graph.yaml#/properties/port > + description: Video port for LVDS Channel-A output (panel or bridge). > + > + properties: > + endpoint: > + $ref: /schemas/graph.yaml#/$defs/endpoint-base > + description: LVDS Channel-B output endpoint > + unevaluatedProperties: false Ditto > + > + required: > + - port@0 > + - port@2 > + > +required: > + - compatible > + - reg > + - enable-gpios > + - ports > + > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: ti,sn65dsi83 > + then: > + properties: > + ports: > + properties: > + port@1: false > + port@3: false > + > + - if: > + properties: > + compatible: > + contains: > + const: ti,sn65dsi84 > + then: > + properties: > + ports: > + properties: > + port@1: false > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + bridge@2d { > + compatible = "ti,sn65dsi83"; > + reg = <0x2d>; > + > + enable-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + endpoint { > + remote-endpoint = <&dsi0_out>; > + data-lanes = <1 2 3 4>; > + }; > + }; > + > + port@2 { > + reg = <2>; > + > + endpoint { > + remote-endpoint = <&panel_in_lvds>; > + }; > + }; > + }; > + }; > + }; > -- > 2.30.2 >
next prev parent reply other threads:[~2021-05-07 1:00 UTC|newest] Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-05-05 10:02 [PATCH V3 1/2] dt-bindings: drm/bridge: ti-sn65dsi83: Add TI SN65DSI83 and SN65DSI84 bindings Marek Vasut 2021-05-05 10:02 ` Marek Vasut 2021-05-05 10:02 ` [PATCH V3 2/2] drm/bridge: ti-sn65dsi83: Add TI SN65DSI83 and SN65DSI84 driver Marek Vasut 2021-05-05 12:42 ` Linus Walleij 2021-05-06 9:45 ` Dave Stevenson 2021-05-06 12:48 ` Marek Vasut 2021-05-06 13:03 ` Laurent Pinchart 2021-05-06 14:57 ` Marek Vasut 2021-05-06 17:03 ` Dave Stevenson 2021-05-06 20:49 ` Marek Vasut 2021-05-07 8:55 ` Dave Stevenson 2021-05-06 15:38 ` Frieder Schrempf 2021-05-06 15:46 ` Marek Vasut 2021-05-06 16:03 ` Frieder Schrempf 2021-05-06 20:51 ` Marek Vasut 2021-05-07 9:17 ` Dave Stevenson 2021-05-08 20:10 ` Marek Vasut 2021-05-07 12:48 ` Dave Stevenson 2021-05-08 20:16 ` Marek Vasut 2021-05-10 9:58 ` Dave Stevenson 2021-05-10 11:16 ` Marek Vasut 2021-05-10 18:04 ` Dave Stevenson 2021-05-10 19:29 ` Marek Vasut [not found] ` <1b153bce-a66a-45ee-a5c6-963ea6fb1c82.949ef384-8293-46b8-903f-40a477c056ae.d251689f-a6ba-486d-bfa1-070ac0c167d5@emailsignatures365.codetwo.com> [not found] ` <1b153bce-a66a-45ee-a5c6-963ea6fb1c82.0d2bd5fa-15cc-4b27-b94e-83614f9e5b38.81349e00-3f39-4654-ab28-8c85568d0c51@emailsignatures365.codetwo.com> 2021-05-17 13:23 ` [V3, " Mike Looijmans 2021-05-25 10:53 ` Marek Vasut 2021-05-25 12:08 ` Mike Looijmans 2021-05-25 13:00 ` Marek Vasut 2021-05-25 14:23 ` Mike Looijmans 2021-05-25 14:42 ` Marek Vasut 2021-05-25 15:16 ` Mike Looijmans 2021-05-05 12:38 ` [PATCH V3 1/2] dt-bindings: drm/bridge: ti-sn65dsi83: Add TI SN65DSI83 and SN65DSI84 bindings Linus Walleij 2021-05-05 12:38 ` Linus Walleij 2021-05-07 1:00 ` Rob Herring [this message] 2021-05-07 1:00 ` Rob Herring
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210507010028.GA1101578@robh.at.kernel.org \ --to=robh@kernel.org \ --cc=ch@denx.de \ --cc=devicetree@vger.kernel.org \ --cc=dianders@chromium.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=jagan@amarulasolutions.com \ --cc=laurent.pinchart@ideasonboard.com \ --cc=linus.walleij@linaro.org \ --cc=marex@denx.de \ --cc=sam@ravnborg.org \ --cc=swboyd@chromium.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.