← Documents Documentation/devicetree/bindings/timer/allwinner,sun4i-a10-timer.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Timer

Allwinner A10 Timer

Allwinner timer의 fallback compatible과 SoC별 interrupt 개수를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

allwinner,sun4i-a10-timer.yaml:1-101

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

2. 영어 원문 전체

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

원문 전체 펼치기
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/timer/allwinner,sun4i-a10-timer.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Allwinner A10 Timer
8
9 maintainers:
10 - Chen-Yu Tsai <wens@csie.org>
11 - Maxime Ripard <mripard@kernel.org>
12
13 properties:
14 compatible:
15 oneOf:
16 - enum:
17 - allwinner,sun4i-a10-timer
18 - allwinner,sun8i-a23-timer
19 - allwinner,sun8i-v3s-timer
20 - allwinner,suniv-f1c100s-timer
21 - items:
22 - enum:
23 - allwinner,sun20i-d1-timer
24 - allwinner,sun50i-a64-timer
25 - allwinner,sun50i-h6-timer
26 - allwinner,sun50i-h616-timer
27 - const: allwinner,sun8i-a23-timer
28
29 reg:
30 maxItems: 1
31
32 interrupts:
33 minItems: 2
34 maxItems: 6
35 description:
36 List of timers interrupts
37
38 clocks:
39 maxItems: 1
40
41 allOf:
42 - if:
43 properties:
44 compatible:
45 enum:
46 - allwinner,sun4i-a10-timer
47
48 then:
49 properties:
50 interrupts:
51 minItems: 6
52 maxItems: 6
53
54 - if:
55 properties:
56 compatible:
57 enum:
58 - allwinner,sun8i-a23-timer
59
60 then:
61 properties:
62 interrupts:
63 minItems: 2
64 maxItems: 2
65
66 - if:
67 properties:
68 compatible:
69 enum:
70 - allwinner,sun8i-v3s-timer
71 - allwinner,suniv-f1c100s-timer
72
73 then:
74 properties:
75 interrupts:
76 minItems: 3
77 maxItems: 3
78
79 required:
80 - compatible
81 - reg
82 - interrupts
83 - clocks
84
85 additionalProperties: false
86
87 examples:
88 - |
89 timer@1c20c00 {
90 compatible = "allwinner,sun4i-a10-timer";
91 reg = <0x01c20c00 0x400>;
92 interrupts = <22>,
93 <23>,
94 <24>,
95 <25>,
96 <67>,
97 <68>;
98 clocks = <&osc>;
99 };
100
101 ...
102

3. 한국어 전문 번역

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

Allwinner A10 timer

1-12

GPL-2.0 라이선스의 이 YAML 스키마는 Allwinner A10 timer 계열을 정의합니다. Maintainer는 Chen-Yu Tsai와 Maxime Ripard입니다.

Compatible fallback과 공통 자원

13-40

A10, 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-101

A10 예제는 `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>;
    };

...