Re: [PATCH v4 4/6] dt-bindings: drm/bridge: ti-sn65dsi86: Convert to yaml
From: Doug Anderson
Date: Wed May 06 2020 - 17:11:05 EST
Hi,
On Tue, May 5, 2020 at 3:21 PM Doug Anderson <dianders@xxxxxxxxxxxx> wrote:
>
> Laurent,
>
> On Tue, May 5, 2020 at 2:35 PM Laurent Pinchart
> <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote:
> >
> > Hi Doug,
> >
> > Thank you for the patch.
> >
> > On Thu, Apr 30, 2020 at 12:46:15PM -0700, Douglas Anderson wrote:
> > > This moves the bindings over, based a lot on toshiba,tc358768.yaml.
> > > Unless there's someone known to be better, I've set the maintainer in
> > > the yaml as the first person to submit bindings.
> > >
> > > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
> > > Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> > > ---
> > >
> > > Changes in v4: None
> > > Changes in v3: None
> > > Changes in v2:
> > > - specification => specifier.
> > > - power up => power.
> > > - Added back missing suspend-gpios.
> > > - data-lanes and lane-polarities are are the right place now.
> > > - endpoints don't need to be patternProperties.
> > > - Specified more details for data-lanes and lane-polarities.
> > > - Added old example back in, fixing bugs in it.
> > > - Example i2c bus is just called "i2c", not "i2c1" now.
> > >
> > > .../bindings/display/bridge/ti,sn65dsi86.txt | 87 ------
> > > .../bindings/display/bridge/ti,sn65dsi86.yaml | 279 ++++++++++++++++++
> > > 2 files changed, 279 insertions(+), 87 deletions(-)
> > > delete mode 100644 Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt
> > > create mode 100644 Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml
> > >
> > > diff --git a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt
> > > deleted file mode 100644
> > > index 8ec4a7f2623a..000000000000
> > > --- a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt
> > > +++ /dev/null
> > > @@ -1,87 +0,0 @@
> > > -SN65DSI86 DSI to eDP bridge chip
> > > ---------------------------------
> > > -
> > > -This is the binding for Texas Instruments SN65DSI86 bridge.
> > > -http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=sn65dsi86&fileType=pdf
> > > -
> > > -Required properties:
> > > -- compatible: Must be "ti,sn65dsi86"
> > > -- reg: i2c address of the chip, 0x2d as per datasheet
> > > -- enable-gpios: gpio specification for bridge_en pin (active high)
> > > -
> > > -- vccio-supply: A 1.8V supply that powers up the digital IOs.
> > > -- vpll-supply: A 1.8V supply that powers up the displayport PLL.
> > > -- vcca-supply: A 1.2V supply that powers up the analog circuits.
> > > -- vcc-supply: A 1.2V supply that powers up the digital core.
> > > -
> > > -Optional properties:
> > > -- interrupts-extended: Specifier for the SN65DSI86 interrupt line.
> > > -
> > > -- gpio-controller: Marks the device has a GPIO controller.
> > > -- #gpio-cells : Should be two. The first cell is the pin number and
> > > - the second cell is used to specify flags.
> > > - See ../../gpio/gpio.txt for more information.
> > > -- #pwm-cells : Should be one. See ../../pwm/pwm.yaml for description of
> > > - the cell formats.
> > > -
> > > -- clock-names: should be "refclk"
> > > -- clocks: Specification for input reference clock. The reference
> > > - clock rate must be 12 MHz, 19.2 MHz, 26 MHz, 27 MHz or 38.4 MHz.
> > > -
> > > -- data-lanes: See ../../media/video-interface.txt
> > > -- lane-polarities: See ../../media/video-interface.txt
> > > -
> > > -- suspend-gpios: specification for GPIO1 pin on bridge (active low)
> > > -
> > > -Required nodes:
> > > -This device has two video ports. Their connections are modelled using the
> > > -OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
> > > -
> > > -- Video port 0 for DSI input
> > > -- Video port 1 for eDP output
> > > -
> > > -Example
> > > --------
> > > -
> > > -edp-bridge@2d {
> > > - compatible = "ti,sn65dsi86";
> > > - #address-cells = <1>;
> > > - #size-cells = <0>;
> > > - reg = <0x2d>;
> > > -
> > > - enable-gpios = <&msmgpio 33 GPIO_ACTIVE_HIGH>;
> > > - suspend-gpios = <&msmgpio 34 GPIO_ACTIVE_LOW>;
> > > -
> > > - interrupts-extended = <&gpio3 4 IRQ_TYPE_EDGE_FALLING>;
> > > -
> > > - vccio-supply = <&pm8916_l17>;
> > > - vcca-supply = <&pm8916_l6>;
> > > - vpll-supply = <&pm8916_l17>;
> > > - vcc-supply = <&pm8916_l6>;
> > > -
> > > - clock-names = "refclk";
> > > - clocks = <&input_refclk>;
> > > -
> > > - ports {
> > > - #address-cells = <1>;
> > > - #size-cells = <0>;
> > > -
> > > - port@0 {
> > > - reg = <0>;
> > > -
> > > - edp_bridge_in: endpoint {
> > > - remote-endpoint = <&dsi_out>;
> > > - };
> > > - };
> > > -
> > > - port@1 {
> > > - reg = <1>;
> > > -
> > > - edp_bridge_out: endpoint {
> > > - data-lanes = <2 1 3 0>;
> > > - lane-polarities = <0 1 0 1>;
> > > - remote-endpoint = <&edp_panel_in>;
> > > - };
> > > - };
> > > - };
> > > -}
> > > diff --git a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml
> > > new file mode 100644
> > > index 000000000000..6d7d40ad45ac
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml
> > > @@ -0,0 +1,279 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi86.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: SN65DSI86 DSI to eDP bridge chip
> > > +
> > > +maintainers:
> > > + - Sandeep Panda <spanda@xxxxxxxxxxxxxx>
> > > +
> > > +description: |
> > > + The Texas Instruments SN65DSI86 bridge takes MIPI DSI in and outputs eDP.
> > > + http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=sn65dsi86&fileType=pdf
> > > +
> > > +properties:
> > > + compatible:
> > > + const: ti,sn65dsi86
> > > +
> > > + reg:
> > > + const: 0x2d
> > > +
> > > + enable-gpios:
> > > + maxItems: 1
> > > + description: GPIO specifier for bridge_en pin (active high).
> > > +
> > > + suspend-gpios:
> > > + maxItems: 1
> > > + description: GPIO specifier for GPIO1 pin on bridge (active low).
> > > +
> > > + vccio-supply:
> > > + description: A 1.8V supply that powers the digital IOs.
> > > +
> > > + vpll-supply:
> > > + description: A 1.8V supply that powers the DisplayPort PLL.
> > > +
> > > + vcca-supply:
> > > + description: A 1.2V supply that powers the analog circuits.
> > > +
> > > + vcc-supply:
> > > + description: A 1.2V supply that powers the digital core.
> > > +
> > > + interrupts:
> > > + maxItems: 1
> > > +
> > > + clocks:
> > > + maxItems: 1
> > > + description:
> > > + Clock specifier for input reference clock. The reference clock rate must
> > > + be 12 MHz, 19.2 MHz, 26 MHz, 27 MHz or 38.4 MHz.
> > > +
> > > + clock-names:
> > > + const: refclk
> > > +
> > > + gpio-controller: true
> > > + '#gpio-cells':
> > > + const: 2
> > > + description:
> > > + First cell is pin number, second cell is flags. GPIO pin numbers are
> > > + 1-based to match the datasheet. See ../../gpio/gpio.txt for more
> > > + information.
> > > +
> > > + '#pwm-cells':
> > > + const: 1
> > > + description: See ../../pwm/pwm.yaml for description of the cell formats.
> > > +
> > > + ports:
> > > + type: object
> >
> > Maybe
> >
> > additionalProperties: false
> >
> > here ?
>
> Ah, this is to keep people from adding "additionalProperties" under
> the ports node. I will hold off on sending v5 for now. If there
> happens to be nothing else wrong I'm happy for this to be added by a
> maintainer when landing or I can quickly spin a v5.
>
>
> > > +
> > > + properties:
> > > + "#address-cells":
> > > + const: 1
> > > +
> > > + "#size-cells":
> > > + const: 0
> > > +
> > > + port@0:
> > > + type: object
> > > + additionalProperties: false
> > > +
> > > + description:
> > > + Video port for MIPI DSI input
> > > +
> > > + properties:
> > > + reg:
> > > + const: 0
> > > +
> > > + endpoint:
> > > + type: object
> > > + additionalProperties: false
> > > +
> > > + properties:
> > > + remote-endpoint: true
> > > +
> > > + data-lanes:
> > > + minItems: 1
> > > + maxItems: 4
> > > + items:
> > > + enum:
> > > + - 0
> > > + - 1
> > > + - 2
> > > + - 3
> > > + description: See ../../media/video-interface.txt
> >
> > And maybe
> > uniqueItems: true
> >
> > ? Same for port@1.
>
> Sounds good. Again, I'll hold off on sending v5 for now and (if no
> other problems) happy if this gets done when applied.
>
>
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
I didn't want to churn the whole series, so I ended up posting a patch
that addressed the issues you mentioned and a few others. It could be
squashed into this patch if desired. I'm also happy to re-post this
series with that patch squashed in. See:
20200506140208.v2.2.I0a2bca02b09c1fcb6b09479b489736d600b3e57f@changeid">https://lore.kernel.org/r/20200506140208.v2.2.I0a2bca02b09c1fcb6b09479b489736d600b3e57f@changeid