← Documents Documentation/devicetree/bindings/timer/econet,en751221-timer.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Timer

EcoNet EN751221 High Precision Timer

EcoNet HPT의 per-VPE register와 EN751627 분기를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

econet,en751221-timer.yaml:1-80

EcoNet HPT의 per-VPE register와 EN751627 분기를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, interrupt, clock, register, phandle, 수치와 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/timer/econet,en751221-timer.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: EcoNet EN751221 High Precision Timer (HPT)
8
9 maintainers:
10 - Caleb James DeLisle <cjd@cjdns.fr>
11
12 description:
13 The EcoNet High Precision Timer (HPT) is a timer peripheral found in various
14 EcoNet SoCs, including the EN751221 and EN751627 families. It provides per-VPE
15 count/compare registers and a per-CPU control register, with a single interrupt
16 line using a percpu-devid interrupt mechanism.
17
18 properties:
19 compatible:
20 oneOf:
21 - const: econet,en751221-timer
22 - items:
23 - const: econet,en751627-timer
24 - const: econet,en751221-timer
25
26 reg:
27 minItems: 1
28 maxItems: 2
29
30 interrupts:
31 maxItems: 1
32 description: A percpu-devid timer interrupt shared across CPUs.
33
34 clocks:
35 maxItems: 1
36
37 required:
38 - compatible
39 - reg
40 - interrupts
41 - clocks
42
43 allOf:
44 - if:
45 properties:
46 compatible:
47 contains:
48 const: econet,en751627-timer
49 then:
50 properties:
51 reg:
52 items:
53 - description: VPE timers 0 and 1
54 - description: VPE timers 2 and 3
55 else:
56 properties:
57 reg:
58 items:
59 - description: VPE timers 0 and 1
60
61 additionalProperties: false
62
63 examples:
64 - |
65 timer@1fbf0400 {
66 compatible = "econet,en751627-timer", "econet,en751221-timer";
67 reg = <0x1fbf0400 0x100>, <0x1fbe0000 0x100>;
68 interrupt-parent = <&intc>;
69 interrupts = <30>;
70 clocks = <&hpt_clock>;
71 };
72 - |
73 timer@1fbf0400 {
74 compatible = "econet,en751221-timer";
75 reg = <0x1fbe0400 0x100>;
76 interrupt-parent = <&intc>;
77 interrupts = <30>;
78 clocks = <&hpt_clock>;
79 };
80 ...
81

3. 한국어 전문 번역

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

EcoNet High Precision Timer

1-17

GPL-2.0 또는 BSD-2-Clause 라이선스의 이 스키마는 EN751221·EN751627 family를 비롯한 여러 EcoNet SoC의 High Precision Timer(HPT)를 정의합니다. HPT는 VPE별 count/compare register와 CPU별 control register를 제공하며, 하나의 interrupt line을 `percpu-devid` 방식으로 사용합니다. Maintainer는 Caleb James DeLisle입니다.

Compatible fallback과 공통 자원

18-42

EN751221은 `econet,en751221-timer` 하나를 사용합니다. EN751627은 `econet,en751627-timer` 뒤에 `econet,en751221-timer` fallback을 둡니다. `reg`는 1~2개, `interrupts`와 `clocks`는 각각 최대 한 항목입니다. Interrupt는 CPU들이 공유하는 `percpu-devid` timer interrupt입니다. `compatible`, `reg`, `interrupts`, `clocks`가 모두 필수입니다.

properties:
  compatible:
    oneOf:
      - const: econet,en751221-timer
      - items:
          - const: econet,en751627-timer
          - const: econet,en751221-timer

  reg:
    minItems: 1
    maxItems: 2

  interrupts:
    maxItems: 1
    description: A percpu-devid timer interrupt shared across CPUs.

  clocks:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - clocks

SoC별 VPE register 영역

43-62

`compatible`에 `econet,en751627-timer`가 포함되면 `reg`의 첫 영역은 VPE timer 0·1, 둘째 영역은 VPE timer 2·3입니다. 그렇지 않은 EN751221 구성은 VPE timer 0·1을 위한 register 영역 하나만 가집니다. 추가 속성은 허용되지 않습니다.

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: econet,en751627-timer
    then:
      properties:
        reg:
          items:
            - description: VPE timers 0 and 1
            - description: VPE timers 2 and 3
    else:
      properties:
        reg:
          items:
            - description: VPE timers 0 and 1

additionalProperties: false

EN751627과 EN751221 예제

63-80

첫 예제는 EN751627 fallback 구성으로 0x100-byte register 영역 두 개와 interrupt 30, `hpt_clock`을 지정합니다. 둘째 예제는 EN751221 전용 구성으로 0x100-byte 영역 하나에 같은 interrupt와 clock을 연결합니다. 두 예제 모두 `intc`를 interrupt parent로 사용합니다.

examples:
  - |
    timer@1fbf0400 {
        compatible = "econet,en751627-timer", "econet,en751221-timer";
        reg = <0x1fbf0400 0x100>, <0x1fbe0000 0x100>;
        interrupt-parent = <&intc>;
        interrupts = <30>;
        clocks = <&hpt_clock>;
    };
  - |
    timer@1fbf0400 {
        compatible = "econet,en751221-timer";
        reg = <0x1fbe0400 0x100>;
        interrupt-parent = <&intc>;
        interrupts = <30>;
        clocks = <&hpt_clock>;
    };
...