← Documents Documentation/devicetree/bindings/timer/jcore,pit.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Timer

J-Core Programmable Interval Timer

J-Core PIT의 SMP CPU별 register와 예약 interrupt를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

jcore,pit.yaml:1-43

J-Core PIT의 SMP CPU별 register와 예약 interrupt를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, interrupt, clock, register, phandle, 수치와 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/jcore,pit.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: J-Core Programmable Interval Timer and Clocksource
8
9 maintainers:
10 - Rich Felker <dalias@libc.org>
11
12 properties:
13 compatible:
14 const: jcore,pit
15
16 reg:
17 description:
18 Memory region(s) for timer/clocksource registers. For SMP, there should be
19 one region per cpu, indexed by the sequential, zero-based hardware cpu
20 number.
21
22 interrupts:
23 description:
24 An interrupt to assign for the timer. The actual pit core is integrated
25 with the aic and allows the timer interrupt assignment to be programmed by
26 software, but this property is required in order to reserve an interrupt
27 number that doesn't conflict with other devices.
28 maxItems: 1
29
30 required:
31 - compatible
32 - reg
33 - interrupts
34
35 additionalProperties: false
36
37 examples:
38 - |
39 timer@200 {
40 compatible = "jcore,pit";
41 reg = <0x200 0x30 0x500 0x30>;
42 interrupts = <0x48>;
43 };
44

3. 한국어 전문 번역

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

J-Core PIT와 clocksource

1-11

GPL-2.0-only 또는 BSD-2-Clause 라이선스의 이 스키마는 J-Core Programmable Interval Timer(PIT)와 clocksource를 정의합니다. Maintainer는 Rich Felker입니다.

SMP CPU별 register와 예약 interrupt

12-36

`compatible`은 `jcore,pit`입니다. `reg`는 timer/clocksource register 영역을 담으며 SMP에서는 순차적인 0-based hardware CPU 번호로 index한 CPU별 영역이 하나씩 있어야 합니다. PIT core는 AIC와 통합되어 software가 timer interrupt를 할당할 수 있지만, 다른 device와 충돌하지 않는 interrupt 번호를 예약하기 위해 `interrupts`가 반드시 필요합니다. `compatible`, `reg`, `interrupts`가 모두 필수이고 추가 속성은 허용되지 않습니다.

properties:
  compatible:
    const: jcore,pit

  reg:
    description:
      Memory region(s) for timer/clocksource registers. For SMP, there should be
      one region per cpu, indexed by the sequential, zero-based hardware cpu
      number.

  interrupts:
    description:
      An interrupt to assign for the timer. The actual pit core is integrated
      with the aic and allows the timer interrupt assignment to be programmed by
      software, but this property is required in order to reserve an interrupt
      number that doesn't conflict with other devices.
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

두 CPU PIT 예제

37-43

예제의 `timer@200`은 offset 0x200과 0x500에 각각 0x30-byte register 영역을 두고 interrupt 0x48을 예약합니다.

examples:
  - |
    timer@200 {
        compatible = "jcore,pit";
        reg = <0x200 0x30 0x500 0x30>;
        interrupts = <0x48>;
    };