xref: /freebsd/sys/contrib/device-tree/Bindings/usb/mediatek,mt6360-tcpc.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
16be33864SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
26be33864SEmmanuel Vadot%YAML 1.2
36be33864SEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/mediatek,mt6360-tcpc.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
66be33864SEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Mediatek MT6360 Type-C Port Switch and Power Delivery controller
86be33864SEmmanuel Vadot
96be33864SEmmanuel Vadotmaintainers:
106be33864SEmmanuel Vadot  - ChiYuan Huang <cy_huang@richtek.com>
116be33864SEmmanuel Vadot
126be33864SEmmanuel Vadotdescription: |
136be33864SEmmanuel Vadot  Mediatek MT6360 is a multi-functional device. It integrates charger, ADC, flash, RGB indicators,
146be33864SEmmanuel Vadot  regulators (BUCKs/LDOs), and TypeC Port Switch with Power Delivery controller.
156be33864SEmmanuel Vadot  This document only describes MT6360 Type-C Port Switch and Power Delivery controller.
166be33864SEmmanuel Vadot
176be33864SEmmanuel Vadotproperties:
186be33864SEmmanuel Vadot  compatible:
196be33864SEmmanuel Vadot    enum:
206be33864SEmmanuel Vadot      - mediatek,mt6360-tcpc
216be33864SEmmanuel Vadot
226be33864SEmmanuel Vadot  interrupts:
236be33864SEmmanuel Vadot    maxItems: 1
246be33864SEmmanuel Vadot
256be33864SEmmanuel Vadot  interrupt-names:
266be33864SEmmanuel Vadot    items:
276be33864SEmmanuel Vadot      - const: PD_IRQB
286be33864SEmmanuel Vadot
296be33864SEmmanuel Vadot  connector:
306be33864SEmmanuel Vadot    type: object
316be33864SEmmanuel Vadot    $ref: ../connector/usb-connector.yaml#
326be33864SEmmanuel Vadot    description:
336be33864SEmmanuel Vadot      Properties for usb c connector.
346be33864SEmmanuel Vadot
356be33864SEmmanuel VadotadditionalProperties: false
366be33864SEmmanuel Vadot
376be33864SEmmanuel Vadotrequired:
386be33864SEmmanuel Vadot  - compatible
396be33864SEmmanuel Vadot  - interrupts
406be33864SEmmanuel Vadot  - interrupt-names
416be33864SEmmanuel Vadot
426be33864SEmmanuel Vadotexamples:
436be33864SEmmanuel Vadot  - |
446be33864SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
456be33864SEmmanuel Vadot    #include <dt-bindings/usb/pd.h>
46*fac71e4eSEmmanuel Vadot    i2c {
476be33864SEmmanuel Vadot      #address-cells = <1>;
486be33864SEmmanuel Vadot      #size-cells = <0>;
496be33864SEmmanuel Vadot
506be33864SEmmanuel Vadot      mt6360@34 {
516be33864SEmmanuel Vadot        compatible = "mediatek,mt6360";
526be33864SEmmanuel Vadot        reg = <0x34>;
53d5b0e70fSEmmanuel Vadot        interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
54d5b0e70fSEmmanuel Vadot        interrupt-names = "IRQB";
55d5b0e70fSEmmanuel Vadot        interrupt-controller;
56d5b0e70fSEmmanuel Vadot        #interrupt-cells = <1>;
57d5b0e70fSEmmanuel Vadot
586be33864SEmmanuel Vadot        tcpc {
596be33864SEmmanuel Vadot          compatible = "mediatek,mt6360-tcpc";
606be33864SEmmanuel Vadot          interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;
616be33864SEmmanuel Vadot          interrupt-names = "PD_IRQB";
626be33864SEmmanuel Vadot
636be33864SEmmanuel Vadot          connector {
646be33864SEmmanuel Vadot            compatible = "usb-c-connector";
656be33864SEmmanuel Vadot            label = "USB-C";
666be33864SEmmanuel Vadot            data-role = "dual";
676be33864SEmmanuel Vadot            power-role = "dual";
686be33864SEmmanuel Vadot            try-power-role = "sink";
696be33864SEmmanuel Vadot            source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
706be33864SEmmanuel Vadot            sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
716be33864SEmmanuel Vadot            op-sink-microwatt = <10000000>;
726be33864SEmmanuel Vadot
736be33864SEmmanuel Vadot            ports {
746be33864SEmmanuel Vadot              #address-cells = <1>;
756be33864SEmmanuel Vadot              #size-cells = <0>;
766be33864SEmmanuel Vadot
776be33864SEmmanuel Vadot              port@0 {
786be33864SEmmanuel Vadot                reg = <0>;
796be33864SEmmanuel Vadot                endpoint {
806be33864SEmmanuel Vadot                  remote-endpoint = <&usb_hs>;
816be33864SEmmanuel Vadot                };
826be33864SEmmanuel Vadot              };
836be33864SEmmanuel Vadot              port@1 {
846be33864SEmmanuel Vadot                reg = <1>;
856be33864SEmmanuel Vadot                endpoint {
866be33864SEmmanuel Vadot                  remote-endpoint = <&usb_ss>;
876be33864SEmmanuel Vadot                };
886be33864SEmmanuel Vadot              };
896be33864SEmmanuel Vadot              port@2 {
906be33864SEmmanuel Vadot                reg = <2>;
916be33864SEmmanuel Vadot                endpoint {
926be33864SEmmanuel Vadot                  remote-endpoint = <&dp_aux>;
936be33864SEmmanuel Vadot                };
946be33864SEmmanuel Vadot              };
956be33864SEmmanuel Vadot            };
966be33864SEmmanuel Vadot          };
976be33864SEmmanuel Vadot        };
986be33864SEmmanuel Vadot      };
996be33864SEmmanuel Vadot    };
1006be33864SEmmanuel Vadot...
101