# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/richtek,rt1711h.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Richtek RT1711H Type-C Port Switch and Power Delivery controller

maintainers:
  - Gene Chen <gene_chen@richtek.com>

description: |
  The RT1711H is a USB Type-C controller that complies with the latest
  USB Type-C and PD standards. It does the USB Type-C detection including attach
  and orientation. It integrates the physical layer of the USB BMC power
  delivery protocol to allow up to 100W of power. The BMC PD block enables full
  support for alternative interfaces of the Type-C specification.

properties:
  compatible:
    enum:
      - richtek,rt1711h
      - richtek,rt1715
    description:
      RT1711H support PD20, RT1715 support PD30 except Fast Role Swap.

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  wakeup-source:
    type: boolean

  connector:
    type: object
    $ref: /schemas/connector/usb-connector.yaml#
    description:
      Properties for usb c connector.

additionalProperties: false

required:
  - compatible
  - reg
  - connector
  - interrupts

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/usb/pd.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      rt1711h@4e {
        compatible = "richtek,rt1711h";
        reg = <0x4e>;
        interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;
        wakeup-source;

        connector {
          compatible = "usb-c-connector";
          label = "USB-C";
          data-role = "dual";
          power-role = "dual";
          try-power-role = "sink";
          source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
          sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
          op-sink-microwatt = <10000000>;

          ports {
            #address-cells = <1>;
            #size-cells = <0>;

            port@0 {
              reg = <0>;
              endpoint {
                remote-endpoint = <&usb_hs>;
              };
            };
            port@1 {
              reg = <1>;
              endpoint {
                remote-endpoint = <&usb_ss>;
              };
            };
            port@2 {
              reg = <2>;
              endpoint {
                remote-endpoint = <&dp_aux>;
              };
            };
          };
        };
      };
    };
...
