← Documents Documentation/devicetree/bindings/timer/st,nomadik-mtu.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Timer

ST Nomadik Multi-Timer Unit

Nomadik MTU의 timer·APB clock과 interrupt 구성을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

st,nomadik-mtu.yaml:1-58

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

2. 영어 원문 전체

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

원문 전체 펼치기
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 # Copyright 2022 Linaro Ltd.
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/timer/st,nomadik-mtu.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: ST Microelectronics Nomadik Multi-Timer Unit MTU Timer
9
10 maintainers:
11 - Linus Walleij <linus.walleij@linaro.org>
12
13 description: This timer is found in the ST Microelectronics Nomadik
14 SoCs STn8800, STn8810 and STn8815 as well as in ST-Ericsson DB8500.
15
16 properties:
17 compatible:
18 items:
19 - const: st,nomadik-mtu
20
21 reg:
22 maxItems: 1
23
24 interrupts:
25 maxItems: 1
26
27 clocks:
28 description: The first clock named TIMCLK clocks the actual timers and
29 the second clock clocks the digital interface to the interconnect.
30 maxItems: 2
31
32 clock-names:
33 items:
34 - const: timclk
35 - const: apb_pclk
36
37 required:
38 - compatible
39 - reg
40 - interrupts
41 - clocks
42 - clock-names
43
44 additionalProperties: false
45
46 examples:
47 - |
48 #include <dt-bindings/interrupt-controller/irq.h>
49 #include <dt-bindings/interrupt-controller/arm-gic.h>
50 #include <dt-bindings/mfd/dbx500-prcmu.h>
51 timer@a03c6000 {
52 compatible = "st,nomadik-mtu";
53 reg = <0xa03c6000 0x1000>;
54 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
55
56 clocks = <&prcmu_clk PRCMU_TIMCLK>, <&prcc_pclk 6 6>;
57 clock-names = "timclk", "apb_pclk";
58 };
59

3. 한국어 전문 번역

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

Nomadik Multi-Timer Unit

1-15

GPL-2.0 또는 BSD-2-Clause 라이선스의 이 스키마는 STMicroelectronics Nomadik Multi-Timer Unit(MTU)을 정의합니다. 이 timer는 Nomadik STn8800·STn8810·STn8815 SoC와 ST-Ericsson DB8500에 존재합니다. 저작권은 2022 Linaro Ltd.에 있고 Maintainer는 Linus Walleij입니다.

TIMCLK와 APB interface clock

16-44

`compatible`은 `st,nomadik-mtu`입니다. `reg`와 `interrupts`는 각각 최대 한 항목입니다. `clocks`는 최대 두 항목으로, 첫 clock `TIMCLK`가 실제 timer를 구동하고 둘째 clock이 interconnect에 연결되는 digital interface를 구동합니다. `clock-names`의 순서는 `timclk`, `apb_pclk`입니다. `compatible`, `reg`, `interrupts`, `clocks`, `clock-names`가 모두 필수이며 추가 속성은 허용하지 않습니다.

properties:
  compatible:
    items:
      - const: st,nomadik-mtu

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    description: The first clock named TIMCLK clocks the actual timers and
      the second clock clocks the digital interface to the interconnect.
    maxItems: 2

  clock-names:
    items:
      - const: timclk
      - const: apb_pclk

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names

additionalProperties: false

DB8500 MTU 예제

45-58

예제 `timer@a03c6000`은 0x1000-byte register 영역과 GIC SPI 4 level-high interrupt를 사용합니다. PRCMU의 `PRCMU_TIMCLK`를 `timclk`으로, PRCC peripheral clock을 `apb_pclk`으로 연결합니다.

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/mfd/dbx500-prcmu.h>
    timer@a03c6000 {
      compatible = "st,nomadik-mtu";
      reg = <0xa03c6000 0x1000>;
      interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;

      clocks = <&prcmu_clk PRCMU_TIMCLK>, <&prcc_pclk 6 6>;
      clock-names = "timclk", "apb_pclk";
    };