Re: [PATCH v2 1/4] dt-bindings: Add cros-ec Type C port driver

From: Heikki Krogerus
Date: Wed Feb 12 2020 - 10:53:17 EST


Hi Rob,

On Tue, Feb 11, 2020 at 05:25:13PM -0600, Rob Herring wrote:
> > +examples:
> > + - |+
> > + typec {
> > + compatible = "google,cros-ec-typec";
> > +
> > + port@0 {
>
> 'port' is reserved for OF graph binding which this is not.
>
> > + port-number = <0>;
> > + power-role = "dual";
> > + data-role = "dual";
> > + try-power-role = "source";
>
> These are usb-connector binding properties, but this is not a
> usb-connector node. However, I think it should be. The main thing to
> work out seems to be have multiple connectors.
>
> With your binding, how does one associate the USB host controller with
> each port/connector? That's a solved problem with the connector
> binding.

It looks like OF graph is required to be used for that. The plan was
actually to propose that we use device properties "usb2-port" and
"usb3-port" that directly reference the port nodes under the USB host
controller, but I guess that's too late for that.

OF graph creates one problem. We are going to need to identify the
endpoints somehow in the USB Type-C drivers, so how do we know which
endpoint is for example the USB2 port, which is USB3, which is
DisplayPort, etc?

Does the remote-endpoint parent need to have a specific compatible
property, like the USB2 port needs to have compatible = "usb2-port"
and so on?

thanks,

--
heikki