요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/ufs/sprd,ums9620-ufs.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Unisoc Universal Flash Storage (UFS) Controller
maintainers:
- Zhe Wang <zhe.wang1@unisoc.com>
allOf:
- $ref: ufs-common.yaml
properties:
compatible:
const: sprd,ums9620-ufs
reg:
maxItems: 1
clocks:
maxItems: 3
clock-names:
items:
- const: controller_eb
- const: cfg_eb
- const: core
resets:
maxItems: 2
reset-names:
items:
- const: controller
- const: device
vdd-mphy-supply:
description:
Phandle to vdd-mphy supply regulator node.
sprd,ufs-anlg-syscon:
$ref: /schemas/types.yaml#/definitions/phandle
description: phandle of syscon used to control ufs analog regs.
sprd,aon-apb-syscon:
$ref: /schemas/types.yaml#/definitions/phandle
description: phandle of syscon used to control always-on regs.
required:
- compatible
- reg
- clocks
- clock-names
- resets
- reset-names
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
ufs: ufs@22000000 {
compatible = "sprd,ums9620-ufs";
reg = <0x22000000 0x3000>;
interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
vcc-supply = <&vddemmccore>;
vdd-mphy-supply = <&vddufs1v2>;
clocks = <&apahb_gate 5>, <&apahb_gate 22>, <&aonapb_clk 52>;
clock-names = "controller_eb", "cfg_eb", "core";
assigned-clocks = <&aonapb_clk 52>;
assigned-clock-parents = <&g5l_pll 12>;
resets = <&apahb_gate 4>, <&aonapb_gate 69>;
reset-names = "controller", "device";
sprd,ufs-anlg-syscon = <&anlg_phy_g12_regs>;
sprd,aon-apb-syscon = <&aon_apb_regs>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Unisoc UMS9620 UFS controller
1-14GPL-2.0-only 또는 BSD-2-Clause 이중 라이선스의 이 스키마는 Unisoc Universal Flash Storage(UFS) controller를 정의합니다. 관리자는 Zhe Wang이며 공통 속성은 `ufs-common.yaml`을 참조합니다.
Clock, reset, MPHY 전원 및 syscon
15-50`compatible`은 `sprd,ums9620-ufs`이고 `reg`는 최대 한 항목입니다. Clock은 최대 3개이며 이름은 `controller_eb`, `cfg_eb`, `core`입니다. Reset은 최대 2개이고 이름은 `controller`, `device`입니다.
`vdd-mphy-supply`는 MPHY 전원 regulator node의 phandle입니다. `sprd,ufs-anlg-syscon`은 UFS analog register를 제어하는 syscon phandle이고, `sprd,aon-apb-syscon`은 always-on register를 제어하는 syscon phandle입니다.
properties:
compatible:
const: sprd,ums9620-ufs
reg:
maxItems: 1
clocks:
maxItems: 3
clock-names:
items:
- const: controller_eb
- const: cfg_eb
- const: core
resets:
maxItems: 2
reset-names:
items:
- const: controller
- const: device
vdd-mphy-supply:
description:
Phandle to vdd-mphy supply regulator node.
sprd,ufs-anlg-syscon:
$ref: /schemas/types.yaml#/definitions/phandle
description: phandle of syscon used to control ufs analog regs.
sprd,aon-apb-syscon:
$ref: /schemas/types.yaml#/definitions/phandle
description: phandle of syscon used to control always-on regs.
필수 속성과 추가 속성 제한
51-60필수 속성은 `compatible`, `reg`, `clocks`, `clock-names`, `resets`, `reset-names`입니다. 평가되지 않은 추가 속성은 허용하지 않습니다.
required:
- compatible
- reg
- clocks
- clock-names
- resets
- reset-names
unevaluatedProperties: false
UMS9620 UFS node 예제
61-79예제 `ufs@22000000`은 `sprd,ums9620-ufs`, 0x3000-byte register 영역, level-high GIC SPI interrupt 159를 사용합니다. VCC는 `vddemmccore`, MPHY 전원은 `vddufs1v2`가 공급합니다.
세 clock과 이름을 스키마 순서대로 연결하고 core clock의 parent를 `g5l_pll` index 12로 지정합니다. Controller와 device reset 두 개, analog syscon `anlg_phy_g12_regs`, always-on APB syscon `aon_apb_regs`를 연결합니다.
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
ufs: ufs@22000000 {
compatible = "sprd,ums9620-ufs";
reg = <0x22000000 0x3000>;
interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
vcc-supply = <&vddemmccore>;
vdd-mphy-supply = <&vddufs1v2>;
clocks = <&apahb_gate 5>, <&apahb_gate 22>, <&aonapb_clk 52>;
clock-names = "controller_eb", "cfg_eb", "core";
assigned-clocks = <&aonapb_clk 52>;
assigned-clock-parents = <&g5l_pll 12>;
resets = <&apahb_gate 4>, <&aonapb_gate 69>;
reset-names = "controller", "device";
sprd,ufs-anlg-syscon = <&anlg_phy_g12_regs>;
sprd,aon-apb-syscon = <&aon_apb_regs>;
};
요약과 해설
sprd,ums9620-ufs.yaml:1-79UMS9620 UFS controller의 clock, reset, MPHY regulator와 analog·always-on syscon을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, clock, register, phandle, voltage, interrupt, source path 및 원문 줄 좌표를 원형대로 보존합니다.