Documentation/devicetree/bindings/usb/maxim,max3420-udc.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / USB

MAXIM MAX3420/1 USB Peripheral Controller

MAX3420/1 SPI Full-Speed peripheral의 UDC·VBUS interrupt와 SPI 주파수 제한을 설명합니다.

Source pathDocumentation/devicetree/bindings/usb/maxim,max3420-udc.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약과 해설

maxim,max3420-udc.yaml:1-67

MAX3420/1 SPI Full-Speed peripheral의 UDC·VBUS interrupt와 SPI 주파수 제한을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, interrupt, clock, PHY, power, source path와 원문 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.

원문 전체 펼치기
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/usb/maxim,max3420-udc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: MAXIM MAX3420/1 USB Peripheral Controller
8
9 maintainers:
10 - Jassi Brar <[email protected]>
11
12 description: |
13 The controller provices USB2.0 compliant FullSpeed peripheral
14 implementation over the SPI interface.
15
16 Specifications about the part can be found at:
17 http://datasheets.maximintegrated.com/en/ds/MAX3420E.pdf
18
19 properties:
20 compatible:
21 enum:
22 - maxim,max3420-udc
23 - maxim,max3421-udc
24
25 reg:
26 maxItems: 1
27
28 interrupts:
29 items:
30 - description: usb irq from max3420
31 - description: vbus detection irq
32 minItems: 1
33
34 interrupt-names:
35 items:
36 - const: udc
37 - const: vbus
38 minItems: 1
39
40 spi-max-frequency:
41 maximum: 26000000
42
43 required:
44 - compatible
45 - reg
46 - interrupts
47 - interrupt-names
48
49 additionalProperties: false
50
51 examples:
52 - |
53 #include <dt-bindings/gpio/gpio.h>
54 #include <dt-bindings/interrupt-controller/irq.h>
55 spi {
56 #address-cells = <1>;
57 #size-cells = <0>;
58
59 udc@0 {
60 compatible = "maxim,max3420-udc";
61 reg = <0>;
62 interrupt-parent = <&gpio>;
63 interrupts = <0 IRQ_TYPE_EDGE_FALLING>, <10 IRQ_TYPE_EDGE_BOTH>;
64 interrupt-names = "udc", "vbus";
65 spi-max-frequency = <12500000>;
66 };
67 };
68

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

MAX3420/1 USB Peripheral Controller

1-18

GPL-2.0 또는 BSD-2-Clause로 배포되는 이 schema는 MAXIM MAX3420/1 USB peripheral controller를 정의합니다. 이 controller는 SPI interface를 통해 USB 2.0 규격의 Full-Speed peripheral을 구현합니다. 관리자는 Jassi Brar이며, 원문은 MAX3420E datasheet URL도 제공합니다.

Compatible, 두 interrupt와 SPI 속도

19-42

`compatible`은 `maxim,max3420-udc` 또는 `maxim,max3421-udc`입니다. `reg`는 하나만 허용합니다.

interrupt 목록은 MAX3420 USB IRQ와 VBUS detection IRQ 순서이며 최소 하나가 필요합니다. 대응하는 이름은 `udc`, `vbus`입니다. SPI clock의 최대 주파수는 26,000,000 Hz입니다.

properties:
  compatible:
    enum:
      - maxim,max3420-udc
      - maxim,max3421-udc

  reg:
    maxItems: 1

  interrupts:
    items:
      - description: usb irq from max3420
      - description: vbus detection irq
    minItems: 1

  interrupt-names:
    items:
      - const: udc
      - const: vbus
    minItems: 1

  spi-max-frequency:
    maximum: 26000000

필수 속성

43-50

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

required:
  - compatible
  - reg
  - interrupts
  - interrupt-names

additionalProperties: false

SPI UDC와 VBUS interrupt

51-67

예제 `udc@0`은 chip select 0에 연결되며 falling-edge UDC interrupt와 both-edge VBUS interrupt를 각각 GPIO 0과 10에서 받습니다. SPI 주파수는 12,500,000 Hz입니다.

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

        udc@0 {
            compatible = "maxim,max3420-udc";
            reg = <0>;
            interrupt-parent = <&gpio>;
            interrupts = <0 IRQ_TYPE_EDGE_FALLING>, <10 IRQ_TYPE_EDGE_BOTH>;
            interrupt-names = "udc", "vbus";
            spi-max-frequency = <12500000>;
        };
    };