요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
* Freescale MPIC timers
Required properties:
- compatible: "fsl,mpic-global-timer"
- reg : Contains two regions. The first is the main timer register bank
(GTCCRxx, GTBCRxx, GTVPRxx, GTDRxx). The second is the timer control
register (TCRx) for the group.
- fsl,available-ranges: use <start count> style section to define which
timer interrupts can be used. This property is optional; without this,
all timers within the group can be used.
- interrupts: one interrupt per timer in the group, in order, starting
with timer zero. If timer-available-ranges is present, only the
interrupts that correspond to available timers shall be present.
Example:
/* Note that this requires #interrupt-cells to be 4 */
timer0: timer@41100 {
compatible = "fsl,mpic-global-timer";
reg = <0x41100 0x100 0x41300 4>;
/* Another AMP partition is using timers 0 and 1 */
fsl,available-ranges = <2 2>;
interrupts = <2 0 3 0
3 0 3 0>;
};
timer1: timer@42100 {
compatible = "fsl,mpic-global-timer";
reg = <0x42100 0x100 0x42300 4>;
interrupts = <4 0 3 0
5 0 3 0
6 0 3 0
7 0 3 0>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Freescale MPIC timer property
1-17Freescale MPIC timer node의 필수 `compatible`은 `fsl,mpic-global-timer`입니다.
필수 `reg`는 두 영역을 포함합니다. 첫 영역은 `GTCCRxx`, `GTBCRxx`, `GTVPRxx`, `GTDRxx`가 있는 main timer register bank이고, 두 번째 영역은 group의 timer control register `TCRx`입니다.
선택 `fsl,available-ranges`는 `<start count>` 형식으로 사용할 수 있는 timer interrupt 구간을 정의합니다. 이 property가 없으면 group 안의 모든 timer를 사용할 수 있습니다.
필수 `interrupts`는 timer 0부터 순서대로 group의 timer마다 하나씩 지정합니다. `fsl,available-ranges`가 있으면 사용할 수 있는 timer에 대응하는 interrupt만 나열해야 합니다.
MPIC timer group 예제
18-38예제는 `#interrupt-cells = <4>`를 전제로 합니다. `timer0` group은 다른 AMP partition이 timer 0과 1을 사용하므로 `<2 2>` 범위의 timer 2와 3만 노출합니다. `timer1` group은 네 timer의 interrupt를 모두 나열합니다.
/* Note that this requires #interrupt-cells to be 4 */
timer0: timer@41100 {
compatible = "fsl,mpic-global-timer";
reg = <0x41100 0x100 0x41300 4>;
/* Another AMP partition is using timers 0 and 1 */
fsl,available-ranges = <2 2>;
interrupts = <2 0 3 0
3 0 3 0>;
};
timer1: timer@42100 {
compatible = "fsl,mpic-global-timer";
reg = <0x42100 0x100 0x42300 4>;
interrupts = <4 0 3 0
5 0 3 0
6 0 3 0
7 0 3 0>;
};
요약과 해설
mpic-timer.txt:1-38AMP partition 사이에서 timer를 나눌 때 `<start count>` 범위와 대응 interrupt만 노출하는 방법을 보여 줍니다.