[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACeCKafwT2HbYqG=u+NwXtvD4R+EK_f7DCWn88WoHriP4iOMdw@mail.gmail.com>
Date: Mon, 13 Jun 2022 13:44:54 -0700
From: Prashant Malani <pmalani@...omium.org>
To: Nícolas F. R. A. Prado
<nfraprado@...labora.com>
Cc: linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org,
bleung@...omium.org, swboyd@...omium.org,
heikki.krogerus@...ux.intel.com,
Andrzej Hajda <andrzej.hajda@...el.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
Daniel Vetter <daniel@...ll.ch>,
David Airlie <airlied@...ux.ie>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>,
"open list:DRM DRIVERS" <dri-devel@...ts.freedesktop.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Hsin-Yi Wang <hsinyi@...omium.org>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Jonas Karlman <jonas@...boo.se>,
José Expósito <jose.exposito89@...il.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Maxime Ripard <maxime@...no.tech>,
Neil Armstrong <narmstrong@...libre.com>,
Pin-Yen Lin <treapking@...omium.org>,
Robert Foss <robert.foss@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Sam Ravnborg <sam@...nborg.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
Tzung-Bi Shih <tzungbi@...gle.com>,
Xin Ji <xji@...logixsemi.com>
Subject: Re: [PATCH v2 3/7] dt-bindings: usb: Add Type-C switch binding
Hi Nícolas,
On Mon, Jun 13, 2022 at 1:38 PM Nícolas F. R. A. Prado
<nfraprado@...labora.com> wrote:
>
> Hi Prashant,
>
> thanks for the patch. Please see sugestions below.
>
> On Thu, Jun 09, 2022 at 06:09:42PM +0000, Prashant Malani wrote:
> > Introduce a binding which represents a component that can control the
> > routing of USB Type-C data lines as well as address data line
> > orientation (based on CC lines' orientation).
> >
> > Signed-off-by: Prashant Malani <pmalani@...omium.org>
> > ---
> >
> > Changes since v1:
> > - Removed "items" from compatible.
> > - Fixed indentation in example.
> >
> > .../devicetree/bindings/usb/typec-switch.yaml | 74 +++++++++++++++++++
> > 1 file changed, 74 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/usb/typec-switch.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/usb/typec-switch.yaml b/Documentation/devicetree/bindings/usb/typec-switch.yaml
> > new file mode 100644
> > index 000000000000..78b0190c8543
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/usb/typec-switch.yaml
> > @@ -0,0 +1,74 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/usb/typec-switch.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: USB Type-C Switch
> > +
> > +maintainers:
> > + - Prashant Malani <pmalani@...omium.org>
> > +
> > +description:
> > + A USB Type-C switch represents a component which routes USB Type-C data
> > + lines to various protocol host controllers (e.g USB, VESA DisplayPort,
> > + Thunderbolt etc.) depending on which mode the Type-C port, port partner
> > + and cable are operating in. It can also modify lane routing based on
> > + the orientation of a connected Type-C peripheral.
> > +
> > +properties:
> > + compatible:
> > + const: typec-switch
> > +
> > + mode-switch:
> > + type: boolean
> > + description: Specify that this switch can handle alternate mode switching.
> > +
> > + orientation-switch:
> > + type: boolean
> > + description: Specify that this switch can handle orientation switching.
> > +
> > + ports:
> > + $ref: /schemas/graph.yaml#/properties/ports
> > + description: OF graph binding modelling data lines to the Type-C switch.
> > +
> > + properties:
> > + port@0:
> > + $ref: /schemas/graph.yaml#/properties/port
> > + description: Link between the switch and a Type-C connector.
>
> Since you have a single port, you can omit the ports node.
I've kept "ports", since it should be possible to add additional ports
which connect the switch to some other entity (and kept separate from
port@0), if the individual driver desires this.
port@0 should only contain the end-point from the Type-C connector.
>
> > +
> > + required:
> > + - port@0
> > +
> > +required:
> > + - compatible
> > + - ports
> > +
> > +anyOf:
> > + - required:
> > + - mode-switch
> > + - required:
> > + - orientation-switch
> > +
> > +additionalProperties: true
> > +
> > +examples:
> > + - |
> > + drm-bridge {
> > + usb-switch {
> > + compatible = "typec-switch";
> > + mode-switch;
> > + orientation-switch;
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > + anx_ep: endpoint {
> > + remote-endpoint = <&typec_controller>;
> > + };
> > + };
> > + };
>
> So instead of ports you would have just
>
> port {
> anx_ep: endpoint {
> remote-endpoint = <&typec_controller>;
> };
> };
>
> And the same simplification on patch 4, for the anx7625 dt-binding.
>
> Thanks,
> Nícolas
>
> > + };
> > + };
> > --
> > 2.36.1.476.g0c4daa206d-goog
> >
Powered by blists - more mailing lists