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