blob: 053264e605836d7875493a37f7ac92fa5dce2dc6 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/mediatek,mt6360-tcpc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Mediatek MT6360 Type-C Port Switch and Power Delivery controller
8
9maintainers:
10 - ChiYuan Huang <cy_huang@richtek.com>
11
12description: |
13 Mediatek MT6360 is a multi-functional device. It integrates charger, ADC, flash, RGB indicators,
14 regulators (BUCKs/LDOs), and TypeC Port Switch with Power Delivery controller.
15 This document only describes MT6360 Type-C Port Switch and Power Delivery controller.
16
17properties:
18 compatible:
19 enum:
20 - mediatek,mt6360-tcpc
21
22 interrupts:
23 maxItems: 1
24
25 interrupt-names:
26 items:
27 - const: PD_IRQB
28
29 connector:
30 type: object
31 $ref: ../connector/usb-connector.yaml#
32 description:
33 Properties for usb c connector.
34
35additionalProperties: false
36
37required:
38 - compatible
39 - interrupts
40 - interrupt-names
41
42examples:
43 - |
44 #include <dt-bindings/interrupt-controller/irq.h>
45 #include <dt-bindings/usb/pd.h>
46 i2c {
47 #address-cells = <1>;
48 #size-cells = <0>;
49
50 mt6360@34 {
51 compatible = "mediatek,mt6360";
52 reg = <0x34>;
53 interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
54 interrupt-names = "IRQB";
55 interrupt-controller;
56 #interrupt-cells = <1>;
57
58 tcpc {
59 compatible = "mediatek,mt6360-tcpc";
60 interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;
61 interrupt-names = "PD_IRQB";
62
63 connector {
64 compatible = "usb-c-connector";
65 label = "USB-C";
66 data-role = "dual";
67 power-role = "dual";
68 try-power-role = "sink";
69 source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
70 sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
71 op-sink-microwatt = <10000000>;
72
73 ports {
74 #address-cells = <1>;
75 #size-cells = <0>;
76
77 port@0 {
78 reg = <0>;
79 endpoint {
80 remote-endpoint = <&usb_hs>;
81 };
82 };
83 port@1 {
84 reg = <1>;
85 endpoint {
86 remote-endpoint = <&usb_ss>;
87 };
88 };
89 port@2 {
90 reg = <2>;
91 endpoint {
92 remote-endpoint = <&dp_aux>;
93 };
94 };
95 };
96 };
97 };
98 };
99 };
100...