← Documents Documentation/devicetree/bindings/usb/willsemi,wusb3801.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / USB

WUSB3801 Type-C Port Controller

WUSB3801의 CC 감지와 Power Delivery 없는 dual-role connector를 설명합니다.

Source pathDocumentation/devicetree/bindings/usb/willsemi,wusb3801.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

willsemi,wusb3801.yaml:1-76

WUSB3801의 CC 감지와 Power Delivery 없는 dual-role connector를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, property, symbol, phandle, example, 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/willsemi,wusb3801.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: WUSB3801 Type-C port controller
8
9 description:
10 The Will Semiconductor WUSB3801 is a USB Type-C port controller which
11 supports role and plug orientation detection using the CC pins. It is
12 compatible with the USB Type-C Cable and Connector Specification v1.2.
13
14 maintainers:
15 - Samuel Holland <[email protected]>
16
17 properties:
18 compatible:
19 enum:
20 - willsemi,wusb3801
21
22 reg:
23 maxItems: 1
24
25 interrupts:
26 maxItems: 1
27
28 connector:
29 type: object
30 $ref: ../connector/usb-connector.yaml#
31 unevaluatedProperties: false
32 description:
33 The managed USB Type-C connector. Since WUSB3801 does not support
34 Power Delivery, the node should have the "pd-disable" property.
35
36 properties:
37 compatible:
38 const: usb-c-connector
39
40 required:
41 - pd-disable
42
43 required:
44 - compatible
45 - reg
46 - interrupts
47 - connector
48
49 additionalProperties: false
50
51 examples:
52 - |
53 #include <dt-bindings/interrupt-controller/irq.h>
54
55 i2c {
56 #address-cells = <1>;
57 #size-cells = <0>;
58
59 tcpc@60 {
60 compatible = "willsemi,wusb3801";
61 reg = <0x60>;
62 interrupt-parent = <&gpio0>;
63 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
64
65 connector {
66 compatible = "usb-c-connector";
67 label = "USB-C";
68 vbus-supply = <&otg_switch>;
69 power-role = "dual";
70 try-power-role = "sink";
71 data-role = "dual";
72 typec-power-opmode = "default";
73 pd-disable;
74 };
75 };
76 };
77

3. 한국어 전문 번역

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

WUSB3801 Type-C port controller

1-16

GPL-2.0-only 또는 BSD-2-Clause로 배포되는 이 스키마는 Will Semiconductor WUSB3801 USB Type-C port controller를 정의합니다. 이 장치는 CC pin으로 role과 plug orientation을 감지하며 USB Type-C Cable and Connector Specification v1.2와 호환됩니다. 관리자는 Samuel Holland입니다.

I2C 자원과 managed connector

17-35

`compatible`은 `willsemi,wusb3801`이며 `reg`와 `interrupts`는 각각 최대 한 항목입니다.

`connector` child는 공통 `connector/usb-connector.yaml`을 따르는 managed USB Type-C connector입니다. WUSB3801은 Power Delivery를 지원하지 않으므로 connector node에 `pd-disable`을 지정해야 합니다.

properties:
  compatible:
    enum:
      - willsemi,wusb3801

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  connector:
    type: object
    $ref: ../connector/usb-connector.yaml#
    unevaluatedProperties: false
    description:
      The managed USB Type-C connector. Since WUSB3801 does not support
      Power Delivery, the node should have the "pd-disable" property.

connector 제약과 필수 속성

36-50

connector의 compatible은 `usb-c-connector`로 고정되고 `pd-disable`이 필수입니다. controller node에는 compatible, reg, interrupts와 connector가 모두 필요하며 정의되지 않은 추가 속성은 허용하지 않습니다.

    properties:
      compatible:
        const: usb-c-connector

    required:
      - pd-disable

required:
  - compatible
  - reg
  - interrupts
  - connector

additionalProperties: false

dual-role USB-C connector 예제

51-76

예제 I2C controller의 WUSB3801은 address 0x60과 active-low level interrupt를 사용합니다. USB-C connector는 OTG VBUS supply에 연결되고 power role과 data role을 dual로 설정하며 우선 시도할 power role은 sink입니다.

Type-C power mode는 default이고 Power Delivery를 사용하지 않도록 `pd-disable`을 명시합니다.

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      tcpc@60 {
        compatible = "willsemi,wusb3801";
        reg = <0x60>;
        interrupt-parent = <&gpio0>;
        interrupts = <4 IRQ_TYPE_LEVEL_LOW>;

        connector {
          compatible = "usb-c-connector";
          label = "USB-C";
          vbus-supply = <&otg_switch>;
          power-role = "dual";
          try-power-role = "sink";
          data-role = "dual";
          typec-power-opmode = "default";
          pd-disable;
        };
      };
    };