요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
# 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>
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>;
};
};
};
};
};
};
};
...
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
MT6360 Type-C Port Switch와 PD
1-16GPL-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>;
};
};
};
};
};
};
};
...
요약과 해설
mediatek,mt6360-tcpc.yaml:1-100MT6360 TCPC의 PD interrupt, dual-role PDO와 USB·DisplayPort graph 연결을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, interrupt, clock, PHY, power, source path와 원문 줄 좌표를 원형대로 보존합니다.