요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/rockchip,dwc3.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Rockchip SuperSpeed DWC3 USB SoC controller
maintainers:
- Heiko Stuebner <heiko@sntech.de>
description:
The common content of the node is defined in snps,dwc3.yaml.
Phy documentation is provided in the following places.
USB2.0 PHY
Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml
Type-C PHY
Documentation/devicetree/bindings/phy/rockchip,rk3399-typec-phy.yaml
select:
properties:
compatible:
contains:
enum:
- rockchip,rk3328-dwc3
- rockchip,rk3562-dwc3
- rockchip,rk3568-dwc3
- rockchip,rk3576-dwc3
- rockchip,rk3588-dwc3
required:
- compatible
properties:
compatible:
items:
- enum:
- rockchip,rk3328-dwc3
- rockchip,rk3562-dwc3
- rockchip,rk3568-dwc3
- rockchip,rk3576-dwc3
- rockchip,rk3588-dwc3
- const: snps,dwc3
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
minItems: 3
items:
- description:
Controller reference clock, must to be 24 MHz
- description:
Controller suspend clock, must to be 24 MHz or 32 KHz
- description:
Master/Core clock, must to be >= 62.5 MHz for SS
operation and >= 30MHz for HS operation
- description:
Controller grf clock OR UTMI clock
- description:
PIPE clock
clock-names:
minItems: 3
items:
- const: ref_clk
- const: suspend_clk
- const: bus_clk
- enum:
- grf_clk
- utmi
- pipe
- const: pipe
power-domains:
maxItems: 1
resets:
maxItems: 1
reset-names:
const: usb3-otg
unevaluatedProperties: false
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
allOf:
- $ref: snps,dwc3.yaml#
- if:
properties:
compatible:
contains:
const: rockchip,rk3328-dwc3
then:
properties:
clocks:
minItems: 3
maxItems: 4
clock-names:
minItems: 3
items:
- const: ref_clk
- const: suspend_clk
- const: bus_clk
- const: grf_clk
- if:
properties:
compatible:
contains:
const: rockchip,rk3562-dwc3
then:
properties:
clocks:
minItems: 4
maxItems: 4
clock-names:
items:
- const: ref_clk
- const: suspend_clk
- const: bus_clk
- const: pipe
- if:
properties:
compatible:
contains:
enum:
- rockchip,rk3568-dwc3
- rockchip,rk3576-dwc3
then:
properties:
clocks:
maxItems: 3
clock-names:
maxItems: 3
- if:
properties:
compatible:
contains:
const: rockchip,rk3588-dwc3
then:
properties:
clock-names:
minItems: 3
items:
- const: ref_clk
- const: suspend_clk
- const: bus_clk
- const: utmi
- const: pipe
examples:
- |
#include <dt-bindings/clock/rk3328-cru.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
bus {
#address-cells = <2>;
#size-cells = <2>;
usbdrd3_0: usb@fe800000 {
compatible = "rockchip,rk3328-dwc3", "snps,dwc3";
reg = <0x0 0xfe800000 0x0 0x100000>;
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>,
<&cru ACLK_USB3OTG>;
clock-names = "ref_clk", "suspend_clk",
"bus_clk", "grf_clk";
dr_mode = "otg";
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Rockchip SuperSpeed DWC3 controller
1-22GPL-2.0으로 배포되는 이 스키마는 Rockchip SuperSpeed DWC3 USB SoC controller를 정의하며 공통 node 내용은 `snps,dwc3.yaml`에 있습니다. USB 2.0 PHY는 `Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml`, Type-C PHY는 `Documentation/devicetree/bindings/phy/rockchip,rk3399-typec-phy.yaml`을 참조합니다. 관리자는 Heiko Stuebner입니다.
선택 대상과 핵심 resource
23-52이 스키마는 RK3328, RK3562, RK3568, RK3576, RK3588 DWC3 compatible에 적용됩니다. 각 SoC별 compatible 뒤에 `snps,dwc3`를 둡니다. register와 interrupt는 각각 하나입니다.
select:
properties:
compatible:
contains:
enum:
- rockchip,rk3328-dwc3
- rockchip,rk3562-dwc3
- rockchip,rk3568-dwc3
- rockchip,rk3576-dwc3
- rockchip,rk3588-dwc3
required:
- compatible
properties:
compatible:
items:
- enum:
- rockchip,rk3328-dwc3
- rockchip,rk3562-dwc3
- rockchip,rk3568-dwc3
- rockchip,rk3576-dwc3
- rockchip,rk3588-dwc3
- const: snps,dwc3
reg:
maxItems: 1
interrupts:
maxItems: 1
clock 주파수와 공통 필수 속성
53-97clock은 최소 세 개입니다. `ref_clk`는 24 MHz, `suspend_clk`는 24 MHz 또는 32 KHz, `bus_clk`는 SuperSpeed에서 62.5 MHz 이상이고 HighSpeed에서 30 MHz 이상이어야 합니다. 추가 clock은 GRF 또는 UTMI, PIPE clock이며 이름은 SoC에 따라 `grf_clk`, `utmi`, `pipe`를 사용합니다.
power domain과 `usb3-otg` reset은 각각 하나입니다. 필수 속성은 `compatible`, `reg`, `interrupts`, `clocks`, `clock-names`이며 평가되지 않은 속성은 허용하지 않습니다.
clocks:
minItems: 3
items:
- description:
Controller reference clock, must to be 24 MHz
- description:
Controller suspend clock, must to be 24 MHz or 32 KHz
- description:
Master/Core clock, must to be >= 62.5 MHz for SS
operation and >= 30MHz for HS operation
- description:
Controller grf clock OR UTMI clock
- description:
PIPE clock
clock-names:
minItems: 3
items:
- const: ref_clk
- const: suspend_clk
- const: bus_clk
- enum:
- grf_clk
- utmi
- pipe
- const: pipe
power-domains:
maxItems: 1
resets:
maxItems: 1
reset-names:
const: usb3-otg
unevaluatedProperties: false
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
RK3328·RK3562 clock 조건
98-132공통 `snps,dwc3.yaml`을 상속합니다. RK3328은 3~4개 clock을 허용하며 네 번째 이름은 `grf_clk`입니다. RK3562는 정확히 네 개를 사용하고 이름은 `ref_clk`, `suspend_clk`, `bus_clk`, `pipe` 순서입니다.
allOf:
- $ref: snps,dwc3.yaml#
- if:
properties:
compatible:
contains:
const: rockchip,rk3328-dwc3
then:
properties:
clocks:
minItems: 3
maxItems: 4
clock-names:
minItems: 3
items:
- const: ref_clk
- const: suspend_clk
- const: bus_clk
- const: grf_clk
- if:
properties:
compatible:
contains:
const: rockchip,rk3562-dwc3
then:
properties:
clocks:
minItems: 4
maxItems: 4
clock-names:
items:
- const: ref_clk
- const: suspend_clk
- const: bus_clk
- const: pipe
RK3568·RK3576·RK3588 clock 조건
133-161RK3568과 RK3576은 clock과 이름을 최대 세 개만 사용합니다. RK3588은 최소 세 개이며 `ref_clk`, `suspend_clk`, `bus_clk` 뒤에 선택적으로 `utmi`, `pipe`가 이어집니다.
- if:
properties:
compatible:
contains:
enum:
- rockchip,rk3568-dwc3
- rockchip,rk3576-dwc3
then:
properties:
clocks:
maxItems: 3
clock-names:
maxItems: 3
- if:
properties:
compatible:
contains:
const: rockchip,rk3588-dwc3
then:
properties:
clock-names:
minItems: 3
items:
- const: ref_clk
- const: suspend_clk
- const: bus_clk
- const: utmi
- const: pipe
RK3328 OTG 예제
162-181예제 `usbdrd3_0: usb@fe800000`은 RK3328 compatible과 Synopsys fallback, 0x100000-byte register 영역, level-high GIC SPI 105를 사용합니다. reference·suspend·bus clock을 연결하고 이름 배열에는 `grf_clk`도 두며 `dr_mode`는 `otg`입니다.
examples:
- |
#include <dt-bindings/clock/rk3328-cru.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
bus {
#address-cells = <2>;
#size-cells = <2>;
usbdrd3_0: usb@fe800000 {
compatible = "rockchip,rk3328-dwc3", "snps,dwc3";
reg = <0x0 0xfe800000 0x0 0x100000>;
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>,
<&cru ACLK_USB3OTG>;
clock-names = "ref_clk", "suspend_clk",
"bus_clk", "grf_clk";
dr_mode = "otg";
};
};
요약과 해설
rockchip,dwc3.yaml:1-181Rockchip DWC3의 SoC별 clock 배열과 Synopsys 공통 속성을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, interrupt, clock, reset, PHY, quirk, source path와 원문 줄 좌표를 원형대로 보존합니다.