← Documents Documentation/devicetree/bindings/thermal/renesas,r9a08g045-tsu.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Thermal

Renesas RZ/G3S Thermal Sensor Unit

RZ/G3S TSU의 ADC channel 연결과 thermal trip 구성을 설명합니다.

Source pathDocumentation/devicetree/bindings/thermal/renesas,r9a08g045-tsu.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

renesas,r9a08g045-tsu.yaml:1-93

RZ/G3S TSU의 ADC channel 연결과 thermal trip 구성을 설명합니다. 접을 수 있는 영어 원문 전체는 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·phandle·register·interrupt·clock·reset·수치·예제 코드를 원형대로 유지합니다.

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/thermal/renesas,r9a08g045-tsu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Renesas RZ/G3S Thermal Sensor Unit
8
9 description:
10 The thermal sensor unit (TSU) measures the temperature(Tj) inside
11 the LSI.
12
13 maintainers:
14 - Claudiu Beznea <[email protected]>
15
16 $ref: thermal-sensor.yaml#
17
18 properties:
19 compatible:
20 const: renesas,r9a08g045-tsu
21
22 reg:
23 maxItems: 1
24
25 clocks:
26 items:
27 - description: TSU module clock
28
29 power-domains:
30 maxItems: 1
31
32 resets:
33 items:
34 - description: TSU module reset
35
36 io-channels:
37 items:
38 - description: ADC channel which reports the TSU temperature
39
40 io-channel-names:
41 items:
42 - const: tsu
43
44 "#thermal-sensor-cells":
45 const: 0
46
47 required:
48 - compatible
49 - reg
50 - clocks
51 - power-domains
52 - resets
53 - io-channels
54 - io-channel-names
55 - '#thermal-sensor-cells'
56
57 additionalProperties: false
58
59 examples:
60 - |
61 #include <dt-bindings/clock/r9a08g045-cpg.h>
62
63 tsu: thermal@10059000 {
64 compatible = "renesas,r9a08g045-tsu";
65 reg = <0x10059000 0x1000>;
66 clocks = <&cpg CPG_MOD R9A08G045_TSU_PCLK>;
67 resets = <&cpg R9A08G045_TSU_PRESETN>;
68 power-domains = <&cpg>;
69 #thermal-sensor-cells = <0>;
70 io-channels = <&adc 8>;
71 io-channel-names = "tsu";
72 };
73
74 thermal-zones {
75 cpu-thermal {
76 polling-delay-passive = <250>;
77 polling-delay = <1000>;
78 thermal-sensors = <&tsu>;
79
80 trips {
81 sensor_crit: sensor-crit {
82 temperature = <125000>;
83 hysteresis = <1000>;
84 type = "critical";
85 };
86 target: trip-point {
87 temperature = <100000>;
88 hysteresis = <1000>;
89 type = "passive";
90 };
91 };
92 };
93 };
94

3. 한국어 전문 번역

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

Renesas RZ/G3S Thermal Sensor Unit

1-17

이 GPL-2.0-only 또는 BSD-2-Clause YAML 스키마는 Renesas RZ/G3S Thermal Sensor Unit(TSU)을 정의합니다. TSU는 LSI 내부의 junction temperature(Tj)를 측정합니다. Maintainer는 Claudiu Beznea이며 공통 `thermal-sensor.yaml#` 스키마를 사용합니다.

Clock·reset과 ADC channel

18-45

`compatible`은 `renesas,r9a08g045-tsu`입니다. `reg`와 `power-domains`는 각각 최대 한 항목입니다. `clocks`에는 TSU module clock 하나, `resets`에는 TSU module reset 하나를 둡니다. `io-channels`는 TSU 온도를 보고하는 ADC channel 하나이고 그 이름은 `tsu`입니다. `#thermal-sensor-cells = 0`이므로 consumer는 sensor ID를 전달하지 않습니다.

properties:
  compatible:
    const: renesas,r9a08g045-tsu

  reg:
    maxItems: 1

  clocks:
    items:
      - description: TSU module clock

  power-domains:
    maxItems: 1

  resets:
    items:
      - description: TSU module reset

  io-channels:
    items:
      - description: ADC channel which reports the TSU temperature

  io-channel-names:
    items:
      - const: tsu

  "#thermal-sensor-cells":
    const: 0

필수 속성과 추가 속성 제한

46-58

`compatible`, `reg`, `clocks`, `power-domains`, `resets`, `io-channels`, `io-channel-names`, `#thermal-sensor-cells`가 모두 필수입니다. `additionalProperties: false`로 정의되지 않은 속성을 허용하지 않습니다.

required:
  - compatible
  - reg
  - clocks
  - power-domains
  - resets
  - io-channels
  - io-channel-names
  - '#thermal-sensor-cells'

additionalProperties: false

RZ/G3S TSU 노드 예제

59-73

예제 TSU는 `0x10059000`의 0x1000-byte register, `R9A08G045_TSU_PCLK`, `R9A08G045_TSU_PRESETN`, CPG power domain을 사용합니다. ADC channel 8을 `tsu`라는 이름으로 연결하고 0-cell thermal sensor provider로 선언합니다.

- |
  #include <dt-bindings/clock/r9a08g045-cpg.h>

  tsu: thermal@10059000 {
      compatible = "renesas,r9a08g045-tsu";
      reg = <0x10059000 0x1000>;
      clocks = <&cpg CPG_MOD R9A08G045_TSU_PCLK>;
      resets = <&cpg R9A08G045_TSU_PRESETN>;
      power-domains = <&cpg>;
      #thermal-sensor-cells = <0>;
      io-channels = <&adc 8>;
      io-channel-names = "tsu";
  };

RZ/G3S thermal zone과 trip

74-93

CPU thermal zone은 passive polling 250ms, 일반 polling 1000ms로 TSU를 감시합니다. Critical trip은 125000 millidegree와 hysteresis 1000을, passive target trip은 100000 millidegree와 hysteresis 1000을 사용합니다.

thermal-zones {
    cpu-thermal {
        polling-delay-passive = <250>;
        polling-delay = <1000>;
        thermal-sensors = <&tsu>;

        trips {
            sensor_crit: sensor-crit {
                temperature = <125000>;
                hysteresis = <1000>;
                type = "critical";
            };
            target: trip-point {
                temperature = <100000>;
                hysteresis = <1000>;
                type = "passive";
            };
        };
    };
};