요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
* ST-Ericsson DB8500 Thermal
** Thermal node properties:
- compatible : "stericsson,db8500-thermal";
- reg : address range of the thermal sensor registers;
- interrupts : interrupts generated from PRCMU;
- interrupt-names : "IRQ_HOTMON_LOW" and "IRQ_HOTMON_HIGH";
- num-trips : number of total trip points, this is required, set it 0 if none,
if greater than 0, the following properties must be defined;
- tripN-temp : temperature of trip point N, should be in ascending order;
- tripN-type : type of trip point N, should be one of "active" "passive" "hot"
"critical";
- tripN-cdev-num : number of the cooling devices which can be bound to trip
point N, this is required if trip point N is defined, set it 0 if none,
otherwise the following cooling device names must be defined;
- tripN-cdev-nameM : name of the No. M cooling device of trip point N;
Usually the num-trips and tripN-*** are separated in board related dts files.
Example:
thermal@801573c0 {
compatible = "stericsson,db8500-thermal";
reg = <0x801573c0 0x40>;
interrupts = <21 0x4>, <22 0x4>;
interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
num-trips = <3>;
trip0-temp = <75000>;
trip0-type = "active";
trip0-cdev-num = <1>;
trip0-cdev-name0 = "thermal-cpufreq-0";
trip1-temp = <80000>;
trip1-type = "active";
trip1-cdev-num = <2>;
trip1-cdev-name0 = "thermal-cpufreq-0";
trip1-cdev-name1 = "thermal-fan";
trip2-temp = <85000>;
trip2-type = "critical";
trip2-cdev-num = <0>;
}
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
ST-Ericsson DB8500 Thermal
1-3이 legacy binding은 ST-Ericsson DB8500 thermal node의 속성을 정의합니다.
Interrupt와 trip 속성
4-18`compatible`은 `stericsson,db8500-thermal`이고 `reg`는 thermal sensor register 주소 범위입니다. `interrupts`는 PRCMU에서 생성되는 interrupt를 지정하며 `interrupt-names`는 `IRQ_HOTMON_LOW`와 `IRQ_HOTMON_HIGH`입니다.
`num-trips`는 전체 trip point 수이며 trip이 없을 때도 0으로 지정해야 합니다. 0보다 크면 `tripN-temp`를 오름차순으로 정의하고, `tripN-type`을 `active`, `passive`, `hot`, `critical` 중 하나로 지정합니다.
정의된 각 trip N에는 연결할 cooling device 수를 `tripN-cdev-num`으로 지정해야 합니다. 장치가 없으면 0을 쓰며, 그보다 크면 각 장치 이름을 `tripN-cdev-nameM`에 기록합니다.
Board DTS의 trip data
19-20일반적으로 `num-trips`와 `tripN-*` 속성은 board별 DTS 파일에 분리해 둡니다.
세 trip point 예제
21-44예제는 0x801573c0 register와 low/high monitor interrupt를 선언합니다. 75000에서는 `thermal-cpufreq-0`, 80000에서는 CPU frequency와 `thermal-fan`을 active cooling device로 연결하고, 85000에서는 cooling device 없는 `critical` trip을 정의합니다.
thermal@801573c0 {
compatible = "stericsson,db8500-thermal";
reg = <0x801573c0 0x40>;
interrupts = <21 0x4>, <22 0x4>;
interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
num-trips = <3>;
trip0-temp = <75000>;
trip0-type = "active";
trip0-cdev-num = <1>;
trip0-cdev-name0 = "thermal-cpufreq-0";
trip1-temp = <80000>;
trip1-type = "active";
trip1-cdev-num = <2>;
trip1-cdev-name0 = "thermal-cpufreq-0";
trip1-cdev-name1 = "thermal-fan";
trip2-temp = <85000>;
trip2-type = "critical";
trip2-cdev-num = <0>;
}
요약과 해설
db8500-thermal.txt:1-44DB8500의 PRCMU interrupt와 trip별 cooling device 속성을 설명합니다. 접을 수 있는 영어 원문 전체는 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·phandle·register·interrupt·수치·예제 코드를 원형대로 유지합니다.