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

title: Mediatek MT6360 Type-C Port Switch and Power Delivery controller DT bindings

maintainers:
  - ChiYuan Huang <cy_huang@richtek.com>

description: |
  Mediatek MT6360 is a multi-functional device. It integrates charger, ADC, flash, RGB indicators,
  regulators (BUCKs/LDOs), and TypeC Port Switch with Power Delivery controller.
  This document only describes MT6360 Type-C Port Switch and Power Delivery controller.

properties:
  compatible:
    enum:
      - mediatek,mt6360-tcpc

  interrupts:
    maxItems: 1

  interrupt-names:
    items:
      - const: PD_IRQB

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

additionalProperties: false

required:
  - compatible
  - interrupts
  - interrupt-names

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

      mt6360@34 {
        compatible = "mediatek,mt6360";
        reg = <0x34>;
        tcpc {
          compatible = "mediatek,mt6360-tcpc";
          interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;
          interrupt-names = "PD_IRQB";

          connector {
            compatible = "usb-c-connector";
            label = "USB-C";
            data-role = "dual";
            power-role = "dual";
            try-power-role = "sink";
            source-pdos = <PDO_FIXED(5000, 1000, 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>;
                };
              };
            };
          };
        };
      };
    };
...
