요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
SPEAr cpufreq driver
-------------------
SPEAr SoC cpufreq driver for CPU frequency scaling.
It supports both uniprocessor (UP) and symmetric multiprocessor (SMP) systems
which share clock across all CPUs.
Required properties:
- cpufreq_tbl: Table of frequencies CPU could be transitioned into, in the
increasing order.
Optional properties:
- clock-latency: Specify the possible maximum transition latency for clock, in
unit of nanoseconds.
Both required and optional properties listed above must be defined under node
/cpus/cpu@0.
Examples:
--------
cpus {
<...>
cpu@0 {
compatible = "arm,cortex-a9";
reg = <0>;
<...>
cpufreq_tbl = < 166000
200000
250000
300000
400000
500000
600000 >;
};
<...>
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
SPEAr CPU frequency table
1-18SPEAr SoC CPUFreq driver 바인딩입니다. CPU frequency scaling을 제공하며, 모든 CPU가 하나의 clock을 공유하는 uniprocessor(UP)와 symmetric multiprocessor(SMP) system을 모두 지원합니다.
필수 `cpufreq_tbl`은 CPU가 전환할 수 있는 frequency를 오름차순으로 나열한 table입니다. 선택적인 `clock-latency`는 가능한 최대 clock transition latency를 nanosecond 단위로 지정합니다.
필수 및 선택 속성은 모두 `/cpus/cpu@0` node 아래에 정의해야 합니다.
CPU0 node의 table이 UP 또는 SMP 전체가 공유하는 clock frequency를 선택합니다.
166-600 MHz frequency table 예제
19-42예제 Cortex-A9 CPU0은 166000, 200000, 250000, 300000, 400000, 500000, 600000의 frequency entry를 오름차순으로 제공합니다.
cpus {
<...>
cpu@0 {
compatible = "arm,cortex-a9";
reg = <0>;
<...>
cpufreq_tbl = < 166000
200000
250000
300000
400000
500000
600000 >;
};
<...>
};
요약과 해설
cpufreq-spear.txt:1-42CPU0 node의 transition table과 optional latency를 설명합니다.