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