18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/usb/mediatek,mt6360-tcpc.yaml#"
58c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#"
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Mediatek MT6360 Type-C Port Switch and Power Delivery controller DT bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - ChiYuan Huang <cy_huang@richtek.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  Mediatek MT6360 is a multi-functional device. It integrates charger, ADC, flash, RGB indicators,
148c2ecf20Sopenharmony_ci  regulators (BUCKs/LDOs), and TypeC Port Switch with Power Delivery controller.
158c2ecf20Sopenharmony_ci  This document only describes MT6360 Type-C Port Switch and Power Delivery controller.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciproperties:
188c2ecf20Sopenharmony_ci  compatible:
198c2ecf20Sopenharmony_ci    enum:
208c2ecf20Sopenharmony_ci      - mediatek,mt6360-tcpc
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci  interrupts:
238c2ecf20Sopenharmony_ci    maxItems: 1
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci  interrupt-names:
268c2ecf20Sopenharmony_ci    items:
278c2ecf20Sopenharmony_ci      - const: PD_IRQB
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci  connector:
308c2ecf20Sopenharmony_ci    type: object
318c2ecf20Sopenharmony_ci    $ref: ../connector/usb-connector.yaml#
328c2ecf20Sopenharmony_ci    description:
338c2ecf20Sopenharmony_ci      Properties for usb c connector.
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ciadditionalProperties: false
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_cirequired:
388c2ecf20Sopenharmony_ci  - compatible
398c2ecf20Sopenharmony_ci  - interrupts
408c2ecf20Sopenharmony_ci  - interrupt-names
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciexamples:
438c2ecf20Sopenharmony_ci  - |
448c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
458c2ecf20Sopenharmony_ci    #include <dt-bindings/usb/pd.h>
468c2ecf20Sopenharmony_ci    i2c0 {
478c2ecf20Sopenharmony_ci      #address-cells = <1>;
488c2ecf20Sopenharmony_ci      #size-cells = <0>;
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci      mt6360@34 {
518c2ecf20Sopenharmony_ci        compatible = "mediatek,mt6360";
528c2ecf20Sopenharmony_ci        reg = <0x34>;
538c2ecf20Sopenharmony_ci        tcpc {
548c2ecf20Sopenharmony_ci          compatible = "mediatek,mt6360-tcpc";
558c2ecf20Sopenharmony_ci          interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;
568c2ecf20Sopenharmony_ci          interrupt-names = "PD_IRQB";
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci          connector {
598c2ecf20Sopenharmony_ci            compatible = "usb-c-connector";
608c2ecf20Sopenharmony_ci            label = "USB-C";
618c2ecf20Sopenharmony_ci            data-role = "dual";
628c2ecf20Sopenharmony_ci            power-role = "dual";
638c2ecf20Sopenharmony_ci            try-power-role = "sink";
648c2ecf20Sopenharmony_ci            source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
658c2ecf20Sopenharmony_ci            sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
668c2ecf20Sopenharmony_ci            op-sink-microwatt = <10000000>;
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci            ports {
698c2ecf20Sopenharmony_ci              #address-cells = <1>;
708c2ecf20Sopenharmony_ci              #size-cells = <0>;
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci              port@0 {
738c2ecf20Sopenharmony_ci                reg = <0>;
748c2ecf20Sopenharmony_ci                endpoint {
758c2ecf20Sopenharmony_ci                  remote-endpoint = <&usb_hs>;
768c2ecf20Sopenharmony_ci                };
778c2ecf20Sopenharmony_ci              };
788c2ecf20Sopenharmony_ci              port@1 {
798c2ecf20Sopenharmony_ci                reg = <1>;
808c2ecf20Sopenharmony_ci                endpoint {
818c2ecf20Sopenharmony_ci                  remote-endpoint = <&usb_ss>;
828c2ecf20Sopenharmony_ci                };
838c2ecf20Sopenharmony_ci              };
848c2ecf20Sopenharmony_ci              port@2 {
858c2ecf20Sopenharmony_ci                reg = <2>;
868c2ecf20Sopenharmony_ci                endpoint {
878c2ecf20Sopenharmony_ci                  remote-endpoint = <&dp_aux>;
888c2ecf20Sopenharmony_ci                };
898c2ecf20Sopenharmony_ci              };
908c2ecf20Sopenharmony_ci            };
918c2ecf20Sopenharmony_ci          };
928c2ecf20Sopenharmony_ci        };
938c2ecf20Sopenharmony_ci      };
948c2ecf20Sopenharmony_ci    };
958c2ecf20Sopenharmony_ci...
96