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