← Documents Documentation/devicetree/bindings/thermal/qcom,spmi-temp-alarm.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Thermal

Qualcomm QPNP PMIC Temperature Alarm

QPNP PMIC die temperature alarm의 SPMI provider와 PM8350 thermal zone을 설명합니다.

Source pathDocumentation/devicetree/bindings/thermal/qcom,spmi-temp-alarm.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

qcom,spmi-temp-alarm.yaml:1-84

QPNP alarm의 register·interrupt·ADC channel 계약과 PM8350의 passive·critical trip 예제를 원문 줄 좌표에 맞춰 전문 번역합니다. 영어 원문 전체와 DTS symbol, phandle, 수치는 그대로 보존됩니다.

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/qcom,spmi-temp-alarm.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm QPNP PMIC Temperature Alarm
8
9 maintainers:
10 - Bjorn Andersson <bjorn.andersson@linaro.org>
11
12 description:
13 QPNP temperature alarm peripherals are found inside of Qualcomm PMIC chips
14 that utilize the Qualcomm SPMI implementation. These peripherals provide an
15 interrupt signal and status register to identify high PMIC die temperature.
16
17 allOf:
18 - $ref: thermal-sensor.yaml#
19
20 properties:
21 compatible:
22 const: qcom,spmi-temp-alarm
23
24 reg:
25 maxItems: 1
26
27 interrupts:
28 maxItems: 1
29
30 io-channels:
31 items:
32 - description: ADC channel, which reports chip die temperature
33
34 io-channel-names:
35 items:
36 - const: thermal
37
38 '#thermal-sensor-cells':
39 const: 0
40
41 required:
42 - compatible
43 - reg
44 - interrupts
45
46 additionalProperties: false
47
48 examples:
49 - |
50 #include <dt-bindings/interrupt-controller/arm-gic.h>
51
52 pmic {
53 #address-cells = <1>;
54 #size-cells = <0>;
55
56 pm8350_temp_alarm: temperature-sensor@a00 {
57 compatible = "qcom,spmi-temp-alarm";
58 reg = <0xa00>;
59 interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
60 #thermal-sensor-cells = <0>;
61 };
62 };
63
64 thermal-zones {
65 pm8350_thermal: pm8350c-thermal {
66 polling-delay-passive = <100>;
67 polling-delay = <0>;
68 thermal-sensors = <&pm8350_temp_alarm>;
69
70 trips {
71 pm8350_trip0: trip0 {
72 temperature = <95000>;
73 hysteresis = <0>;
74 type = "passive";
75 };
76
77 pm8350_crit: pm8350c-crit {
78 temperature = <115000>;
79 hysteresis = <0>;
80 type = "critical";
81 };
82 };
83 };
84 };
85

3. 한국어 전문 번역

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

Qualcomm QPNP PMIC temperature alarm

1-19

GPL-2.0-only 또는 BSD-2-Clause 라이선스의 이 YAML 스키마는 Qualcomm QPNP PMIC Temperature Alarm을 정의합니다. QPNP temperature alarm peripheral은 Qualcomm SPMI 구현을 사용하는 PMIC chip 내부에 있으며, 높은 PMIC die temperature를 식별할 수 있도록 interrupt signal과 status register를 제공합니다. 공통 `thermal-sensor.yaml#` 스키마를 함께 적용하며 maintainer는 Bjorn Andersson입니다.

Register, interrupt와 ADC channel

20-47

`compatible`은 정확히 `qcom,spmi-temp-alarm`이고 `reg`와 `interrupts`는 각각 최대 한 항목입니다. `io-channels`의 한 항목은 chip die temperature를 보고하는 ADC channel이며, 대응하는 `io-channel-names` 값은 `thermal`입니다. 이 provider는 별도 specifier가 없으므로 `#thermal-sensor-cells`는 0입니다. 필수 속성은 `compatible`, `reg`, `interrupts`이고 정의되지 않은 추가 속성은 허용되지 않습니다.

properties:
  compatible:
    const: qcom,spmi-temp-alarm

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  io-channels:
    items:
      - description: ADC channel, which reports chip die temperature

  io-channel-names:
    items:
      - const: thermal

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

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

PM8350 alarm provider 예제

48-63

예제의 PMIC bus는 address cell 하나와 size cell 0개를 사용합니다. `pm8350_temp_alarm` node는 주소 `0xa00`, `qcom,spmi-temp-alarm` compatible, 양쪽 edge를 감지하는 `IRQ_TYPE_EDGE_BOTH` interrupt를 지정하고 `#thermal-sensor-cells = <0>`으로 sensor provider를 선언합니다.

- |
  #include <dt-bindings/interrupt-controller/arm-gic.h>

  pmic {
      #address-cells = <1>;
      #size-cells = <0>;

      pm8350_temp_alarm: temperature-sensor@a00 {
          compatible = "qcom,spmi-temp-alarm";
          reg = <0xa00>;
          interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
          #thermal-sensor-cells = <0>;
      };
  };

PM8350 thermal zone과 trip

64-84

`pm8350c-thermal` zone은 passive polling delay 100ms, 일반 polling delay 0으로 alarm sensor를 감시합니다. 95000 millicelsius의 passive trip과 115000 millicelsius의 critical trip을 두며 두 hysteresis는 모두 0입니다. 일반 polling이 0이므로 온도 변화 통지는 provider interrupt에 의존합니다.

thermal-zones {
    pm8350_thermal: pm8350c-thermal {
        polling-delay-passive = <100>;
        polling-delay = <0>;
        thermal-sensors = <&pm8350_temp_alarm>;

        trips {
            pm8350_trip0: trip0 {
                temperature = <95000>;
                hysteresis = <0>;
                type = "passive";
            };

            pm8350_crit: pm8350c-crit {
                temperature = <115000>;
                hysteresis = <0>;
                type = "critical";
            };
        };
    };
};