← Documents Documentation/devicetree/bindings/usb/brcm,usb-pinmap.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / USB

Broadcom USB Pin Map Controller

Broadcom USB pin map의 입력·출력 GPIO function, mask, interrupt dependency와 VBUS 제어 예제를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

brcm,usb-pinmap.yaml:1-73

Broadcom USB pin map의 입력·출력 GPIO function, mask, interrupt dependency와 VBUS 제어 예제를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, GPIO, PHY, 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/brcm,usb-pinmap.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Broadcom USB pin map Controller
8
9 maintainers:
10 - Al Cooper <[email protected]>
11
12 properties:
13 compatible:
14 items:
15 - const: brcm,usb-pinmap
16
17 reg:
18 maxItems: 1
19
20 interrupts:
21 maxItems: 1
22 description: Interrupt for signals mirrored to out-gpios.
23
24 in-gpios:
25 minItems: 1
26 maxItems: 2
27 description: Array of one or two GPIO pins used for input signals.
28
29 brcm,in-functions:
30 $ref: /schemas/types.yaml#/definitions/string-array
31 description: Array of input signal names, one per gpio in in-gpios.
32
33 brcm,in-masks:
34 $ref: /schemas/types.yaml#/definitions/uint32-array
35 description: Array of enable and mask pairs, one per gpio in-gpios.
36
37 out-gpios:
38 maxItems: 1
39 description: Array of one GPIO pin used for output signals.
40
41 brcm,out-functions:
42 $ref: /schemas/types.yaml#/definitions/string-array
43 description: Array of output signal names, one per gpio in out-gpios.
44
45 brcm,out-masks:
46 $ref: /schemas/types.yaml#/definitions/uint32-array
47 description: Array of enable, value, changed and clear masks, one
48 per gpio in out-gpios.
49
50 required:
51 - compatible
52 - reg
53
54 additionalProperties: false
55
56 dependencies:
57 in-gpios: [ interrupts ]
58
59 examples:
60 - |
61 usb_pinmap: usb-pinmap@22000d0 {
62 compatible = "brcm,usb-pinmap";
63 reg = <0x22000d0 0x4>;
64 in-gpios = <&gpio 18 0>, <&gpio 19 0>;
65 brcm,in-functions = "VBUS", "PWRFLT";
66 brcm,in-masks = <0x8000 0x40000 0x10000 0x80000>;
67 out-gpios = <&gpio 20 0>;
68 brcm,out-functions = "PWRON";
69 brcm,out-masks = <0x20000 0x800000 0x400000 0x200000>;
70 interrupts = <0x0 0xb2 0x4>;
71 };
72
73 ...
74

3. 한국어 전문 번역

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

Broadcom USB pin map controller

1-11

GPL-2.0-only 또는 BSD-2-Clause 라이선스의 이 schema는 Broadcom USB pin map controller를 정의합니다. 관리자는 Al Cooper입니다.

입력 GPIO와 mask

12-36

`compatible`은 `brcm,usb-pinmap`이고 `reg`와 `interrupts`는 각각 최대 한 항목입니다. Interrupt는 `out-gpios`로 mirror되는 신호를 처리합니다.

`in-gpios`는 입력 신호용 GPIO 1~2개입니다. `brcm,in-functions`는 각 input GPIO에 하나씩 대응하는 신호 이름 문자열 배열이고, `brcm,in-masks`는 각 input GPIO에 대응하는 enable/mask uint32 쌍 배열입니다.

properties:
  compatible:
    items:
      - const: brcm,usb-pinmap

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1
    description: Interrupt for signals mirrored to out-gpios.

  in-gpios:
    minItems: 1
    maxItems: 2
    description: Array of one or two GPIO pins used for input signals.

  brcm,in-functions:
    $ref: /schemas/types.yaml#/definitions/string-array
    description: Array of input signal names, one per gpio in in-gpios.

  brcm,in-masks:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description: Array of enable and mask pairs, one per gpio in-gpios.

출력 GPIO와 mask

37-49

`out-gpios`는 출력 신호용 GPIO 한 개입니다. `brcm,out-functions`는 각 output GPIO의 신호 이름 문자열 배열입니다. `brcm,out-masks`는 각 output GPIO마다 enable, value, changed, clear mask를 순서대로 담는 uint32 배열입니다.

out-gpios:
  maxItems: 1
  description: Array of one GPIO pin used for output signals.

brcm,out-functions:
  $ref: /schemas/types.yaml#/definitions/string-array
  description: Array of output signal names, one per gpio in out-gpios.

brcm,out-masks:
  $ref: /schemas/types.yaml#/definitions/uint32-array
  description: Array of enable, value, changed and clear masks, one
    per gpio in out-gpios.

필수 속성과 dependency

50-58

필수 속성은 `compatible`, `reg`입니다. 추가 속성은 허용하지 않습니다. `in-gpios`를 사용하면 mirror 신호를 처리할 `interrupts`도 반드시 제공해야 합니다.

required:
  - compatible
  - reg

additionalProperties: false

dependencies:
  in-gpios: [ interrupts ]

VBUS·PWRFLT·PWRON 예제

59-73

예제 `usb-pinmap@22000d0`은 4-byte register 영역을 사용합니다. GPIO 18과 19는 입력 `VBUS`, `PWRFLT`이며 enable/mask 쌍은 각각 0x8000/0x40000과 0x10000/0x80000입니다.

GPIO 20은 출력 `PWRON`이고 enable/value/changed/clear mask는 0x20000, 0x800000, 0x400000, 0x200000입니다. Mirror 신호 interrupt는 0xb2입니다.

examples:
  - |
    usb_pinmap: usb-pinmap@22000d0 {
        compatible = "brcm,usb-pinmap";
        reg = <0x22000d0 0x4>;
        in-gpios = <&gpio 18 0>, <&gpio 19 0>;
        brcm,in-functions = "VBUS", "PWRFLT";
        brcm,in-masks = <0x8000 0x40000 0x10000 0x80000>;
        out-gpios = <&gpio 20 0>;
        brcm,out-functions = "PWRON";
        brcm,out-masks = <0x20000 0x800000 0x400000 0x200000>;
        interrupts = <0x0 0xb2 0x4>;
    };

...