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
7title: Qualcomm QPNP PMIC Temperature Alarm
8
9maintainers:
10  - Bjorn Andersson <bjorn.andersson@linaro.org>
11
12description:
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
17allOf:
18  - $ref: thermal-sensor.yaml#
19
20properties:
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
41required:
42  - compatible
43  - reg
44  - interrupts
45  - '#thermal-sensor-cells'
46
47additionalProperties: false
48
49examples:
50  - |
51    #include <dt-bindings/interrupt-controller/arm-gic.h>
52
53    pmic {
54        #address-cells = <1>;
55        #size-cells = <0>;
56
57        pm8350_temp_alarm: temperature-sensor@a00 {
58            compatible = "qcom,spmi-temp-alarm";
59            reg = <0xa00>;
60            interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
61            #thermal-sensor-cells = <0>;
62        };
63    };
64
65    thermal-zones {
66        pm8350_thermal: pm8350c-thermal {
67            polling-delay-passive = <100>;
68            polling-delay = <0>;
69            thermal-sensors = <&pm8350_temp_alarm>;
70
71            trips {
72                pm8350_trip0: trip0 {
73                    temperature = <95000>;
74                    hysteresis = <0>;
75                    type = "passive";
76                };
77
78                pm8350_crit: pm8350c-crit {
79                    temperature = <115000>;
80                    hysteresis = <0>;
81                    type = "critical";
82                };
83            };
84        };
85    };
86