← Documents Documentation/devicetree/bindings/usb/fcs,fusb302.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / USB

Fairchild FUSB302 Type-C Port Controller

FUSB302의 I2C resource, VBUS, USB-C connector 역할과 source·sink PDO 예제를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

fcs,fusb302.yaml:1-67

FUSB302의 I2C resource, VBUS, USB-C connector 역할과 source·sink PDO 예제를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, reset, PHY, connector, source path와 원문 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/usb/fcs,fusb302.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Fairchild FUSB302 Type-C Port controller
8
9 maintainers:
10 - Rob Herring <[email protected]>
11
12 properties:
13 compatible:
14 const: fcs,fusb302
15
16 reg:
17 maxItems: 1
18
19 interrupts:
20 maxItems: 1
21
22 vbus-supply:
23 description: VBUS power supply
24
25 connector:
26 type: object
27 $ref: /schemas/connector/usb-connector.yaml#
28 unevaluatedProperties: false
29
30 required:
31 - compatible
32 - reg
33 - interrupts
34 - vbus-supply
35 - connector
36
37 additionalProperties: false
38
39 examples:
40 - |
41 #include <dt-bindings/interrupt-controller/irq.h>
42 #include <dt-bindings/usb/pd.h>
43
44 i2c {
45 #address-cells = <1>;
46 #size-cells = <0>;
47
48 typec-portc@54 {
49 compatible = "fcs,fusb302";
50 reg = <0x54>;
51 interrupt-parent = <&nmi_intc>;
52 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
53 vbus-supply = <&vbus_typec>;
54
55 connector {
56 compatible = "usb-c-connector";
57 label = "USB-C";
58 power-role = "dual";
59 try-power-role = "sink";
60 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
61 sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
62 PDO_VAR(3000, 12000, 3000)
63 PDO_PPS_APDO(3000, 11000, 3000)>;
64 op-sink-microwatt = <10000000>;
65 };
66 };
67 };
68

3. 한국어 전문 번역

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

Fairchild FUSB302 Type-C port controller

1-11

GPL-2.0으로 배포되는 이 schema는 Fairchild FUSB302 Type-C port controller를 정의합니다. 관리자는 Rob Herring입니다.

I2C resource, VBUS와 connector

12-29

`compatible`은 `fcs,fusb302`입니다. register와 interrupt는 각각 최대 하나이며 `vbus-supply`는 VBUS power supply를 참조합니다.

`connector` object는 `/schemas/connector/usb-connector.yaml`을 따르며 평가되지 않은 추가 속성을 허용하지 않습니다.

properties:
  compatible:
    const: fcs,fusb302

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  vbus-supply:
    description: VBUS power supply

  connector:
    type: object
    $ref: /schemas/connector/usb-connector.yaml#
    unevaluatedProperties: false

필수 속성

30-38

필수 속성은 `compatible`, `reg`, `interrupts`, `vbus-supply`, `connector`입니다. 정의되지 않은 추가 속성은 허용하지 않습니다.

required:
  - compatible
  - reg
  - interrupts
  - vbus-supply
  - connector

additionalProperties: false

Dual-role USB-C와 PDO 예제

39-67

예제 `typec-portc@54`는 I2C address 0x54, level-low interrupt, `vbus_typec` 전원을 사용합니다. connector label은 `USB-C`, power role은 `dual`, 우선 시도 역할은 `sink`입니다.

source PDO는 5 V·3 A fixed supply 하나입니다. sink PDO는 5 V·3 A fixed, 3~12 V·3 A variable, 3~11 V·3 A PPS APDO를 제공하며 sink 동작 전력은 10,000,000 microwatt입니다.

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

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

      typec-portc@54 {
        compatible = "fcs,fusb302";
        reg = <0x54>;
        interrupt-parent = <&nmi_intc>;
        interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
        vbus-supply = <&vbus_typec>;

        connector {
          compatible = "usb-c-connector";
          label = "USB-C";
          power-role = "dual";
          try-power-role = "sink";
          source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
          sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
                       PDO_VAR(3000, 12000, 3000)
                       PDO_PPS_APDO(3000, 11000, 3000)>;
          op-sink-microwatt = <10000000>;
        };
      };
    };