aboutsummaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/thermal/qcom,tmd-device.yaml
blob: 38ac62f0337697ffcc31822d41b928c93d09feb0 (plain)
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>;
      };
    };