요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2022 Linaro Ltd.
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/st,nomadik-mtu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: ST Microelectronics Nomadik Multi-Timer Unit MTU Timer
maintainers:
- Linus Walleij <[email protected]>
description: This timer is found in the ST Microelectronics Nomadik
SoCs STn8800, STn8810 and STn8815 as well as in ST-Ericsson DB8500.
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
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";
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
Nomadik Multi-Timer Unit
1-15GPL-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";
};
요약과 해설
st,nomadik-mtu.yaml:1-58Nomadik MTU의 timer·APB clock과 interrupt 구성을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, interrupt, clock, register, phandle, 수치와 줄 좌표를 원형대로 보존합니다.