dt-bindings: Add snapshot of thermal devicetree bindings

This is a snapshot of thermal devicetree bindings from devicetree-4.19
to devicetree as of 'commit <6165320c09573041178621aa7afe812b237cd388>
(dt-bindings: Add snapshot of CX Ipeak cooling device devicetree
binding)'.

Change-Id: I0fad7df5bcdb5881f61435e7875558cbd259c88a
This commit is contained in:
Ram Chandrasekar
2019-12-06 10:13:37 -08:00
parent 3eab9b93c5
commit 52b50e61c1
5 changed files with 304 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
===============================================================================
BCL Peripheral driver for PMIC5:
===============================================================================
Qualcomm Technologies, Inc's PMIC has battery current limiting peripheral,
which can monitor for high battery current and low battery voltage in the
hardware. The BCL peripheral driver interacts with the PMIC peripheral using
the SPMI driver interface. The hardware can take threshold for notifying for
high battery current or low battery voltage events. This driver works only
with PMIC version 5, where the same BCL peripheral can be found in multiple
PMIC's that are used in a device, with limited functionalities. For example,
one PMIC can have only vbat monitoring, while the other PMIC can have both
vbat and ibat monitoring. This is a common driver, that can interact
with the multiple BCL peripherals.
Required Parameters:
- compatible: must be
'qcom,bcl-v5' for bcl peripheral in PMIC version 5.
- reg: <a b> where 'a' is the starting register address of the PMIC
peripheral and 'b' is the size of the peripheral address space.
- interrupts: <a b c d> Where,
'a' is the SLAVE ID of the PMIC,
'b' is the peripheral ID,
'c' is the interrupt number in PMIC and
'd' is the interrupt type.
- interrupt-names: user defined names for the interrupts. These
interrupt names will be used by the drivers to identify the
interrupts, instead of specifying the ID's. bcl driver will
accept these standard interrupts.
"bcl-lvl0",
"bcl-lvl1",
"bcl-lvl2",
Example:
bcl@4200 {
compatible = "qcom,bcl-v5";
reg = <0x4200 0x100>;
interrupts = <0x2 0x42 0x0 IRQ_TYPE_NONE>,
<0x2 0x42 0x1 IRQ_TYPE_NONE>;
interrupt-names = "bcl-lvl0",
"bcl-lvl1";
};

View File

@@ -0,0 +1,14 @@
===============================================================================
PMIC state of charge driver:
===============================================================================
Battery state of charge driver can monitor for change in battery charge and
notify thermal framework, when the value goes below a certain threshold.
Required Parameters:
- compatible: must be 'qcom,msm-bcl-soc' for battery state of charge driver.
Optional Parameters:
bcl-soc {
compatible = "qcom,msm-bcl-soc";
};

View File

@@ -0,0 +1,50 @@
QTI CPU isolation cooling devices.
The CPU isolation cooling device will be used for isolating a CPU on a thermal
condition. This cooling device driver can register one cooling device per CPU,
which can be used by thermal zone to mitigate.
Each child node will represent a cooling device and the child node should
point to the CPU, which will be mitigated by that cooling device instance.
Properties:
- compatible:
Usage: required
Value type: <string>
Definition: should be "qcom,cpu-isolate"
Cooling device node:
- qcom,cpu:
Usage: required
Value type: <phandle>
Definition: phandle to the CPU device that this cooling device will
mitigate.
-#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:
qcom,cpu-isolation {
compatible = "qcom,cpu-isolate";
cpu0_isolate: cpu0-isolate {
qcom,cpu = <&CPU0>;
#cooling-cells = <2>;
};
cpu1_isolate: cpu1-isolate {
qcom,cpu = <&CPU1>;
#cooling-cells = <2>;
};
cpu2_isolate: cpu2-isolate {
qcom,cpu = <&CPU2>;
#cooling-cells = <2>;
};
cpu3_isolate: cpu3-isolate {
qcom,cpu = <&CPU3>;
#cooling-cells = <2>;
};
};

View File

@@ -0,0 +1,125 @@
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,
"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,
"cpr_cold" -> for cpr restriction.
"wlan" -> for modem wlan 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>;
};
};
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>;
};
};
slpi {
qcom,instance-id = <0x53>;
slpi_vdd: slpi_vdd {
qcom,qmi-dev-name = "cpuv_restriction_cold";
#cooling-cells = <2>;
};
};
};

View File

@@ -0,0 +1,74 @@
QMI thermal mitigation(TS) sensor.
The QMI TS Sensor driver can list the sensors that are available in the
remote subsystem. This driver can read the temperature, set threshold and
get threshold notification.
Each child node of the QMI TS devicetree node represents a remote
subsystem and it can have more than one remote sensor names.
Properties:
- compatible:
Usage: required
Value type: <string>
Definition: should be "qcom,qmi-sensors"
- #thermal-sensor-cells:
Usage: required
Value type: <integer>
Definition: Must be 1. See thermal.txt for description.
Subsystem properties:
- qcom,instance-id:
Usage: required
Value type: <integer>
Definition: Remote subsystem QMI server instance id to be used for
communicating with QMI.
- qcom,qmi-sensor-names:
Usage: required
Value type: <array of string>
Definition: Remote sensor names. Below strings
are the only acceptable sensor names,
1. pa
2. pa_1
3. pa_2
4. qfe_pa0
5. qfe_wtr0
6. modem_tsens
7. qfe_mmw0
8. qfe_mmw1
9. qfe_mmw2
10. qfe_mmw3
11. xo_therm
12. qfe_pa_mdm
13. qfe_pa_wtr
14. qfe_mmw_streamer0
15. qfe_mmw0_mod
16. qfe_mmw1_mod
17. qfe_mmw2_mod
18. qfe_mmw3_mod
19. qfe_ret_pa0
20. qfe_wtr_pa0
21. qfe_wtr_pa1
22. qfe_wtr_pa2
23. qfe_wtr_pa3
24. sys_therm1
25. sys_therm2
26. modem_tsens1
Example:
qmi_sensor: qmi-ts-sensors {
compatible = "qcom,qmi-sensors";
#thermal-sensor-cells = <1>;
modem {
qcom,instance-id = <0x0>;
qcom,qmi-sensor-names = "pa",
"pa_1",
"qfe_pa0",
"qfe_wtr0";
};
};