144 lines
3.7 KiB
Plaintext
144 lines
3.7 KiB
Plaintext
|
|
QMI thermal mitigation(TMD) cooling devices.
|
||
|
|
|
||
|
|
The QMI TMD cooling device, will be used for various mitigations for remote
|
||
|
|
subsystem including remote processor mitigation, rail voltage restriction etc.
|
||
|
|
This cooling device uses kernel qti QMI interface to send the message to
|
||
|
|
remote subsystem.
|
||
|
|
|
||
|
|
Each child node of the QMI TMD devicetree node represents each remote
|
||
|
|
subsystem and each child of this subsystem represents separate cooling
|
||
|
|
devices. It requires minimum one remote subsystem node and each subsystem
|
||
|
|
node requires minimum one cooling device node.
|
||
|
|
|
||
|
|
Properties:
|
||
|
|
|
||
|
|
- compatible:
|
||
|
|
Usage: required
|
||
|
|
Value type: <string>
|
||
|
|
Definition: should be "qcom,qmi-cooling-devices"
|
||
|
|
|
||
|
|
|
||
|
|
Subsystem properties:
|
||
|
|
- qcom,instance-id:
|
||
|
|
Usage: required
|
||
|
|
Value type: <integer>
|
||
|
|
Definition: Remote subsystem QMI server instance id to be used for
|
||
|
|
communicating with QMI.
|
||
|
|
|
||
|
|
Minimum one child node is required. Child node name and its alias are
|
||
|
|
used as cooling device name and phandle for that cooling device.
|
||
|
|
|
||
|
|
cooling device node properties:
|
||
|
|
-qcom,qmi-dev-name:
|
||
|
|
Usage: required
|
||
|
|
Value type: <string>
|
||
|
|
Definition: Remote subsystem device identifier. Below strings
|
||
|
|
are the only acceptable device names,
|
||
|
|
"pa" -> for pa cooling device,
|
||
|
|
"pa_fr1" -> 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,
|
||
|
|
"vbatt_low" -> BCL vbat mitigation device,
|
||
|
|
"charge_state" -> Charge state mitigation device,
|
||
|
|
"mmw0" -> Millimeter wave limiting device 0,
|
||
|
|
"mmw1" -> Millimeter wave limiting device 1,
|
||
|
|
"mmw2" -> Millimeter wave limiting device 2,
|
||
|
|
"mmw3" -> Millimeter wave limiting device 3,
|
||
|
|
"modem_skin" -> Modem skin mitigation device,
|
||
|
|
"mmw_skin0" -> MMW skin mitigation device0,
|
||
|
|
"mmw_skin1" -> MMW skin mitigation device1,
|
||
|
|
"mmw_skin2" -> MMW skin mitigation device2,
|
||
|
|
"mmw_skin3" -> MMW skin mitigation device3,
|
||
|
|
"modem_v2x" -> modem CV2X mitigation device,
|
||
|
|
"cpr_cold" -> for cpr restriction,
|
||
|
|
"cdsp_sw" -> for CDSP DCVS mitigation device,
|
||
|
|
"cdsp_hw" -> for CDSP hardware mitigation device.
|
||
|
|
|
||
|
|
-#cooling-cells:
|
||
|
|
Usage: required
|
||
|
|
Value type: <integer>
|
||
|
|
Definition: Must be 2. Needed for of_thermal as cooling device
|
||
|
|
identifier. Please refer to
|
||
|
|
<devicetree/bindings/thermal/thermal.txt> for more
|
||
|
|
details.
|
||
|
|
Example:
|
||
|
|
|
||
|
|
qmi-tmd-devices {
|
||
|
|
compatible = "qcom,qmi-cooling-devices";
|
||
|
|
|
||
|
|
modem {
|
||
|
|
qcom,instance-id = <0x0>;
|
||
|
|
|
||
|
|
modem_pa: modem_pa {
|
||
|
|
qcom,qmi-dev-name = "pa";
|
||
|
|
#cooling-cells = <2>;
|
||
|
|
};
|
||
|
|
|
||
|
|
modem_proc: modem_proc {
|
||
|
|
qcom,qmi-dev-name = "modem";
|
||
|
|
#cooling-cells = <2>;
|
||
|
|
};
|
||
|
|
|
||
|
|
modem_vdd: modem_vdd {
|
||
|
|
qcom,qmi-dev-name = "cpuv_restriction_cold";
|
||
|
|
#cooling-cells = <2>;
|
||
|
|
};
|
||
|
|
|
||
|
|
modem_current: modem_current {
|
||
|
|
qcom,qmi-dev-name = "modem_current";
|
||
|
|
#cooling-cells = <2>;
|
||
|
|
};
|
||
|
|
|
||
|
|
modem_cpr_cold: modem_cpr_cold {
|
||
|
|
qcom,qmi-dev-name = "cpr_cold";
|
||
|
|
#cooling-cells = <2>;
|
||
|
|
};
|
||
|
|
|
||
|
|
modem_v2x: modem_v2x {
|
||
|
|
qcom,qmi-dev-name = "modem_v2x";
|
||
|
|
#cooling-cells = <2>;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
adsp {
|
||
|
|
qcom,instance-id = <0x1>;
|
||
|
|
|
||
|
|
adsp_vdd: adsp_vdd {
|
||
|
|
qcom,qmi-dev-name = "cpuv_restriction_cold";
|
||
|
|
#cooling-cells = <2>;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
cdsp {
|
||
|
|
qcom,instance-id = <0x43>;
|
||
|
|
|
||
|
|
cdsp_vdd: cdsp_vdd {
|
||
|
|
qcom,qmi-dev-name = "cpuv_restriction_cold";
|
||
|
|
#cooling-cells = <2>;
|
||
|
|
};
|
||
|
|
|
||
|
|
cdsp_sw: cdsp {
|
||
|
|
qcom,qmi-dev-name = "cdsp_sw";
|
||
|
|
#cooling-cells = <2>;
|
||
|
|
};
|
||
|
|
|
||
|
|
cdsp_hw: hvx {
|
||
|
|
qcom,qmi-dev-name = "cdsp_hw";
|
||
|
|
#cooling-cells = <2>;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
slpi {
|
||
|
|
qcom,instance-id = <0x53>;
|
||
|
|
|
||
|
|
slpi_vdd: slpi_vdd {
|
||
|
|
qcom,qmi-dev-name = "cpuv_restriction_cold";
|
||
|
|
#cooling-cells = <2>;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|