Documentation/devicetree/bindings/thermal/rzg2l-thermal.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Thermal

Renesas RZ/G2L Thermal Sensor Unit

RZ/G2L 계열 TSU의 1-cell provider와 critical trip 예제를 설명합니다.

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

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약과 해설

rzg2l-thermal.yaml:1-79

RZ/G2L 계열 TSU의 1-cell provider와 critical trip 예제를 설명합니다. 접을 수 있는 영어 원문 전체는 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·register·interrupt·clock·regulator·수치·예제 코드를 원형대로 유지합니다.

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/rzg2l-thermal.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Renesas RZ/G2L Thermal Sensor Unit
8
9 description:
10 On RZ/G2L SoCs, the thermal sensor unit (TSU) measures the
11 temperature(Tj) inside the LSI.
12
13 maintainers:
14 - Biju Das <[email protected]>
15
16 $ref: thermal-sensor.yaml#
17
18 properties:
19 compatible:
20 items:
21 - enum:
22 - renesas,r9a07g043-tsu # RZ/G2UL and RZ/Five
23 - renesas,r9a07g044-tsu # RZ/G2{L,LC}
24 - renesas,r9a07g054-tsu # RZ/V2L
25 - const: renesas,rzg2l-tsu
26
27 reg:
28 maxItems: 1
29
30 clocks:
31 maxItems: 1
32
33 power-domains:
34 maxItems: 1
35
36 resets:
37 maxItems: 1
38
39 "#thermal-sensor-cells":
40 const: 1
41
42 required:
43 - compatible
44 - reg
45 - clocks
46 - power-domains
47 - resets
48
49 unevaluatedProperties: false
50
51 examples:
52 - |
53 #include <dt-bindings/clock/r9a07g044-cpg.h>
54
55 tsu: thermal@10059400 {
56 compatible = "renesas,r9a07g044-tsu",
57 "renesas,rzg2l-tsu";
58 reg = <0x10059400 0x400>;
59 clocks = <&cpg CPG_MOD R9A07G044_TSU_PCLK>;
60 resets = <&cpg R9A07G044_TSU_PRESETN>;
61 power-domains = <&cpg>;
62 #thermal-sensor-cells = <1>;
63 };
64
65 thermal-zones {
66 cpu-thermal {
67 polling-delay-passive = <250>;
68 polling-delay = <1000>;
69 thermal-sensors = <&tsu 0>;
70
71 trips {
72 sensor_crit: sensor-crit {
73 temperature = <125000>;
74 hysteresis = <1000>;
75 type = "critical";
76 };
77 };
78 };
79 };
80

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

Renesas RZ/G2L Thermal Sensor Unit

1-17

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

지원 SoC와 TSU 자원

18-41

RZ/G2UL·RZ/Five는 `renesas,r9a07g043-tsu`, RZ/G2L·G2LC는 `renesas,r9a07g044-tsu`, RZ/V2L은 `renesas,r9a07g054-tsu`를 사용하고 모두 `renesas,rzg2l-tsu`를 fallback으로 둡니다. `reg`, `clocks`, `power-domains`, `resets`는 각각 최대 한 항목이며 `#thermal-sensor-cells = 1`로 sensor index를 받습니다.

properties:
  compatible:
    items:
      - enum:
          - renesas,r9a07g043-tsu # RZ/G2UL and RZ/Five
          - renesas,r9a07g044-tsu # RZ/G2{L,LC}
          - renesas,r9a07g054-tsu # RZ/V2L
      - const: renesas,rzg2l-tsu

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

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

필수 속성과 제한

42-50

`compatible`, `reg`, `clocks`, `power-domains`, `resets`가 필수입니다. `unevaluatedProperties: false`로 공통 thermal sensor 스키마와 이 binding에서 평가하지 않은 속성을 금지합니다.

required:
  - compatible
  - reg
  - clocks
  - power-domains
  - resets

unevaluatedProperties: false

RZ/G2L TSU 노드 예제

51-64

예제는 `0x10059400`의 0x400-byte RZ/G2L TSU, `R9A07G044_TSU_PCLK`, `R9A07G044_TSU_PRESETN`, CPG power domain을 연결하고 1-cell thermal sensor provider로 선언합니다.

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

  tsu: thermal@10059400 {
      compatible = "renesas,r9a07g044-tsu",
                   "renesas,rzg2l-tsu";
      reg = <0x10059400 0x400>;
      clocks = <&cpg CPG_MOD R9A07G044_TSU_PCLK>;
      resets = <&cpg R9A07G044_TSU_PRESETN>;
      power-domains = <&cpg>;
      #thermal-sensor-cells = <1>;
  };

RZ/G2L thermal zone 예제

65-79

CPU thermal zone은 passive polling 250ms, 일반 polling 1000ms로 TSU sensor index 0을 감시합니다. Critical trip은 125000 millidegree이고 hysteresis는 1000 millidegree입니다.

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

        trips {
            sensor_crit: sensor-crit {
                temperature = <125000>;
                hysteresis = <1000>;
                type = "critical";
            };
        };
    };
};