171c16066SSamuel Holland# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
271c16066SSamuel Holland%YAML 1.2
371c16066SSamuel Holland---
471c16066SSamuel Holland$id: http://devicetree.org/schemas/usb/willsemi,wusb3801.yaml#
571c16066SSamuel Holland$schema: http://devicetree.org/meta-schemas/core.yaml#
671c16066SSamuel Holland
7*a612130cSKrzysztof Kozlowskititle: WUSB3801 Type-C port controller
871c16066SSamuel Holland
971c16066SSamuel Hollanddescription:
1071c16066SSamuel Holland  The Will Semiconductor WUSB3801 is a USB Type-C port controller which
1171c16066SSamuel Holland  supports role and plug orientation detection using the CC pins. It is
1271c16066SSamuel Holland  compatible with the USB Type-C Cable and Connector Specification v1.2.
1371c16066SSamuel Holland
1471c16066SSamuel Hollandmaintainers:
1571c16066SSamuel Holland  - Samuel Holland <samuel@sholland.org>
1671c16066SSamuel Holland
1771c16066SSamuel Hollandproperties:
1871c16066SSamuel Holland  compatible:
1971c16066SSamuel Holland    enum:
2071c16066SSamuel Holland      - willsemi,wusb3801
2171c16066SSamuel Holland
2271c16066SSamuel Holland  reg:
2371c16066SSamuel Holland    maxItems: 1
2471c16066SSamuel Holland
2571c16066SSamuel Holland  interrupts:
2671c16066SSamuel Holland    maxItems: 1
2771c16066SSamuel Holland
2871c16066SSamuel Holland  connector:
2971c16066SSamuel Holland    type: object
3071c16066SSamuel Holland    $ref: ../connector/usb-connector.yaml#
31e372a6dbSRob Herring    unevaluatedProperties: false
3271c16066SSamuel Holland    description:
3371c16066SSamuel Holland      The managed USB Type-C connector. Since WUSB3801 does not support
3471c16066SSamuel Holland      Power Delivery, the node should have the "pd-disable" property.
3571c16066SSamuel Holland
3671c16066SSamuel Holland    properties:
3771c16066SSamuel Holland      compatible:
3871c16066SSamuel Holland        const: usb-c-connector
3971c16066SSamuel Holland
4071c16066SSamuel Holland    required:
4171c16066SSamuel Holland      - pd-disable
4271c16066SSamuel Holland
4371c16066SSamuel Hollandrequired:
4471c16066SSamuel Holland  - compatible
4571c16066SSamuel Holland  - reg
4671c16066SSamuel Holland  - interrupts
4771c16066SSamuel Holland  - connector
4871c16066SSamuel Holland
4971c16066SSamuel HollandadditionalProperties: false
5071c16066SSamuel Holland
5171c16066SSamuel Hollandexamples:
5271c16066SSamuel Holland  - |
5371c16066SSamuel Holland    #include <dt-bindings/interrupt-controller/irq.h>
5471c16066SSamuel Holland
5571c16066SSamuel Holland    i2c {
5671c16066SSamuel Holland      #address-cells = <1>;
5771c16066SSamuel Holland      #size-cells = <0>;
5871c16066SSamuel Holland
5971c16066SSamuel Holland      tcpc@60 {
6071c16066SSamuel Holland        compatible = "willsemi,wusb3801";
6171c16066SSamuel Holland        reg = <0x60>;
6271c16066SSamuel Holland        interrupt-parent = <&gpio0>;
6371c16066SSamuel Holland        interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
6471c16066SSamuel Holland
6571c16066SSamuel Holland        connector {
6671c16066SSamuel Holland          compatible = "usb-c-connector";
6771c16066SSamuel Holland          label = "USB-C";
6871c16066SSamuel Holland          vbus-supply = <&otg_switch>;
6971c16066SSamuel Holland          power-role = "dual";
7071c16066SSamuel Holland          try-power-role = "sink";
7171c16066SSamuel Holland          data-role = "dual";
7271c16066SSamuel Holland          typec-power-opmode = "default";
7371c16066SSamuel Holland          pd-disable;
7471c16066SSamuel Holland        };
7571c16066SSamuel Holland      };
7671c16066SSamuel Holland    };
77