요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/ti,am62-usb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI's AM62 wrapper module for the Synopsys USBSS-DRD controller
maintainers:
- Aswath Govindraju <a-govindraju@ti.com>
properties:
compatible:
const: ti,am62-usb
reg:
minItems: 1
items:
- description: USB CFG register space
- description: USB PHY2 register space
ranges: true
power-domains:
description:
PM domain provider node and an args specifier containing
the USB ISO device id value. See,
Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
maxItems: 1
clocks:
description: Clock phandle to usb2_refclk
maxItems: 1
clock-names:
items:
- const: ref
ti,vbus-divider:
description:
Should be present if USB VBUS line is connected to the
VBUS pin of the SoC via a 1/3 voltage divider.
type: boolean
ti,syscon-phy-pll-refclk:
$ref: /schemas/types.yaml#/definitions/phandle-array
items:
- items:
- description: Phandle to the SYSCON entry
- description: USB phy control register offset within SYSCON
description:
Specifier for conveying frequency of ref clock input, for the
operation of USB2PHY.
'#address-cells':
const: 2
'#size-cells':
const: 2
patternProperties:
"^usb@[0-9a-f]+$":
$ref: snps,dwc3.yaml#
description: Required child node
required:
- compatible
- reg
- power-domains
- clocks
- clock-names
- ti,syscon-phy-pll-refclk
additionalProperties: false
examples:
- |
#include <dt-bindings/soc/ti,sci_pm_domain.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/gpio/gpio.h>
bus {
#address-cells = <2>;
#size-cells = <2>;
usbss1: usb@f910000 {
compatible = "ti,am62-usb";
reg = <0x00 0x0f910000 0x00 0x800>,
<0x00 0x0f918000 0x00 0x400>;
clocks = <&k3_clks 162 3>;
clock-names = "ref";
ti,syscon-phy-pll-refclk = <&wkup_conf 0x4018>;
power-domains = <&k3_pds 179 TI_SCI_PD_EXCLUSIVE>;
#address-cells = <2>;
#size-cells = <2>;
usb@31100000 {
compatible = "snps,dwc3";
reg = <0x00 0x31100000 0x00 0x50000>;
interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */
<GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; /* irq.0 */
interrupt-names = "host", "peripheral";
maximum-speed = "high-speed";
dr_mode = "otg";
};
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
TI AM62 Synopsys USBSS-DRD wrapper
1-11GPL-2.0-only 또는 BSD-2-Clause로 배포되는 이 스키마는 Synopsys USBSS-DRD controller를 감싸는 TI AM62 wrapper module을 정의합니다. 관리자는 Aswath Govindraju입니다.
register, power domain과 reference clock
12-38compatible은 `ti,am62-usb`입니다. register는 USB CFG register space를 필수로 가지며 USB PHY2 register space를 두 번째 영역으로 둘 수 있습니다. `ranges`는 child address 변환을 제공합니다.
`power-domains`에는 PM domain provider phandle과 USB ISO device id 인수를 하나 지정하며 상세 형식은 `Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml`을 따릅니다. clock은 `usb2_refclk` 하나이고 이름은 `ref`입니다.
properties:
compatible:
const: ti,am62-usb
reg:
minItems: 1
items:
- description: USB CFG register space
- description: USB PHY2 register space
ranges: true
power-domains:
description:
PM domain provider node and an args specifier containing
the USB ISO device id value. See,
Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
maxItems: 1
clocks:
description: Clock phandle to usb2_refclk
maxItems: 1
clock-names:
items:
- const: ref
VBUS divider와 USB2 PHY reference 설정
39-60`ti,vbus-divider`는 USB VBUS line이 1/3 voltage divider를 거쳐 SoC VBUS pin에 연결될 때 표시하는 boolean입니다.
`ti,syscon-phy-pll-refclk`은 SYSCON phandle과 그 내부 USB PHY control register offset을 전달합니다. USB2PHY 동작에 필요한 reference clock input frequency를 알리는 지정자입니다. address와 size cell 수는 모두 2입니다.
ti,vbus-divider:
description:
Should be present if USB VBUS line is connected to the
VBUS pin of the SoC via a 1/3 voltage divider.
type: boolean
ti,syscon-phy-pll-refclk:
$ref: /schemas/types.yaml#/definitions/phandle-array
items:
- items:
- description: Phandle to the SYSCON entry
- description: USB phy control register offset within SYSCON
description:
Specifier for conveying frequency of ref clock input, for the
operation of USB2PHY.
'#address-cells':
const: 2
'#size-cells':
const: 2
DWC3 child와 필수 속성
61-75`usb@<hex-address>` child는 `snps,dwc3.yaml`을 따르며 필수입니다. wrapper에는 compatible, register, power domain, clock과 이름, `ti,syscon-phy-pll-refclk`이 모두 필요하고 추가 속성은 허용하지 않습니다.
patternProperties:
"^usb@[0-9a-f]+$":
$ref: snps,dwc3.yaml#
description: Required child node
required:
- compatible
- reg
- power-domains
- clocks
- clock-names
- ti,syscon-phy-pll-refclk
additionalProperties: false
AM62 OTG high-speed 예제
76-107예제 `usbss1: usb@f910000`은 USB CFG와 PHY2 register 영역, K3 clock 162/3, `wkup_conf 0x4018` syscon offset, exclusive TI SCI power domain 179를 사용합니다.
내부 `usb@31100000` DWC3 controller는 같은 SPI 226을 host와 peripheral interrupt로 지정하고 `maximum-speed`는 `high-speed`, `dr_mode`는 `otg`로 설정합니다.
examples:
- |
#include <dt-bindings/soc/ti,sci_pm_domain.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/gpio/gpio.h>
bus {
#address-cells = <2>;
#size-cells = <2>;
usbss1: usb@f910000 {
compatible = "ti,am62-usb";
reg = <0x00 0x0f910000 0x00 0x800>,
<0x00 0x0f918000 0x00 0x400>;
clocks = <&k3_clks 162 3>;
clock-names = "ref";
ti,syscon-phy-pll-refclk = <&wkup_conf 0x4018>;
power-domains = <&k3_pds 179 TI_SCI_PD_EXCLUSIVE>;
#address-cells = <2>;
#size-cells = <2>;
usb@31100000 {
compatible = "snps,dwc3";
reg = <0x00 0x31100000 0x00 0x50000>;
interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */
<GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; /* irq.0 */
interrupt-names = "host", "peripheral";
maximum-speed = "high-speed";
dr_mode = "otg";
};
};
};
요약과 해설
ti,am62-usb.yaml:1-107AM62 USB wrapper의 register, power domain, VBUS divider와 PHY 설정을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, reset, power domain, graph endpoint, source path와 원문 줄 좌표를 원형대로 보존합니다.