Hi Rob, Would you prefer these switches to be defined in the usb-connector.yaml bindings file? If there are no other concerns, I can push a fresh version of the patch with the properties defined in usb-connector.yaml. Thanks, On Tue, May 19, 2020 at 2:46 PM Prashant Malani <pmalani@xxxxxxxxxxxx> wrote: > > Add properties for mode, orientation and USB data role switches for > Type C connectors. When available, these will allow the Type C connector > class port driver to configure the various switches according to USB PD > information (like orientation, alt mode etc.) provided by the Chrome OS > EC controller. > > Signed-off-by: Prashant Malani <pmalani@xxxxxxxxxxxx> > Acked-by: Benson Leung <bleung@xxxxxxxxxxxx> > --- > > Changes in v3: > - Fixed Acked-by tag typo. > > Changes in v2: > - Added more text to the switch descriptions, explaining their purpose, > and relation to the Type C connector class framework. > > .../bindings/chrome/google,cros-ec-typec.yaml | 40 ++++++++++++++++++- > 1 file changed, 39 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/chrome/google,cros-ec-typec.yaml b/Documentation/devicetree/bindings/chrome/google,cros-ec-typec.yaml > index 6d7396ab8bee..800c005a0e44 100644 > --- a/Documentation/devicetree/bindings/chrome/google,cros-ec-typec.yaml > +++ b/Documentation/devicetree/bindings/chrome/google,cros-ec-typec.yaml > @@ -21,7 +21,34 @@ properties: > const: google,cros-ec-typec > > connector: > - $ref: /schemas/connector/usb-connector.yaml# > + allOf: > + - $ref: /schemas/connector/usb-connector.yaml# > + - type: object > + properties: > + mode-switch: > + description: Reference to a DT node for the USB Type C Multiplexer > + for this connector. This switch controls the data lines routing > + for this connector for various operation modes, including > + Alternate Modes. This switch is assumed registered with the Type C > + connector class framework by its driver. The Type C connector > + class framework assumes that the mode switch property uses this > + name. > + > + orientation-switch: > + description: Reference to a DT node for the USB Type C orientation > + switch for this connector. This switch controls routing the > + correct data pairs depending on the cable plug orientation from > + this connector to the USB / Alternate Mode controllers. This > + switch is assumed registered with the Type C connector class > + framework by its driver. The Type C connector class framework > + assumes that the orientation switch property uses this name. > + > + usb-role-switch: > + description: Reference to a DT node for the USB Data role switch > + for this connector. This switch is assumed registered with the > + Type C connector class framework by its driver. The Type C > + connector class framework assumes that the USB role switch > + property uses this name. > > required: > - compatible > @@ -49,6 +76,17 @@ examples: > data-role = "dual"; > try-power-role = "source"; > }; > + > + connector@1 { > + compatible = "usb-c-connector"; > + reg = <1>; > + power-role = "dual"; > + data-role = "host"; > + try-power-role = "source"; > + mode-switch = <&typec_mux>; > + orientation-switch = <&typec_orientation_switch>; > + usb-role-switch = <&typec_mux>; > + }; > }; > }; > }; > -- > 2.26.2.761.g0e0b3e54be-goog >