← Documents Documentation/devicetree/bindings/usb/st,stusb160x.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / USB

STMicroelectronics STUSB160x Type-C Controller

STUSB1600의 전원 rail, dual role과 connector graph를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

st,stusb160x.yaml:1-91

STUSB1600의 전원 rail, dual role과 connector graph를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, interrupt, clock, reset, regulator, graph endpoint, 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/st,stusb160x.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: STMicroelectronics STUSB160x Type-C controller
8
9 maintainers:
10 - Amelie Delaunay <amelie.delaunay@foss.st.com>
11
12 properties:
13 compatible:
14 enum:
15 - st,stusb1600
16
17 reg:
18 maxItems: 1
19
20 interrupts:
21 maxItems: 1
22
23 vdd-supply:
24 description: main power supply (4.1V-22V)
25
26 vsys-supply:
27 description: low power supply (3.0V-5.5V)
28
29 vconn-supply:
30 description: power supply (2.7V-5.5V) used to supply VConn on CC pin in
31 source or dual power role
32
33 connector:
34 type: object
35 $ref: /schemas/connector/usb-connector.yaml#
36 unevaluatedProperties: false
37
38 properties:
39 compatible:
40 const: usb-c-connector
41
42 power-role: true
43
44 typec-power-opmode: true
45
46 required:
47 - compatible
48
49 required:
50 - compatible
51 - reg
52 - connector
53
54 additionalProperties: false
55
56 examples:
57 - |
58 #include <dt-bindings/interrupt-controller/irq.h>
59 i2c {
60 #address-cells = <1>;
61 #size-cells = <0>;
62
63 typec: stusb1600@28 {
64 compatible = "st,stusb1600";
65 reg = <0x28>;
66 vdd-supply = <&vbus_drd>;
67 vsys-supply = <&vdd_usb>;
68 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
69 interrupt-parent = <&gpioi>;
70
71 typec_con: connector {
72 compatible = "usb-c-connector";
73 label = "USB-C";
74 power-role = "dual";
75 data-role = "dual";
76 typec-power-opmode = "default";
77
78 ports {
79 #address-cells = <1>;
80 #size-cells = <0>;
81 port@0 {
82 reg = <0>;
83 typec_con_ep: endpoint {
84 remote-endpoint = <&usbotg_hs_ep>;
85 };
86 };
87 };
88 };
89 };
90 };
91 ...
92

3. 한국어 전문 번역

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

STUSB160x Type-C controller

1-11

GPL-2.0-only 또는 BSD-2-Clause로 배포되는 이 스키마는 STMicroelectronics STUSB160x Type-C controller를 정의합니다. 관리자는 Amelie Delaunay입니다.

전원 rail과 connector

12-48

compatible은 `st,stusb1600`이고 register와 interrupt는 각각 하나입니다. `vdd-supply`는 4.1~22V main supply, `vsys-supply`는 3.0~5.5V low-power supply, `vconn-supply`는 source 또는 dual power role에서 CC pin VConn에 쓰는 2.7~5.5V supply입니다.

`connector` child는 공통 USB connector schema를 따르며 compatible은 `usb-c-connector`입니다. power role과 `typec-power-opmode`를 지정할 수 있고 connector compatible은 필수입니다.

properties:
  compatible:
    enum:
      - st,stusb1600

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  vdd-supply:
    description: main power supply (4.1V-22V)

  vsys-supply:
    description: low power supply (3.0V-5.5V)

  vconn-supply:
    description: power supply (2.7V-5.5V) used to supply VConn on CC pin in
      source or dual power role

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

    properties:
      compatible:
        const: usb-c-connector

      power-role: true

      typec-power-opmode: true

    required:
      - compatible

controller 필수 속성

49-55

controller 필수 속성은 `compatible`, `reg`, `connector`이며 추가 속성은 허용하지 않습니다.

required:
  - compatible
  - reg
  - connector

additionalProperties: false

dual-role STUSB1600 예제

56-91

예제 `stusb1600@28`은 I2C 주소 0x28, VDD·VSYS supply와 GPIOI 11 falling-edge interrupt를 사용합니다. USB-C connector는 data·power role 모두 `dual`, 기본 power operation mode를 사용하며 `port@0` endpoint를 `usbotg_hs_ep`에 연결합니다.

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        typec: stusb1600@28 {
            compatible = "st,stusb1600";
            reg = <0x28>;
            vdd-supply = <&vbus_drd>;
            vsys-supply = <&vdd_usb>;
            interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
            interrupt-parent = <&gpioi>;

            typec_con: connector {
                compatible = "usb-c-connector";
                label = "USB-C";
                power-role = "dual";
                data-role = "dual";
                typec-power-opmode = "default";

                ports {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    port@0 {
                        reg = <0>;
                        typec_con_ep: endpoint {
                            remote-endpoint = <&usbotg_hs_ep>;
                        };
                    };
                };
            };
        };
    };
...