On Tue, Jul 12, 2022 at 10:45 AM Rob Herring <robh@xxxxxxxxxx> wrote: > > > I agree with you; I'm saying my interpretation of the comments of this > > thread are that it's not the intended usage of the it6505 part, so the driver > > shouldn't be updated to support that. > > That's not the right interpretation. There should not be some Type-C > specific child mux/switch node because the device has no such h/w within > it. Assuming all the possibilities Stephen outlined are valid, it's > clear this lane selection has nothing to do with Type-C. It does have an > output port for its DP output already and using that to describe the > connection to DP connector(s) and/or Type-C connector(s) should be > handled. Got it. Thanks for the clarification. > > Whether the driver is type-C aware is a separate question from the > binding. I would think the driver just needs to be told (or it can ask) > which endpoint should be active and it just enables output on the > corresponding lanes for that endpoint. Is it acceptable to tag the end-points with a "mode-switch" / "orientation-switch" property? Something like the following: ``` dp-bridge@5c { compatible = "ite,it6505"; ... port { #adderss-cells = <1>; #size-cells = <0>; ite_typec0: endpoint@0 { reg = <0>; mode-switch; remote-endpoint = <&typec_connector0>; }; ite_typec1: endpoint@1 { reg = <1>; mode-switch; remote-endpoint = <&typec_connector1>; }; }; }; ``` Or should the DRM bridge device binding not have those properties in the end-points either? The reasons those are required are: - The Type-C matching code looks for the "mode-switch" identifier in the fwnode while performing the switch matching [1] - While we can look up whether the remote-endpoint is a "usb-c-connector" in the bridge driver the "mode-switch"/"orientation-switch" property tells the bridge driver whether to register just a mode-switch, an orientation switch or both. Best regards, - Prashant [1] https://elixir.bootlin.com/linux/v5.19-rc6/source/drivers/usb/typec/mux.c#L347