1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/thermal/qcom,tmd-device.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
title: Qualcomm thermal mitigation (TMD) cooling devices
maintainers:
- Bhupesh Sharma <bhupesh.sharma@linaro.org>
description:
Qualcomm thermal mitigation (TMD) cooling devices. Each child node
represents one remote subsystem and each child of this subsystem in-turn
represents separate cooling devices.
properties:
$nodename:
pattern: "^(modem|adsp|cdsp|slpi[0-9])?$"
qcom,instance-id:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Remote subsystem QMI server instance id to be used for communicating with QMI.
patternProperties:
"^tmd-device[0-9]?$":
type: object
description:
Subnodes indicating tmd cooling device of a specific category.
properties:
label:
maxItems: 1
description: |
Remote subsystem device identifier. Acceptable device names -
"pa" -> for pa cooling device,
"cpuv_restriction_cold" -> for vdd restriction,
"cx_vdd_limit" -> for vdd limit,
"modem" -> for processor passive cooling device,
"modem_current" -> for current limiting device,
"modem_bw" -> for bus bandwidth limiting device,
"cpr_cold" -> for cpr restriction.
"#cooling-cells":
const: 2
required:
- label
- "#cooling-cells"
additionalProperties: false
required:
- qcom,instance-id
additionalProperties: false
examples:
- |
#include <dt-bindings/thermal/qcom,tmd.h>
modem0 {
qcom,instance-id = <MODEM0_INSTANCE_ID>;
modem0_pa: tmd-device0 {
label = "pa";
#cooling-cells = <2>;
};
modem0_proc: tmd-device1 {
label = "modem";
#cooling-cells = <2>;
};
modem0_current: tmd-device2 {
label = "modem_current";
#cooling-cells = <2>;
};
modem0_skin: tmd-device3 {
label = "modem_skin";
#cooling-cells = <2>;
};
modem0_vdd: tmd-device4 {
label = "cpuv_restriction_cold";
#cooling-cells = <2>;
};
};
- |
#include <dt-bindings/thermal/qcom,tmd.h>
adsp {
qcom,instance-id = <ADSP_INSTANCE_ID>;
adsp_vdd: tmd-device1 {
label = "cpuv_restriction_cold";
#cooling-cells = <2>;
};
};
- |
#include <dt-bindings/thermal/qcom,tmd.h>
cdsp {
qcom,instance-id = <CDSP_INSTANCE_ID>;
cdsp_vdd: tmd-device1 {
label = "cpuv_restriction_cold";
#cooling-cells = <2>;
};
};
- |
#include <dt-bindings/thermal/qcom,tmd.h>
slpi {
qcom,instance-id = <SLPI_INSTANCE_ID>;
slpi_vdd: tmd-device1 {
label = "cpuv_restriction_cold";
#cooling-cells = <2>;
};
};
|