xref: /freebsd/sys/contrib/device-tree/Bindings/usb/willsemi,wusb3801.yaml (revision b197d4b893974c9eb4d7b38704c6d5c486235d6f)
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 DT bindings
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    description:
32      The managed USB Type-C connector. Since WUSB3801 does not support
33      Power Delivery, the node should have the "pd-disable" property.
34
35    properties:
36      compatible:
37        const: usb-c-connector
38
39    required:
40      - pd-disable
41
42required:
43  - compatible
44  - reg
45  - interrupts
46  - connector
47
48additionalProperties: false
49
50examples:
51  - |
52    #include <dt-bindings/interrupt-controller/irq.h>
53
54    i2c {
55      #address-cells = <1>;
56      #size-cells = <0>;
57
58      tcpc@60 {
59        compatible = "willsemi,wusb3801";
60        reg = <0x60>;
61        interrupt-parent = <&gpio0>;
62        interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
63
64        connector {
65          compatible = "usb-c-connector";
66          label = "USB-C";
67          vbus-supply = <&otg_switch>;
68          power-role = "dual";
69          try-power-role = "sink";
70          data-role = "dual";
71          typec-power-opmode = "default";
72          pd-disable;
73        };
74      };
75    };
76