162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/usb/fcs,fusb302.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Fairchild FUSB302 Type-C Port controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Rob Herring <robh@kernel.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciproperties:
1362306a36Sopenharmony_ci  compatible:
1462306a36Sopenharmony_ci    const: fcs,fusb302
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci  reg:
1762306a36Sopenharmony_ci    maxItems: 1
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci  interrupts:
2062306a36Sopenharmony_ci    maxItems: 1
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci  vbus-supply:
2362306a36Sopenharmony_ci    description: VBUS power supply
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci  connector:
2662306a36Sopenharmony_ci    type: object
2762306a36Sopenharmony_ci    $ref: /schemas/connector/usb-connector.yaml#
2862306a36Sopenharmony_ci    unevaluatedProperties: false
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_cirequired:
3162306a36Sopenharmony_ci  - compatible
3262306a36Sopenharmony_ci  - reg
3362306a36Sopenharmony_ci  - interrupts
3462306a36Sopenharmony_ci  - vbus-supply
3562306a36Sopenharmony_ci  - connector
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciadditionalProperties: false
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciexamples:
4062306a36Sopenharmony_ci  - |
4162306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
4262306a36Sopenharmony_ci    #include <dt-bindings/usb/pd.h>
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci    i2c {
4562306a36Sopenharmony_ci      #address-cells = <1>;
4662306a36Sopenharmony_ci      #size-cells = <0>;
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci      typec-portc@54 {
4962306a36Sopenharmony_ci        compatible = "fcs,fusb302";
5062306a36Sopenharmony_ci        reg = <0x54>;
5162306a36Sopenharmony_ci        interrupt-parent = <&nmi_intc>;
5262306a36Sopenharmony_ci        interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
5362306a36Sopenharmony_ci        vbus-supply = <&vbus_typec>;
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci        connector {
5662306a36Sopenharmony_ci          compatible = "usb-c-connector";
5762306a36Sopenharmony_ci          label = "USB-C";
5862306a36Sopenharmony_ci          power-role = "dual";
5962306a36Sopenharmony_ci          try-power-role = "sink";
6062306a36Sopenharmony_ci          source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
6162306a36Sopenharmony_ci          sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
6262306a36Sopenharmony_ci                       PDO_VAR(3000, 12000, 3000)
6362306a36Sopenharmony_ci                       PDO_PPS_APDO(3000, 11000, 3000)>;
6462306a36Sopenharmony_ci          op-sink-microwatt = <10000000>;
6562306a36Sopenharmony_ci        };
6662306a36Sopenharmony_ci      };
6762306a36Sopenharmony_ci    };
68