요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/brcm,usb-pinmap.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Broadcom USB pin map Controller
maintainers:
- Al Cooper <[email protected]>
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.
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.
required:
- compatible
- reg
additionalProperties: false
dependencies:
in-gpios: [ interrupts ]
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>;
};
...
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Broadcom USB pin map controller
1-11GPL-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>;
};
...
요약과 해설
brcm,usb-pinmap.yaml:1-73Broadcom USB pin map의 입력·출력 GPIO function, mask, interrupt dependency와 VBUS 제어 예제를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, GPIO, PHY, endpoint, source path와 원문 줄 좌표를 원형대로 보존합니다.