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

Linux 6.18.37 · Devicetree Bindings / USB

Generic USB Controller

USB controller의 PHY interface와 최대 동작 속도 공통 속성을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

usb.yaml:1-64

USB controller의 PHY interface와 최대 동작 속도 공통 속성을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, property, enum, phandle, example, 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/usb.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Generic USB Controller
8
9 maintainers:
10 - Greg Kroah-Hartman <[email protected]>
11
12 select: false
13
14 properties:
15 $nodename:
16 pattern: "^usb(@.*)?"
17
18 phys:
19 description:
20 List of all the USB PHYs on this HCD
21
22 phy-names:
23 description:
24 Name specifier for the USB PHY
25
26 usb-phy:
27 $ref: /schemas/types.yaml#/definitions/phandle-array
28 items:
29 maxItems: 1
30 description:
31 List of all the USB PHYs on this HCD to be accepted by the legacy USB
32 Physical Layer subsystem.
33 deprecated: true
34
35 phy_type:
36 description:
37 Tells USB controllers that we want to configure the core to support a
38 UTMI+ PHY with an 8- or 16-bit interface if UTMI+ is selected, UTMI+ low
39 pin interface if ULPI is specified, Serial core/PHY interconnect if
40 serial is specified and High-Speed Inter-Chip feature if HSIC is
41 selected. In case this isn't passed via DT, USB controllers should
42 default to HW capability.
43 $ref: /schemas/types.yaml#/definitions/string
44 enum: [utmi, utmi_wide, ulpi, serial, hsic]
45
46 maximum-speed:
47 description:
48 Tells USB controllers we want to work up to a certain speed. In case this
49 isn't passed via DT, USB controllers should default to their maximum HW
50 capability.
51 $ref: /schemas/types.yaml#/definitions/string
52 enum:
53 - low-speed
54 - full-speed
55 - high-speed
56 - super-speed
57 - super-speed-plus
58 - super-speed-plus-gen2x1
59 - super-speed-plus-gen1x2
60 - super-speed-plus-gen2x2
61
62 additionalProperties: true
63
64 ...
65

3. 한국어 전문 번역

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

Generic USB controller 공통 스키마

1-13

GPL-2.0으로 배포되는 이 재사용 스키마는 일반 USB controller의 공통 속성을 정의합니다. `select: false`이므로 단독으로 node를 선택하지 않으며 다른 controller 스키마가 참조합니다. 관리자는 Greg Kroah-Hartman입니다.

node 이름과 PHY 참조

14-34

node 이름은 `usb` 또는 unit address가 붙은 `usb@...` 형식입니다. `phys`는 HCD에 연결된 모든 USB PHY 목록이고 `phy-names`는 그 PHY의 이름 지정자입니다.

`usb-phy`는 legacy USB Physical Layer subsystem이 받아들이는 PHY phandle 배열입니다. 각 항목은 최대 하나의 cell을 가지며 새 binding에서는 deprecated 상태입니다.

properties:
  $nodename:
    pattern: "^usb(@.*)?"

  phys:
    description:
      List of all the USB PHYs on this HCD

  phy-names:
    description:
      Name specifier for the USB PHY

  usb-phy:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      maxItems: 1
    description:
      List of all the USB PHYs on this HCD to be accepted by the legacy USB
      Physical Layer subsystem.
    deprecated: true

core PHY interface 선택

35-45

`phy_type`은 USB core가 사용할 PHY interface를 지정합니다. `utmi`와 `utmi_wide`는 각각 8-bit·16-bit UTMI+ interface, `ulpi`는 UTMI+ low pin interface, `serial`은 serial core/PHY interconnect, `hsic`은 High-Speed Inter-Chip을 선택합니다. DT에 없으면 controller의 hardware capability를 기본값으로 사용해야 합니다.

phy_type:
  description:
    Tells USB controllers that we want to configure the core to support a
    UTMI+ PHY with an 8- or 16-bit interface if UTMI+ is selected, UTMI+ low
    pin interface if ULPI is specified, Serial core/PHY interconnect if
    serial is specified and High-Speed Inter-Chip feature if HSIC is
    selected. In case this isn't passed via DT, USB controllers should
    default to HW capability.
  $ref: /schemas/types.yaml#/definitions/string
  enum: [utmi, utmi_wide, ulpi, serial, hsic]

USB 최대 동작 속도

46-64

`maximum-speed`는 controller가 동작할 최고 속도를 제한합니다. 값은 low-speed, full-speed, high-speed, super-speed와 세 가지 SuperSpeed Plus lane·generation 조합을 포함합니다. DT에 없으면 controller의 최대 hardware capability가 기본값이며 controller별 추가 속성은 허용합니다.

  maximum-speed:
    description:
      Tells USB controllers we want to work up to a certain speed. In case this
      isn't passed via DT, USB controllers should default to their maximum HW
      capability.
    $ref: /schemas/types.yaml#/definitions/string
    enum:
      - low-speed
      - full-speed
      - high-speed
      - super-speed
      - super-speed-plus
      - super-speed-plus-gen2x1
      - super-speed-plus-gen1x2
      - super-speed-plus-gen2x2

additionalProperties: true

...