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    spi {
45      #address-cells = <1>;
46      #size-cells = <0>;
47
48      cros_ec: ec@0 {
49        compatible = "google,cros-ec-spi";
50        reg = <0>;
51        interrupts = <35 0>;
52
53        typec {
54          compatible = "google,cros-ec-typec";
55
56          #address-cells = <1>;
57          #size-cells = <0>;
58
59          connector@0 {
60            compatible = "usb-c-connector";
61            reg = <0>;
62            power-role = "dual";
63            data-role = "dual";
64            try-power-role = "source";
65          };
66        };
67      };
68    };
69