1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/chrome/google,cros-ec-typec.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Google Chrome OS EC(Embedded Controller) Type C port driver.
8
9maintainers:
10  - Benson Leung <bleung@chromium.org>
11  - Prashant Malani <pmalani@chromium.org>
12
13description:
14  Chrome OS devices have an Embedded Controller(EC) which has access to
15  Type C port state. This node is intended to allow the host to read and
16  control the Type C ports. The node for this device should be under a
17  cros-ec node like google,cros-ec-spi.
18
19properties:
20  compatible:
21    const: google,cros-ec-typec
22
23  '#address-cells':
24    const: 1
25
26  '#size-cells':
27    const: 0
28
29patternProperties:
30  '^connector@[0-9a-f]+$':
31    $ref: /schemas/connector/usb-connector.yaml#
32    unevaluatedProperties: false
33    properties:
34      reg:
35        maxItems: 1
36
37required:
38  - compatible
39
40additionalProperties: false
41
42examples:
43  - |+
44    spi0 {
45      #address-cells = <1>;
46      #size-cells = <0>;
47
48      cros_ec: ec@0 {
49        compatible = "google,cros-ec-spi";
50        reg = <0>;
51
52        typec {
53          compatible = "google,cros-ec-typec";
54
55          #address-cells = <1>;
56          #size-cells = <0>;
57
58          connector@0 {
59            compatible = "usb-c-connector";
60            reg = <0>;
61            power-role = "dual";
62            data-role = "dual";
63            try-power-role = "source";
64          };
65        };
66      };
67    };
68