← Documents Documentation/devicetree/bindings/spmi/mtk,spmi-mtk-pmif.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / SPMI

MediaTek SPMI PMIF

MediaTek PMIF·SPMI master register와 세 clock 구성을 설명합니다.

Source pathDocumentation/devicetree/bindings/spmi/mtk,spmi-mtk-pmif.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

mtk,spmi-mtk-pmif.yaml:1-82

MediaTek PMIF·SPMI master register와 세 clock 구성을 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·symbol·source path·수치·예제 코드를 원형대로 유지합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/spmi/mtk,spmi-mtk-pmif.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Mediatek SPMI Controller
8
9 maintainers:
10 - Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>
11
12 description: |+
13 On MediaTek SoCs the PMIC is connected via SPMI and the controller allows
14 for multiple SoCs to control a single SPMI master.
15
16 allOf:
17 - $ref: spmi.yaml
18
19 properties:
20 compatible:
21 oneOf:
22 - enum:
23 - mediatek,mt6873-spmi
24 - mediatek,mt8195-spmi
25 - items:
26 - enum:
27 - mediatek,mt8186-spmi
28 - mediatek,mt8188-spmi
29 - const: mediatek,mt8195-spmi
30
31 reg:
32 maxItems: 2
33
34 reg-names:
35 items:
36 - const: pmif
37 - const: spmimst
38
39 clocks:
40 minItems: 3
41 maxItems: 3
42
43 clock-names:
44 items:
45 - const: pmif_sys_ck
46 - const: pmif_tmr_ck
47 - const: spmimst_clk_mux
48
49 assigned-clocks:
50 maxItems: 1
51
52 assigned-clock-parents:
53 maxItems: 1
54
55 required:
56 - compatible
57 - reg
58 - reg-names
59 - clocks
60 - clock-names
61
62 unevaluatedProperties: false
63
64 examples:
65 - |
66 #include <dt-bindings/clock/mt8192-clk.h>
67
68 spmi: spmi@10027000 {
69 compatible = "mediatek,mt6873-spmi";
70 reg = <0x10027000 0xe00>,
71 <0x10029000 0x100>;
72 reg-names = "pmif", "spmimst";
73 clocks = <&infracfg CLK_INFRA_PMIC_AP>,
74 <&infracfg CLK_INFRA_PMIC_TMR>,
75 <&topckgen CLK_TOP_SPMI_MST_SEL>;
76 clock-names = "pmif_sys_ck",
77 "pmif_tmr_ck",
78 "spmimst_clk_mux";
79 assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>;
80 assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
81 };
82 ...
83

3. 한국어 전문 번역

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

MediaTek SPMI PMIF controller

1-18

이 GPL-2.0 또는 BSD-2-Clause YAML schema는 MediaTek SPMI controller를 정의합니다. MediaTek SoC에서 PMIC는 SPMI로 연결되고 controller는 여러 SoC가 단일 SPMI master를 제어할 수 있게 합니다. Maintainer는 Hsin-Hsiung Wang이며 공통 `spmi.yaml`을 상속합니다.

MT6873·MT8195와 fallback

19-30

독립 compatible은 `mediatek,mt6873-spmi`, `mediatek,mt8195-spmi`입니다. `mediatek,mt8186-spmi`와 `mediatek,mt8188-spmi`는 각각 첫 compatible로 사용하고 `mediatek,mt8195-spmi`를 fallback으로 함께 지정합니다.

PMIF와 SPMI master register

31-38

`reg`는 최대 두 항목이며 `reg-names`는 PMIC interface용 `pmif`, SPMI master용 `spmimst` 순서입니다.

세 clock과 assigned parent

39-54

`clocks`는 정확히 세 항목이고 `clock-names`는 PMIF system clock `pmif_sys_ck`, PMIF timer clock `pmif_tmr_ck`, SPMI master clock mux `spmimst_clk_mux` 순서입니다.

`assigned-clocks`와 `assigned-clock-parents`는 각각 최대 한 항목입니다.

필수 속성과 추가 속성 제한

55-63

필수 속성은 `compatible`, `reg`, `reg-names`, `clocks`, `clock-names`입니다. `unevaluatedProperties: false`로 평가되지 않은 추가 속성을 금지합니다.

MT6873 PMIF·SPMI master 예제

64-82

예제의 `spmi@10027000`은 `mediatek,mt6873-spmi`, PMIF 영역 0x10027000과 SPMI master 영역 0x10029000을 사용합니다. 세 infrastructure·top clock을 연결하고 `CLK_TOP_PWRAP_ULPOSC_SEL`의 parent를 `CLK_TOP_OSC_D10`으로 지정합니다.

    #include <dt-bindings/clock/mt8192-clk.h>

    spmi: spmi@10027000 {
        compatible = "mediatek,mt6873-spmi";
        reg = <0x10027000 0xe00>,
              <0x10029000 0x100>;
        reg-names = "pmif", "spmimst";
        clocks = <&infracfg CLK_INFRA_PMIC_AP>,
                 <&infracfg CLK_INFRA_PMIC_TMR>,
                 <&topckgen CLK_TOP_SPMI_MST_SEL>;
        clock-names = "pmif_sys_ck",
                      "pmif_tmr_ck",
                      "spmimst_clk_mux";
        assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>;
        assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
    };
...