요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/marvell,armada-370-timer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Marvell Armada 370, 375, 380 and XP Timers
maintainers:
- Andrew Lunn <andrew@lunn.ch>
- Gregory Clement <gregory.clement@bootlin.com>
properties:
compatible:
oneOf:
- items:
- const: marvell,armada-380-timer
- const: marvell,armada-xp-timer
- items:
- const: marvell,armada-375-timer
- const: marvell,armada-370-timer
- enum:
- marvell,armada-370-timer
- marvell,armada-xp-timer
reg:
items:
- description: Global timer registers
- description: Local/private timer registers
interrupts:
items:
- description: Global timer interrupt 0
- description: Global timer interrupt 1
- description: Global timer interrupt 2
- description: Global timer interrupt 3
- description: First private timer interrupt
- description: Second private timer interrupt
clocks:
minItems: 1
maxItems: 2
clock-names:
items:
- const: nbclk
- const: fixed
required:
- compatible
- reg
- interrupts
- clocks
additionalProperties: false
allOf:
- if:
properties:
compatible:
contains:
enum:
- marvell,armada-375-timer
- marvell,armada-xp-timer
then:
properties:
clocks:
minItems: 2
clock-names:
minItems: 2
required:
- clock-names
else:
properties:
clocks:
maxItems: 1
clock-names:
maxItems: 1
examples:
- |
timer@20300 {
compatible = "marvell,armada-xp-timer";
reg = <0x20300 0x30>, <0x21040 0x30>;
interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
clocks = <&coreclk 2>, <&refclk>;
clock-names = "nbclk", "fixed";
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Marvell Armada timer
1-12GPL-2.0-only 또는 BSD-2-Clause 라이선스의 이 스키마는 Marvell Armada 370, 375, 380, XP timer를 정의합니다. Maintainer는 Andrew Lunn과 Gregory Clement입니다.
Global·private timer와 여섯 IRQ
13-56Armada 380은 `marvell,armada-xp-timer` fallback을, Armada 375는 `marvell,armada-370-timer` fallback을 둡니다. Armada 370과 XP compatible은 단독 사용도 가능합니다. `reg`는 global timer와 local/private timer register 영역 두 개입니다. `interrupts`는 global timer interrupt 0~3과 첫째·둘째 private timer interrupt까지 여섯 개를 순서대로 담습니다. `clocks`는 1~2개이고 이름은 `nbclk`, `fixed` 순서입니다. `compatible`, `reg`, `interrupts`, `clocks`가 필수이며 추가 속성은 허용되지 않습니다.
properties:
compatible:
oneOf:
- items:
- const: marvell,armada-380-timer
- const: marvell,armada-xp-timer
- items:
- const: marvell,armada-375-timer
- const: marvell,armada-370-timer
- enum:
- marvell,armada-370-timer
- marvell,armada-xp-timer
reg:
items:
- description: Global timer registers
- description: Local/private timer registers
interrupts:
items:
- description: Global timer interrupt 0
- description: Global timer interrupt 1
- description: Global timer interrupt 2
- description: Global timer interrupt 3
- description: First private timer interrupt
- description: Second private timer interrupt
clocks:
minItems: 1
maxItems: 2
clock-names:
items:
- const: nbclk
- const: fixed
required:
- compatible
- reg
- interrupts
- clocks
additionalProperties: false
Armada 375·XP의 fixed clock
57-79`compatible`에 Armada 375 또는 Armada XP timer가 포함되면 `clocks`와 `clock-names`가 각각 최소 두 항목이어야 하므로 `nbclk`과 `fixed`를 모두 제공해야 합니다. 다른 compatible에서는 clock과 이름이 각각 최대 하나이므로 `nbclk`만 사용합니다.
allOf:
- if:
properties:
compatible:
contains:
enum:
- marvell,armada-375-timer
- marvell,armada-xp-timer
then:
properties:
clocks:
minItems: 2
clock-names:
minItems: 2
required:
- clock-names
else:
properties:
clocks:
maxItems: 1
clock-names:
maxItems: 1
Armada XP timer 예제
80-88예제는 `timer@20300`에 0x30-byte global 영역과 0x30-byte private 영역을 지정합니다. Global interrupt 37·38·39·40과 private interrupt 5·6을 연결하고 `coreclk` index 2와 `refclk`을 각각 `nbclk`, `fixed`로 사용합니다.
examples:
- |
timer@20300 {
compatible = "marvell,armada-xp-timer";
reg = <0x20300 0x30>, <0x21040 0x30>;
interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
clocks = <&coreclk 2>, <&refclk>;
clock-names = "nbclk", "fixed";
};
요약과 해설
marvell,armada-370-timer.yaml:1-88Armada timer의 global·private 영역과 SoC별 clock 조건을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, interrupt, clock, register, phandle, 수치와 줄 좌표를 원형대로 보존합니다.