# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/chrome/google,cros-ec-typec.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Google Chrome OS EC(Embedded Controller) Type C port driver. maintainers: - Benson Leung - Abhishek Pandit-Subedi - Andrei Kuchynski - Ɓukasz Bartosik - Jameson Thies description: Chrome OS devices have an Embedded Controller(EC) which has access to Type C port state. This node is intended to allow the host to read and control the Type C ports. This binding is compatible with both the cros-ec-typec and cros-ec-ucsi drivers. The cros-ec-typec driver supports the host command interface used by the Chrome OS EC with a built-in Type-C port manager and external Type-C Port Controller (TCPC). The cros-ec-ucsi driver supports the USB Type-C Connector System Software (UCSI) interface used by the Chrome OS EC when the platform has a separate power delivery controller (PDC). The node for this device should be under a cros-ec node like google,cros-ec-spi. properties: compatible: enum: - google,cros-ec-typec - google,cros-ec-ucsi '#address-cells': const: 1 '#size-cells': const: 0 patternProperties: '^connector@[0-9a-f]+$': $ref: /schemas/connector/usb-connector.yaml# required: - reg required: - compatible additionalProperties: false examples: - |+ spi { #address-cells = <1>; #size-cells = <0>; cros_ec: ec@0 { compatible = "google,cros-ec-spi"; reg = <0>; interrupts = <35 0>; typec { compatible = "google,cros-ec-typec"; #address-cells = <1>; #size-cells = <0>; connector@0 { compatible = "usb-c-connector"; reg = <0>; power-role = "dual"; data-role = "dual"; try-power-role = "source"; }; }; }; };