blob: 5ff72ce5c8877a985885f744f12d4ccd1d4a0fbb [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2# Copyright 2021 Linaro Ltd.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/thermal/qcom-lmh.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Qualcomm Limits Management Hardware(LMh)
9
10maintainers:
11 - Thara Gopinath <thara.gopinath@gmail.com>
12
13description:
14 Limits Management Hardware(LMh) is a hardware infrastructure on some
15 Qualcomm SoCs that can enforce temperature and current limits as
16 programmed by software for certain IPs like CPU.
17
18properties:
19 compatible:
20 enum:
21 - qcom,sc8180x-lmh
22 - qcom,sdm845-lmh
23 - qcom,sm8150-lmh
24
25 reg:
26 items:
27 - description: core registers
28
29 interrupts:
30 maxItems: 1
31
32 '#interrupt-cells':
33 const: 1
34
35 interrupt-controller: true
36
37 cpus:
38 description:
39 phandle of the first cpu in the LMh cluster
40 maxItems: 1
41
42 qcom,lmh-temp-arm-millicelsius:
43 description:
44 An integer expressing temperature threshold at which the LMh thermal
45 FSM is engaged.
46
47 qcom,lmh-temp-low-millicelsius:
48 description:
49 An integer expressing temperature threshold at which the state machine
50 will attempt to remove frequency throttling.
51
52 qcom,lmh-temp-high-millicelsius:
53 description:
54 An integer expressing temperature threshold at which the state machine
55 will attempt to throttle the frequency.
56
57required:
58 - compatible
59 - reg
60 - interrupts
61 - '#interrupt-cells'
62 - interrupt-controller
63 - cpus
64 - qcom,lmh-temp-arm-millicelsius
65 - qcom,lmh-temp-low-millicelsius
66 - qcom,lmh-temp-high-millicelsius
67
68additionalProperties: false
69
70examples:
71 - |
72 #include <dt-bindings/interrupt-controller/arm-gic.h>
73
74 lmh@17d70800 {
75 compatible = "qcom,sdm845-lmh";
76 reg = <0x17d70800 0x400>;
77 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
78 cpus = <&CPU4>;
79 qcom,lmh-temp-arm-millicelsius = <65000>;
80 qcom,lmh-temp-low-millicelsius = <94500>;
81 qcom,lmh-temp-high-millicelsius = <95000>;
82 interrupt-controller;
83 #interrupt-cells = <1>;
84 };