요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/renesas,usbhs.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Renesas USBHS (HS-USB) controller
maintainers:
- Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
properties:
compatible:
oneOf:
- items:
- const: renesas,usbhs-r7s72100 # RZ/A1
- const: renesas,rza1-usbhs
- items:
- enum:
- renesas,usbhs-r7s9210 # RZ/A2
- const: renesas,rza2-usbhs
- items:
- enum:
- renesas,usbhs-r9a07g043 # RZ/G2UL and RZ/Five
- renesas,usbhs-r9a07g044 # RZ/G2{L,LC}
- renesas,usbhs-r9a07g054 # RZ/V2L
- renesas,usbhs-r9a08g045 # RZ/G3S
- renesas,usbhs-r9a09g056 # RZ/V2N
- renesas,usbhs-r9a09g057 # RZ/V2H(P)
- const: renesas,rzg2l-usbhs
- items:
- enum:
- renesas,usbhs-r8a7742 # RZ/G1H
- renesas,usbhs-r8a7743 # RZ/G1M
- renesas,usbhs-r8a7744 # RZ/G1N
- renesas,usbhs-r8a7745 # RZ/G1E
- renesas,usbhs-r8a77470 # RZ/G1C
- renesas,usbhs-r8a7790 # R-Car H2
- renesas,usbhs-r8a7791 # R-Car M2-W
- renesas,usbhs-r8a7792 # R-Car V2H
- renesas,usbhs-r8a7793 # R-Car M2-N
- renesas,usbhs-r8a7794 # R-Car E2
- const: renesas,rcar-gen2-usbhs
- items:
- enum:
- renesas,usbhs-r8a774a1 # RZ/G2M
- renesas,usbhs-r8a774b1 # RZ/G2N
- renesas,usbhs-r8a774c0 # RZ/G2E
- renesas,usbhs-r8a774e1 # RZ/G2H
- renesas,usbhs-r8a7795 # R-Car H3
- renesas,usbhs-r8a7796 # R-Car M3-W
- renesas,usbhs-r8a77961 # R-Car M3-W+
- renesas,usbhs-r8a77965 # R-Car M3-N
- renesas,usbhs-r8a77990 # R-Car E3
- renesas,usbhs-r8a77995 # R-Car D3
- const: renesas,rcar-gen3-usbhs
- const: renesas,usbhs-r9a09g077 # RZ/T2H
- items:
- const: renesas,usbhs-r9a09g087 # RZ/N2H
- const: renesas,usbhs-r9a09g077 # RZ/T2H
reg:
maxItems: 1
clocks:
minItems: 1
items:
- description: USB 2.0 host
- description: USB 2.0 peripheral
- description: USB 2.0 clock selector
interrupts:
minItems: 1
maxItems: 4
renesas,buswait:
$ref: /schemas/types.yaml#/definitions/uint32
description: |
Integer to use BUSWAIT register.
renesas,enable-gpio:
deprecated: true
maxItems: 1
renesas,enable-gpios:
maxItems: 1
description: |
gpio specifier to check GPIO determining if USB function should be
enabled.
phys:
maxItems: 1
phy-names:
items:
- const: usb
dmas:
minItems: 2
maxItems: 4
dma-names:
minItems: 2
items:
- const: ch0
- const: ch1
- const: ch2
- const: ch3
dr_mode: true
power-domains:
maxItems: 1
resets:
minItems: 1
items:
- description: USB 2.0 host
- description: USB 2.0 peripheral
required:
- compatible
- reg
- clocks
- interrupts
allOf:
- if:
properties:
compatible:
contains:
const: renesas,rzg2l-usbhs
then:
properties:
interrupts:
items:
- description: U2P_IXL_INT
- description: U2P_INT_DMA[0]
- description: U2P_INT_DMA[1]
- description: U2P_INT_DMAERR
required:
- resets
else:
if:
properties:
compatible:
contains:
const: renesas,usbhs-r9a09g077
then:
properties:
resets: false
clocks:
maxItems: 1
interrupts:
items:
- description: USB function interrupt USB_FI
- description: USB function DMA0 transmit completion interrupt USB_FDMA0
- description: USB function DMA1 transmit completion interrupt USB_FDMA1
else:
properties:
interrupts:
maxItems: 1
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/r8a7790-cpg-mssr.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/power/r8a7790-sysc.h>
usbhs: usb@e6590000 {
compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs";
reg = <0xe6590000 0x100>;
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 704>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Renesas USBHS controller
1-11GPL-2.0-only로 배포되는 이 스키마는 Renesas USBHS(HS-USB) controller를 정의합니다. 관리자는 Yoshihiro Shimoda입니다.
RZ·R-Car 세대별 compatible
12-67RZ/A1과 RZ/A2는 각각 `renesas,rza1-usbhs`, `renesas,rza2-usbhs` fallback을 사용합니다. RZ/G2UL·G2L·G2LC·RZ/Five·RZ/V2L·RZ/G3S·RZ/V2N·RZ/V2H(P)는 `renesas,rzg2l-usbhs`로 묶입니다.
RZ/G1과 R-Car Gen2 계열은 `renesas,rcar-gen2-usbhs`, RZ/G2와 R-Car Gen3 계열은 `renesas,rcar-gen3-usbhs`로 fallback합니다. RZ/T2H는 `renesas,usbhs-r9a09g077` 단독 compatible을 허용하고, RZ/N2H는 SoC별 `renesas,usbhs-r9a09g087` 뒤에 RZ/T2H compatible을 fallback으로 둡니다.
properties:
compatible:
oneOf:
- items:
- const: renesas,usbhs-r7s72100 # RZ/A1
- const: renesas,rza1-usbhs
- items:
- enum:
- renesas,usbhs-r7s9210 # RZ/A2
- const: renesas,rza2-usbhs
- items:
- enum:
- renesas,usbhs-r9a07g043 # RZ/G2UL and RZ/Five
- renesas,usbhs-r9a07g044 # RZ/G2{L,LC}
- renesas,usbhs-r9a07g054 # RZ/V2L
- renesas,usbhs-r9a08g045 # RZ/G3S
- renesas,usbhs-r9a09g056 # RZ/V2N
- renesas,usbhs-r9a09g057 # RZ/V2H(P)
- const: renesas,rzg2l-usbhs
- items:
- enum:
- renesas,usbhs-r8a7742 # RZ/G1H
- renesas,usbhs-r8a7743 # RZ/G1M
- renesas,usbhs-r8a7744 # RZ/G1N
- renesas,usbhs-r8a7745 # RZ/G1E
- renesas,usbhs-r8a77470 # RZ/G1C
- renesas,usbhs-r8a7790 # R-Car H2
- renesas,usbhs-r8a7791 # R-Car M2-W
- renesas,usbhs-r8a7792 # R-Car V2H
- renesas,usbhs-r8a7793 # R-Car M2-N
- renesas,usbhs-r8a7794 # R-Car E2
- const: renesas,rcar-gen2-usbhs
- items:
- enum:
- renesas,usbhs-r8a774a1 # RZ/G2M
- renesas,usbhs-r8a774b1 # RZ/G2N
- renesas,usbhs-r8a774c0 # RZ/G2E
- renesas,usbhs-r8a774e1 # RZ/G2H
- renesas,usbhs-r8a7795 # R-Car H3
- renesas,usbhs-r8a7796 # R-Car M3-W
- renesas,usbhs-r8a77961 # R-Car M3-W+
- renesas,usbhs-r8a77965 # R-Car M3-N
- renesas,usbhs-r8a77990 # R-Car E3
- renesas,usbhs-r8a77995 # R-Car D3
- const: renesas,rcar-gen3-usbhs
- const: renesas,usbhs-r9a09g077 # RZ/T2H
- items:
- const: renesas,usbhs-r9a09g087 # RZ/N2H
- const: renesas,usbhs-r9a09g077 # RZ/T2H
clock, interrupt, DMA와 reset
68-126register 영역은 하나입니다. clock은 USB 2.0 host, peripheral, clock selector 순서로 최대 세 개이며 최소 하나가 필요합니다. interrupt는 1~4개입니다. `renesas,buswait`는 BUSWAIT register에 쓸 정수입니다.
deprecated `renesas,enable-gpio` 대신 `renesas,enable-gpios`를 사용하며, 이 GPIO는 USB function 활성화 여부를 확인합니다. PHY는 하나이고 이름은 `usb`입니다. DMA는 2~4개이며 이름은 `ch0`부터 `ch3` 순서입니다. `dr_mode`, power domain 하나, host와 peripheral 순서의 reset 1~2개를 지원합니다.
reg:
maxItems: 1
clocks:
minItems: 1
items:
- description: USB 2.0 host
- description: USB 2.0 peripheral
- description: USB 2.0 clock selector
interrupts:
minItems: 1
maxItems: 4
renesas,buswait:
$ref: /schemas/types.yaml#/definitions/uint32
description: |
Integer to use BUSWAIT register.
renesas,enable-gpio:
deprecated: true
maxItems: 1
renesas,enable-gpios:
maxItems: 1
description: |
gpio specifier to check GPIO determining if USB function should be
enabled.
phys:
maxItems: 1
phy-names:
items:
- const: usb
dmas:
minItems: 2
maxItems: 4
dma-names:
minItems: 2
items:
- const: ch0
- const: ch1
- const: ch2
- const: ch3
dr_mode: true
power-domains:
maxItems: 1
resets:
minItems: 1
items:
- description: USB 2.0 host
- description: USB 2.0 peripheral
필수 속성과 SoC별 interrupt 조건
127-171공통 필수 속성은 `compatible`, `reg`, `clocks`, `interrupts`입니다. `renesas,rzg2l-usbhs` 계열은 `U2P_IXL_INT`, DMA0, DMA1, DMAERR interrupt 네 개를 순서대로 사용하고 `resets`가 필수입니다.
`renesas,usbhs-r9a09g077` 계열은 reset을 허용하지 않고 clock은 하나만 사용합니다. interrupt는 USB_FI, USB_FDMA0, USB_FDMA1 순서로 세 개입니다. 나머지 계열은 interrupt를 최대 하나만 사용하며, 정의되지 않은 추가 속성은 허용하지 않습니다.
required:
- compatible
- reg
- clocks
- interrupts
allOf:
- if:
properties:
compatible:
contains:
const: renesas,rzg2l-usbhs
then:
properties:
interrupts:
items:
- description: U2P_IXL_INT
- description: U2P_INT_DMA[0]
- description: U2P_INT_DMA[1]
- description: U2P_INT_DMAERR
required:
- resets
else:
if:
properties:
compatible:
contains:
const: renesas,usbhs-r9a09g077
then:
properties:
resets: false
clocks:
maxItems: 1
interrupts:
items:
- description: USB function interrupt USB_FI
- description: USB function DMA0 transmit completion interrupt USB_FDMA0
- description: USB function DMA1 transmit completion interrupt USB_FDMA1
else:
properties:
interrupts:
maxItems: 1
additionalProperties: false
R-Car H2 USBHS 예제
172-183예제 `usbhs: usb@e6590000`은 R-Car H2 compatible과 Gen2 fallback, 0x100-byte register 영역, level-high GIC SPI 107, CPG module clock 704를 사용합니다.
examples:
- |
#include <dt-bindings/clock/r8a7790-cpg-mssr.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/power/r8a7790-sysc.h>
usbhs: usb@e6590000 {
compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs";
reg = <0xe6590000 0x100>;
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 704>;
};
요약과 해설
renesas,usbhs.yaml:1-183Renesas USBHS의 SoC별 compatible, clock·interrupt·DMA 조건을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, interrupt, clock, DMA, PDO, graph endpoint, source path와 원문 줄 좌표를 원형대로 보존합니다.