← Documents Documentation/devicetree/bindings/ufs/sprd,ums9620-ufs.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / UFS

Unisoc UMS9620 UFS Controller

UMS9620 UFS controller의 clock, reset, MPHY regulator와 analog·always-on syscon을 설명합니다.

Source pathDocumentation/devicetree/bindings/ufs/sprd,ums9620-ufs.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

sprd,ums9620-ufs.yaml:1-79

UMS9620 UFS controller의 clock, reset, MPHY regulator와 analog·always-on syscon을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, clock, register, phandle, voltage, interrupt, source path 및 원문 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/ufs/sprd,ums9620-ufs.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Unisoc Universal Flash Storage (UFS) Controller
8
9 maintainers:
10 - Zhe Wang <zhe.wang1@unisoc.com>
11
12 allOf:
13 - $ref: ufs-common.yaml
14
15 properties:
16 compatible:
17 const: sprd,ums9620-ufs
18
19 reg:
20 maxItems: 1
21
22 clocks:
23 maxItems: 3
24
25 clock-names:
26 items:
27 - const: controller_eb
28 - const: cfg_eb
29 - const: core
30
31 resets:
32 maxItems: 2
33
34 reset-names:
35 items:
36 - const: controller
37 - const: device
38
39 vdd-mphy-supply:
40 description:
41 Phandle to vdd-mphy supply regulator node.
42
43 sprd,ufs-anlg-syscon:
44 $ref: /schemas/types.yaml#/definitions/phandle
45 description: phandle of syscon used to control ufs analog regs.
46
47 sprd,aon-apb-syscon:
48 $ref: /schemas/types.yaml#/definitions/phandle
49 description: phandle of syscon used to control always-on regs.
50
51 required:
52 - compatible
53 - reg
54 - clocks
55 - clock-names
56 - resets
57 - reset-names
58
59 unevaluatedProperties: false
60
61 examples:
62 - |
63 #include <dt-bindings/interrupt-controller/arm-gic.h>
64
65 ufs: ufs@22000000 {
66 compatible = "sprd,ums9620-ufs";
67 reg = <0x22000000 0x3000>;
68 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
69 vcc-supply = <&vddemmccore>;
70 vdd-mphy-supply = <&vddufs1v2>;
71 clocks = <&apahb_gate 5>, <&apahb_gate 22>, <&aonapb_clk 52>;
72 clock-names = "controller_eb", "cfg_eb", "core";
73 assigned-clocks = <&aonapb_clk 52>;
74 assigned-clock-parents = <&g5l_pll 12>;
75 resets = <&apahb_gate 4>, <&aonapb_gate 69>;
76 reset-names = "controller", "device";
77 sprd,ufs-anlg-syscon = <&anlg_phy_g12_regs>;
78 sprd,aon-apb-syscon = <&aon_apb_regs>;
79 };
80

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Unisoc UMS9620 UFS controller

1-14

GPL-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>;
    };