1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/fcs,fusb302.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Fairchild FUSB302 Type-C Port controller
8
9maintainers:
10  - Rob Herring <robh@kernel.org>
11
12properties:
13  compatible:
14    const: fcs,fusb302
15
16  reg:
17    maxItems: 1
18
19  interrupts:
20    maxItems: 1
21
22  vbus-supply:
23    description: VBUS power supply
24
25  connector:
26    type: object
27    $ref: /schemas/connector/usb-connector.yaml#
28    unevaluatedProperties: false
29
30required:
31  - compatible
32  - reg
33  - interrupts
34  - vbus-supply
35  - connector
36
37additionalProperties: false
38
39examples:
40  - |
41    #include <dt-bindings/interrupt-controller/irq.h>
42    #include <dt-bindings/usb/pd.h>
43
44    i2c {
45      #address-cells = <1>;
46      #size-cells = <0>;
47
48      typec-portc@54 {
49        compatible = "fcs,fusb302";
50        reg = <0x54>;
51        interrupt-parent = <&nmi_intc>;
52        interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
53        vbus-supply = <&vbus_typec>;
54
55        connector {
56          compatible = "usb-c-connector";
57          label = "USB-C";
58          power-role = "dual";
59          try-power-role = "sink";
60          source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
61          sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
62                       PDO_VAR(3000, 12000, 3000)
63                       PDO_PPS_APDO(3000, 11000, 3000)>;
64          op-sink-microwatt = <10000000>;
65        };
66      };
67    };
68