[PATCH v3 1/2] dt-bindings: chrome: Add cros-ec-typec mux props

From: Prashant Malani
Date: Tue May 19 2020 - 17:46:35 EST


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