1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/willsemi,wusb3801.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: WUSB3801 Type-C port controller
8
9description:
10  The Will Semiconductor WUSB3801 is a USB Type-C port controller which
11  supports role and plug orientation detection using the CC pins. It is
12  compatible with the USB Type-C Cable and Connector Specification v1.2.
13
14maintainers:
15  - Samuel Holland <samuel@sholland.org>
16
17properties:
18  compatible:
19    enum:
20      - willsemi,wusb3801
21
22  reg:
23    maxItems: 1
24
25  interrupts:
26    maxItems: 1
27
28  connector:
29    type: object
30    $ref: ../connector/usb-connector.yaml#
31    unevaluatedProperties: false
32    description:
33      The managed USB Type-C connector. Since WUSB3801 does not support
34      Power Delivery, the node should have the "pd-disable" property.
35
36    properties:
37      compatible:
38        const: usb-c-connector
39
40    required:
41      - pd-disable
42
43required:
44  - compatible
45  - reg
46  - interrupts
47  - connector
48
49additionalProperties: false
50
51examples:
52  - |
53    #include <dt-bindings/interrupt-controller/irq.h>
54
55    i2c {
56      #address-cells = <1>;
57      #size-cells = <0>;
58
59      tcpc@60 {
60        compatible = "willsemi,wusb3801";
61        reg = <0x60>;
62        interrupt-parent = <&gpio0>;
63        interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
64
65        connector {
66          compatible = "usb-c-connector";
67          label = "USB-C";
68          vbus-supply = <&otg_switch>;
69          power-role = "dual";
70          try-power-role = "sink";
71          data-role = "dual";
72          typec-power-opmode = "default";
73          pd-disable;
74        };
75      };
76    };
77