← Documents Documentation/devicetree/bindings/timer/mediatek,timer.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Timer

MediaTek SoC Timers

MediaTek CPUX·GPT·SYST timer 계보와 clock 구성을 설명합니다.

Source pathDocumentation/devicetree/bindings/timer/mediatek,timer.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

mediatek,timer.yaml:1-87

MediaTek CPUX·GPT·SYST timer 계보와 clock 구성을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, interrupt, clock, register, phandle, 수치와 줄 좌표를 원형대로 보존합니다.

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/timer/mediatek,timer.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: MediaTek SoC timers
8
9 maintainers:
10 - Matthias Brugger <[email protected]>
11
12 description:
13 MediaTek SoCs have different timers on different platforms,
14 CPUX (ARM/ARM64 System Timer), GPT (General Purpose Timer)
15 and SYST (System Timer).
16
17 properties:
18 compatible:
19 oneOf:
20 - items:
21 - enum:
22 - mediatek,mt6577-timer
23 - mediatek,mt6765-timer
24 - mediatek,mt6795-systimer
25 # GPT Timers
26 - items:
27 - enum:
28 - mediatek,mt2701-timer
29 - mediatek,mt6572-timer
30 - mediatek,mt6580-timer
31 - mediatek,mt6582-timer
32 - mediatek,mt6589-timer
33 - mediatek,mt6795-timer
34 - mediatek,mt7623-timer
35 - mediatek,mt8127-timer
36 - mediatek,mt8135-timer
37 - mediatek,mt8173-timer
38 - mediatek,mt8516-timer
39 - const: mediatek,mt6577-timer
40 # SYST Timers
41 - items:
42 - enum:
43 - mediatek,mt7629-timer
44 - mediatek,mt8183-timer
45 - mediatek,mt8186-timer
46 - mediatek,mt8188-timer
47 - mediatek,mt8192-timer
48 - mediatek,mt8195-timer
49 - mediatek,mt8196-timer
50 - mediatek,mt8365-systimer
51 - const: mediatek,mt6765-timer
52
53 reg:
54 maxItems: 1
55
56 interrupts:
57 maxItems: 1
58
59 clocks:
60 minItems: 1
61 items:
62 - description: Timer clock
63 - description: RTC or bus clock
64
65 clock-names:
66 minItems: 1
67 maxItems: 2
68
69 required:
70 - compatible
71 - reg
72 - interrupts
73 - clocks
74
75 additionalProperties: false
76
77 examples:
78 - |
79 #include <dt-bindings/interrupt-controller/irq.h>
80 #include <dt-bindings/interrupt-controller/arm-gic.h>
81
82 timer@10008000 {
83 compatible = "mediatek,mt6577-timer";
84 reg = <0x10008000 0x80>;
85 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
86 clocks = <&system_clk>;
87 };
88

3. 한국어 전문 번역

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

MediaTek SoC timer 종류

1-16

GPL-2.0 또는 BSD-2-Clause 라이선스의 이 스키마는 platform에 따라 CPUX(ARM/ARM64 System Timer), GPT(General Purpose Timer), SYST(System Timer)를 사용하는 MediaTek SoC timer를 정의합니다. Maintainer는 Matthias Brugger입니다.

Direct·GPT·SYST compatible 계보

17-52

MT6577, MT6765, MT6795 SYSTIMER compatible은 단독 사용할 수 있습니다. GPT 계열 MT2701·MT6572·MT6580·MT6582·MT6589·MT6795·MT7623·MT8127·MT8135·MT8173·MT8516은 각 SoC compatible 뒤에 `mediatek,mt6577-timer` fallback을 둡니다. SYST 계열 MT7629·MT8183·MT8186·MT8188·MT8192·MT8195·MT8196·MT8365는 각 SoC compatible 뒤에 `mediatek,mt6765-timer` fallback을 둡니다.

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - mediatek,mt6577-timer
              - mediatek,mt6765-timer
              - mediatek,mt6795-systimer
      # GPT Timers
      - items:
          - enum:
              - mediatek,mt2701-timer
              - mediatek,mt6572-timer
              - mediatek,mt6580-timer
              - mediatek,mt6582-timer
              - mediatek,mt6589-timer
              - mediatek,mt6795-timer
              - mediatek,mt7623-timer
              - mediatek,mt8127-timer
              - mediatek,mt8135-timer
              - mediatek,mt8173-timer
              - mediatek,mt8516-timer
          - const: mediatek,mt6577-timer
      # SYST Timers
      - items:
          - enum:
              - mediatek,mt7629-timer
              - mediatek,mt8183-timer
              - mediatek,mt8186-timer
              - mediatek,mt8188-timer
              - mediatek,mt8192-timer
              - mediatek,mt8195-timer
              - mediatek,mt8196-timer
              - mediatek,mt8365-systimer
          - const: mediatek,mt6765-timer

Timer clock과 선택 RTC·bus clock

53-76

`reg`와 `interrupts`는 각각 최대 한 항목입니다. `clocks`는 최소 timer clock 하나를 담고 선택적으로 RTC 또는 bus clock을 둘째 항목에 둡니다. `clock-names`는 지정할 경우 1~2개입니다. `compatible`, `reg`, `interrupts`, `clocks`가 필수이고 추가 속성은 허용되지 않습니다.

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    minItems: 1
    items:
      - description: Timer clock
      - description: RTC or bus clock

  clock-names:
    minItems: 1
    maxItems: 2

required:
  - compatible
  - reg
  - interrupts
  - clocks

additionalProperties: false

MT6577 GPT 예제

77-87

예제는 `timer@10008000`에 MT6577 compatible, 0x80-byte register 영역, GIC SPI 113 level-low interrupt, `system_clk`을 지정합니다.

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    timer@10008000 {
      compatible = "mediatek,mt6577-timer";
      reg = <0x10008000 0x80>;
      interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
      clocks = <&system_clk>;
    };