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

Linux 6.18.37 · Devicetree Bindings / USB

Freescale SoC USB Controllers

Freescale USB2 MPH·dual-role controller의 PHY interface, port·polarity flag와 두 예제를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

fsl,usb2.yaml:1-95

Freescale USB2 MPH·dual-role controller의 PHY interface, port·polarity flag와 두 예제를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, PHY, power, 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/fsl,usb2.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Freescale SOC USB controllers
8
9 maintainers:
10 - Frank Li <Frank.Li@nxp.com>
11
12 description: |
13 The device node for a USB controller that is part of a Freescale
14 SOC is as described in the document "Open Firmware Recommended
15 Practice: Universal Serial Bus" with the following modifications
16 and additions.
17
18 properties:
19 compatible:
20 oneOf:
21 - enum:
22 - fsl-usb2-mph
23 - fsl-usb2-dr
24 - items:
25 - enum:
26 - fsl-usb2-dr-v2.2
27 - fsl-usb2-dr-v2.5
28 - const: fsl-usb2-dr
29
30 reg:
31 maxItems: 1
32
33 interrupts:
34 maxItems: 1
35
36 phy_type:
37 $ref: /schemas/types.yaml#/definitions/string
38 enum: [ulpi, serial, utmi, utmi_wide]
39
40 port0:
41 $ref: /schemas/types.yaml#/definitions/flag
42 description:
43 Indicates port0 is connected for fsl-usb2-mph compatible controllers.
44
45 port1:
46 $ref: /schemas/types.yaml#/definitions/flag
47 description:
48 Indicates port1 is connected for "fsl-usb2-mph" compatible controllers.
49
50 fsl,invert-drvvbus:
51 $ref: /schemas/types.yaml#/definitions/flag
52 description:
53 for MPC5121 USB0 only. Indicates the
54 port power polarity of internal PHY signal DRVVBUS is inverted.
55
56 fsl,invert-pwr-fault:
57 $ref: /schemas/types.yaml#/definitions/flag
58 description:
59 for MPC5121 USB0 only. Indicates
60 the PWR_FAULT signal polarity is inverted.
61
62 required:
63 - compatible
64 - reg
65 - interrupts
66 - phy_type
67
68 allOf:
69 - $ref: usb-drd.yaml#
70
71 unevaluatedProperties: false
72
73 examples:
74 - |
75 #include <dt-bindings/interrupt-controller/irq.h>
76
77 usb@22000 {
78 compatible = "fsl-usb2-mph";
79 reg = <22000 1000>;
80 interrupts = <27 IRQ_TYPE_EDGE_RISING>;
81 phy_type = "ulpi";
82 port0;
83 port1;
84 };
85
86 - |
87 #include <dt-bindings/interrupt-controller/irq.h>
88
89 usb@23000 {
90 compatible = "fsl-usb2-dr";
91 reg = <23000 1000>;
92 interrupts = <26 IRQ_TYPE_EDGE_RISING>;
93 dr_mode = "otg";
94 phy_type = "ulpi";
95 };
96

3. 한국어 전문 번역

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

Freescale SoC USB controller

1-17

GPL-2.0-only 또는 BSD-2-Clause로 배포되는 이 schema는 Freescale SoC USB controller를 정의합니다. 관리자는 Frank Li입니다.

Freescale SoC에 포함된 USB controller node는 Open Firmware Recommended Practice의 Universal Serial Bus 문서를 기본으로 하되, 여기 적힌 수정과 추가 사항을 적용합니다.

Compatible, resource와 PHY interface

18-39

compatible은 `fsl-usb2-mph` 또는 `fsl-usb2-dr` 단독이거나, `fsl-usb2-dr-v2.2`·`fsl-usb2-dr-v2.5` 뒤에 `fsl-usb2-dr` fallback을 둔 조합입니다.

register 영역과 interrupt는 각각 최대 하나입니다. `phy_type`은 `ulpi`, `serial`, `utmi`, `utmi_wide` 중 하나인 문자열입니다.

properties:
  compatible:
    oneOf:
      - enum:
          - fsl-usb2-mph
          - fsl-usb2-dr
      - items:
          - enum:
              - fsl-usb2-dr-v2.2
              - fsl-usb2-dr-v2.5
          - const: fsl-usb2-dr

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  phy_type:
    $ref: /schemas/types.yaml#/definitions/string
    enum: [ulpi, serial, utmi, utmi_wide]

MPH port와 MPC5121 polarity flag

40-61

`port0`와 `port1` flag는 `fsl-usb2-mph` compatible controller에서 해당 port가 연결됐음을 나타냅니다.

MPC5121 USB0 전용 `fsl,invert-drvvbus`는 internal PHY의 DRVVBUS port-power polarity가 반전됐음을, `fsl,invert-pwr-fault`는 PWR_FAULT signal polarity가 반전됐음을 뜻합니다.

port0:
  $ref: /schemas/types.yaml#/definitions/flag
  description:
    Indicates port0 is connected for fsl-usb2-mph compatible controllers.

port1:
  $ref: /schemas/types.yaml#/definitions/flag
  description:
    Indicates port1 is connected for "fsl-usb2-mph" compatible controllers.

fsl,invert-drvvbus:
  $ref: /schemas/types.yaml#/definitions/flag
  description:
    for MPC5121 USB0 only. Indicates the
    port power polarity of internal PHY signal DRVVBUS is inverted.

fsl,invert-pwr-fault:
  $ref: /schemas/types.yaml#/definitions/flag
  description:
    for MPC5121 USB0 only. Indicates
    the PWR_FAULT signal polarity is inverted.

필수 속성과 dual-role schema

62-72

필수 속성은 `compatible`, `reg`, `interrupts`, `phy_type`입니다. 공통 `usb-drd.yaml` 제약을 상속하며 평가되지 않은 추가 속성은 허용하지 않습니다.

required:
  - compatible
  - reg
  - interrupts
  - phy_type

allOf:
  - $ref: usb-drd.yaml#

unevaluatedProperties: false

MPH와 dual-role 예제

73-95

첫 예제 `usb@22000`은 MPH compatible, 0x1000-byte register 영역, rising-edge interrupt 27, ULPI PHY를 사용하며 port0과 port1을 모두 연결합니다.

둘째 예제 `usb@23000`은 dual-role compatible, 0x1000-byte register 영역, rising-edge interrupt 26, OTG mode와 ULPI PHY를 사용합니다.

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

    usb@22000 {
        compatible = "fsl-usb2-mph";
        reg = <22000 1000>;
        interrupts = <27 IRQ_TYPE_EDGE_RISING>;
        phy_type = "ulpi";
        port0;
        port1;
    };

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

    usb@23000 {
        compatible = "fsl-usb2-dr";
        reg = <23000 1000>;
        interrupts = <26 IRQ_TYPE_EDGE_RISING>;
        dr_mode = "otg";
        phy_type = "ulpi";
    };