← Documents Documentation/devicetree/bindings/usb/mediatek,mt6360-tcpc.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / USB

MediaTek MT6360 Type-C Port Switch and PD

MT6360 TCPC의 PD interrupt, dual-role PDO와 USB·DisplayPort graph 연결을 설명합니다.

Source pathDocumentation/devicetree/bindings/usb/mediatek,mt6360-tcpc.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

mediatek,mt6360-tcpc.yaml:1-100

MT6360 TCPC의 PD interrupt, dual-role PDO와 USB·DisplayPort graph 연결을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, interrupt, clock, PHY, power, source path와 원문 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
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
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 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 ...
101

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

MT6360 Type-C Port Switch와 PD

1-16

GPL-2.0-only 또는 BSD-2-Clause로 배포되는 이 schema는 MediaTek MT6360 Type-C Port Switch와 Power Delivery controller를 정의합니다. MT6360은 charger, ADC, flash, RGB indicator, BUCK·LDO regulator 등을 통합한 다기능 device이며, 이 문서는 그중 Type-C와 PD 기능만 다룹니다. 관리자는 ChiYuan Huang입니다.

PD interrupt와 USB-C connector

17-36

`compatible`은 `mediatek,mt6360-tcpc`입니다. interrupt는 하나만 허용하고 이름은 `PD_IRQB`입니다.

선택적 `connector` child는 `usb-connector.yaml`을 따라 USB-C connector 속성을 담습니다. 정의되지 않은 추가 속성은 허용하지 않습니다.

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

필수 TCPC 속성

37-41

필수 속성은 `compatible`, `interrupts`, `interrupt-names`입니다.

required:
  - compatible
  - interrupts
  - interrupt-names

Dual-role PD와 세 graph port

42-100

예제 MT6360 parent는 I2C address 0x34, level-low IRQB, interrupt-controller 기능을 제공하고, child `tcpc`는 별도의 level-low `PD_IRQB` interrupt를 사용합니다.

USB-C connector의 data role과 power role은 모두 `dual`이며 선호 power role은 `sink`입니다. source PDO는 5 V 1 A, sink PDO는 5 V 2 A이고 동작 sink power는 10,000,000 microwatt입니다.

connector graph의 port 0, 1, 2는 각각 USB High-Speed, USB SuperSpeed, DisplayPort AUX endpoint `usb_hs`, `usb_ss`, `dp_aux`에 연결됩니다.

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/usb/pd.h>
    i2c {
      #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>;
                };
              };
            };
          };
        };
      };
    };
...