| # 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 |
| |
| 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>; |
| interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>; |
| interrupt-names = "IRQB"; |
| interrupt-controller; |
| #interrupt-cells = <1>; |
| |
| 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>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| }; |
| }; |
| ... |