From 52b50e61c1708e50061984db7aacea7893457c4a Mon Sep 17 00:00:00 2001 From: Ram Chandrasekar Date: Fri, 6 Dec 2019 10:13:37 -0800 Subject: [PATCH] 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 --- bindings/thermal/qcom-bcl-pmic5.txt | 41 +++++++ bindings/thermal/qcom-bcl-soc.txt | 14 +++ bindings/thermal/qti-cpu-isolation-cdev.txt | 50 ++++++++ bindings/thermal/qti-qmi-cdev.txt | 125 ++++++++++++++++++++ bindings/thermal/qti-qmi-sensor.txt | 74 ++++++++++++ 5 files changed, 304 insertions(+) create mode 100644 bindings/thermal/qcom-bcl-pmic5.txt create mode 100644 bindings/thermal/qcom-bcl-soc.txt create mode 100644 bindings/thermal/qti-cpu-isolation-cdev.txt create mode 100644 bindings/thermal/qti-qmi-cdev.txt create mode 100644 bindings/thermal/qti-qmi-sensor.txt diff --git a/bindings/thermal/qcom-bcl-pmic5.txt b/bindings/thermal/qcom-bcl-pmic5.txt new file mode 100644 index 000000000000..20bb9829e470 --- /dev/null +++ b/bindings/thermal/qcom-bcl-pmic5.txt @@ -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: where 'a' is the starting register address of the PMIC + peripheral and 'b' is the size of the peripheral address space. +- interrupts: 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"; + }; diff --git a/bindings/thermal/qcom-bcl-soc.txt b/bindings/thermal/qcom-bcl-soc.txt new file mode 100644 index 000000000000..8ea7d330b2eb --- /dev/null +++ b/bindings/thermal/qcom-bcl-soc.txt @@ -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"; + }; diff --git a/bindings/thermal/qti-cpu-isolation-cdev.txt b/bindings/thermal/qti-cpu-isolation-cdev.txt new file mode 100644 index 000000000000..9d1852620e40 --- /dev/null +++ b/bindings/thermal/qti-cpu-isolation-cdev.txt @@ -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: + Definition: should be "qcom,cpu-isolate" + +Cooling device node: +- qcom,cpu: + Usage: required + Value type: + Definition: phandle to the CPU device that this cooling device will + mitigate. + +-#cooling-cells: + Usage: required + Value type: + Definition: Must be 2. Needed for of_thermal as cooling device + identifier. Please refer to + 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>; + }; + }; diff --git a/bindings/thermal/qti-qmi-cdev.txt b/bindings/thermal/qti-qmi-cdev.txt new file mode 100644 index 000000000000..481c284543be --- /dev/null +++ b/bindings/thermal/qti-qmi-cdev.txt @@ -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: + Definition: should be "qcom,qmi-cooling-devices" + + +Subsystem properties: +- qcom,instance-id: + Usage: required + Value type: + 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: + 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: + Definition: Must be 2. Needed for of_thermal as cooling device + identifier. Please refer to + 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>; + }; + }; + }; + diff --git a/bindings/thermal/qti-qmi-sensor.txt b/bindings/thermal/qti-qmi-sensor.txt new file mode 100644 index 000000000000..e558027e9c91 --- /dev/null +++ b/bindings/thermal/qti-qmi-sensor.txt @@ -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: + Definition: should be "qcom,qmi-sensors" + +- #thermal-sensor-cells: + Usage: required + Value type: + Definition: Must be 1. See thermal.txt for description. + +Subsystem properties: +- qcom,instance-id: + Usage: required + Value type: + Definition: Remote subsystem QMI server instance id to be used for + communicating with QMI. + +- qcom,qmi-sensor-names: + Usage: required + Value type: + 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"; + }; +};