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

Linux 6.18.37 · Devicetree Bindings / USB

USB NOP PHY

NOP PHY의 clock, VCC·VBUS regulator, GPIO와 remote wakeup을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

usb-nop-xceiv.yaml:1-73

NOP PHY의 clock, VCC·VBUS regulator, GPIO와 remote wakeup을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, property, enum, phandle, graph endpoint, 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-nop-xceiv.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: USB NOP PHY
8
9 maintainers:
10 - Rob Herring <robh@kernel.org>
11
12 properties:
13 compatible:
14 const: usb-nop-xceiv
15
16 clocks:
17 maxItems: 1
18
19 clock-names:
20 const: main_clk
21
22 clock-frequency: true
23
24 '#phy-cells':
25 const: 0
26
27 vcc-supply:
28 description: phandle to the regulator that provides power to the PHY.
29
30 power-domains:
31 maxItems: 1
32
33 reset-gpios:
34 maxItems: 1
35
36 vbus-detect-gpio:
37 description: Should specify the GPIO detecting a VBus insertion
38 maxItems: 1
39
40 vbus-supply:
41 description: regulator supplying VBUS. It will be enabled and disabled
42 dynamically in OTG mode. If the regulator is controlled by a
43 GPIO line, this should be modeled as a regulator-fixed and
44 referenced by this supply.
45
46 wakeup-source:
47 description:
48 Specify if the USB phy can detect the remote wakeup signal
49 while the system sleep.
50
51 required:
52 - compatible
53 - '#phy-cells'
54
55 additionalProperties: false
56
57 examples:
58 - |
59 #include <dt-bindings/gpio/gpio.h>
60
61 hsusb1_phy {
62 compatible = "usb-nop-xceiv";
63 clock-frequency = <19200000>;
64 clocks = <&osc 0>;
65 clock-names = "main_clk";
66 vcc-supply = <&hsusb1_vcc_regulator>;
67 reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
68 vbus-detect-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>;
69 vbus-supply = <&vbus_regulator>;
70 #phy-cells = <0>;
71 };
72
73 ...
74

3. 한국어 전문 번역

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

USB NOP PHY

1-11

GPL-2.0으로 배포되는 이 스키마는 별도 제어 로직이 없는 USB NOP PHY를 정의합니다. 관리자는 Rob Herring입니다.

clock, PHY cell과 전원 자원

12-35

compatible은 `usb-nop-xceiv`입니다. clock은 최대 하나이고 이름은 `main_clk`이며 `clock-frequency`를 지정할 수 있습니다. PHY 인수 cell 수는 0입니다.

`vcc-supply`는 PHY 전원 regulator phandle입니다. power domain과 reset GPIO는 각각 최대 하나입니다.

properties:
  compatible:
    const: usb-nop-xceiv

  clocks:
    maxItems: 1

  clock-names:
    const: main_clk

  clock-frequency: true

  '#phy-cells':
    const: 0

  vcc-supply:
    description: phandle to the regulator that provides power to the PHY.

  power-domains:
    maxItems: 1

  reset-gpios:
    maxItems: 1

VBUS 감지·공급과 wakeup

36-50

`vbus-detect-gpio`는 VBus 삽입을 감지하는 GPIO 하나입니다. `vbus-supply` regulator는 OTG mode에서 동적으로 켜고 끕니다. GPIO line으로 제어하는 regulator라면 `regulator-fixed`로 모델링하고 이 supply에서 참조해야 합니다.

`wakeup-source`는 system sleep 중 USB PHY가 remote wakeup signal을 감지할 수 있음을 나타냅니다.

vbus-detect-gpio:
  description: Should specify the GPIO detecting a VBus insertion
  maxItems: 1

vbus-supply:
  description: regulator supplying VBUS. It will be enabled and disabled
               dynamically in OTG mode. If the regulator is controlled by a
               GPIO line, this should be modeled as a regulator-fixed and
               referenced by this supply.

wakeup-source:
  description:
    Specify if the USB phy can detect the remote wakeup signal
    while the system sleep.

필수 속성과 확장 제한

51-56

compatible과 `#phy-cells`가 필수이며 추가 속성은 허용하지 않습니다.

required:
  - compatible
  - '#phy-cells'

additionalProperties: false

19.2MHz NOP PHY 예제

57-73

예제 `hsusb1_phy`는 19.2MHz oscillator clock, VCC regulator, active-low reset GPIO, active-high VBUS detect GPIO와 VBUS regulator를 사용합니다.

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    hsusb1_phy {
        compatible = "usb-nop-xceiv";
        clock-frequency = <19200000>;
        clocks = <&osc 0>;
        clock-names = "main_clk";
        vcc-supply = <&hsusb1_vcc_regulator>;
        reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
        vbus-detect-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>;
        vbus-supply = <&vbus_regulator>;
        #phy-cells = <0>;
    };

...