Merge tag 'sched_urgent_for_v5.15_rc1' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / usb / mediatek,mt6360-tcpc.yaml
1 # 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
7 title: Mediatek MT6360 Type-C Port Switch and Power Delivery controller DT bindings
8
9 maintainers:
10   - ChiYuan Huang <cy_huang@richtek.com>
11
12 description: |
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
17 properties:
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
35 additionalProperties: false
36
37 required:
38   - compatible
39   - interrupts
40   - interrupt-names
41
42 examples:
43   - |
44     #include <dt-bindings/interrupt-controller/irq.h>
45     #include <dt-bindings/usb/pd.h>
46     i2c0 {
47       #address-cells = <1>;
48       #size-cells = <0>;
49
50       mt6360@34 {
51         compatible = "mediatek,mt6360";
52         reg = <0x34>;
53         tcpc {
54           compatible = "mediatek,mt6360-tcpc";
55           interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;
56           interrupt-names = "PD_IRQB";
57
58           connector {
59             compatible = "usb-c-connector";
60             label = "USB-C";
61             data-role = "dual";
62             power-role = "dual";
63             try-power-role = "sink";
64             source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
65             sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
66             op-sink-microwatt = <10000000>;
67
68             ports {
69               #address-cells = <1>;
70               #size-cells = <0>;
71
72               port@0 {
73                 reg = <0>;
74                 endpoint {
75                   remote-endpoint = <&usb_hs>;
76                 };
77               };
78               port@1 {
79                 reg = <1>;
80                 endpoint {
81                   remote-endpoint = <&usb_ss>;
82                 };
83               };
84               port@2 {
85                 reg = <2>;
86                 endpoint {
87                   remote-endpoint = <&dp_aux>;
88                 };
89               };
90             };
91           };
92         };
93       };
94     };
95 ...