요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/allwinner,sun4i-a10-timer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Allwinner A10 Timer
maintainers:
- Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <mripard@kernel.org>
properties:
compatible:
oneOf:
- enum:
- allwinner,sun4i-a10-timer
- allwinner,sun8i-a23-timer
- allwinner,sun8i-v3s-timer
- allwinner,suniv-f1c100s-timer
- items:
- enum:
- allwinner,sun20i-d1-timer
- allwinner,sun50i-a64-timer
- allwinner,sun50i-h6-timer
- allwinner,sun50i-h616-timer
- const: allwinner,sun8i-a23-timer
reg:
maxItems: 1
interrupts:
minItems: 2
maxItems: 6
description:
List of timers interrupts
clocks:
maxItems: 1
allOf:
- if:
properties:
compatible:
enum:
- allwinner,sun4i-a10-timer
then:
properties:
interrupts:
minItems: 6
maxItems: 6
- if:
properties:
compatible:
enum:
- allwinner,sun8i-a23-timer
then:
properties:
interrupts:
minItems: 2
maxItems: 2
- if:
properties:
compatible:
enum:
- allwinner,sun8i-v3s-timer
- allwinner,suniv-f1c100s-timer
then:
properties:
interrupts:
minItems: 3
maxItems: 3
required:
- compatible
- reg
- interrupts
- clocks
additionalProperties: false
examples:
- |
timer@1c20c00 {
compatible = "allwinner,sun4i-a10-timer";
reg = <0x01c20c00 0x400>;
interrupts = <22>,
<23>,
<24>,
<25>,
<67>,
<68>;
clocks = <&osc>;
};
...
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Allwinner A10 timer
1-12GPL-2.0 라이선스의 이 YAML 스키마는 Allwinner A10 timer 계열을 정의합니다. Maintainer는 Chen-Yu Tsai와 Maxime Ripard입니다.
Compatible fallback과 공통 자원
13-40A10, A23, V3s, F1C100s는 각각 단일 compatible을 사용합니다. D1, A64, H6, H616은 각 SoC compatible 뒤에 `allwinner,sun8i-a23-timer` fallback을 둡니다. `reg`와 `clocks`는 각각 최대 한 항목이고 timer interrupt 목록은 기본적으로 2개 이상 6개 이하입니다.
properties:
compatible:
oneOf:
- enum:
- allwinner,sun4i-a10-timer
- allwinner,sun8i-a23-timer
- allwinner,sun8i-v3s-timer
- allwinner,suniv-f1c100s-timer
- items:
- enum:
- allwinner,sun20i-d1-timer
- allwinner,sun50i-a64-timer
- allwinner,sun50i-h6-timer
- allwinner,sun50i-h616-timer
- const: allwinner,sun8i-a23-timer
reg:
maxItems: 1
interrupts:
minItems: 2
maxItems: 6
description:
List of timers interrupts
clocks:
maxItems: 1
SoC별 interrupt 개수
41-86`allwinner,sun4i-a10-timer`는 interrupt 6개, `allwinner,sun8i-a23-timer`는 2개, `allwinner,sun8i-v3s-timer`와 `allwinner,suniv-f1c100s-timer`는 3개를 정확히 요구합니다. 필수 속성은 `compatible`, `reg`, `interrupts`, `clocks`이며 추가 속성은 허용되지 않습니다.
allOf:
- if:
properties:
compatible:
enum:
- allwinner,sun4i-a10-timer
then:
properties:
interrupts:
minItems: 6
maxItems: 6
- if:
properties:
compatible:
enum:
- allwinner,sun8i-a23-timer
then:
properties:
interrupts:
minItems: 2
maxItems: 2
- if:
properties:
compatible:
enum:
- allwinner,sun8i-v3s-timer
- allwinner,suniv-f1c100s-timer
then:
properties:
interrupts:
minItems: 3
maxItems: 3
required:
- compatible
- reg
- interrupts
- clocks
additionalProperties: false
A10 여섯 interrupt 예제
87-101A10 예제는 `timer@1c20c00`에 `0x01c20c00`부터 0x400-byte register 영역을 지정합니다. Interrupt 22, 23, 24, 25, 67, 68 여섯 개와 `osc` clock을 연결합니다.
- |
timer@1c20c00 {
compatible = "allwinner,sun4i-a10-timer";
reg = <0x01c20c00 0x400>;
interrupts = <22>,
<23>,
<24>,
<25>,
<67>,
<68>;
clocks = <&osc>;
};
...
요약과 해설
allwinner,sun4i-a10-timer.yaml:1-101Allwinner timer의 fallback compatible과 SoC별 interrupt 개수를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, clock, interrupt, register, phandle, 수치와 줄 좌표를 원형대로 보존합니다.