34183ddd13
- Add interrupt support on the rcar sensor (Niklas Söderlund) - Add a new Spreadtrum thermal driver (Baolin Wang) - Add thermal binding for the fsl scu board, a new API to retrieve the sensor id bound to the thermal zone and i.MX system controller sensor (Anson Huang)) - Remove warning log when a deferred probe is requested on Exynos (Marek Szyprowski) - Add the thermal monitoring unit support for imx8mm with its DT bindings (Anson Huang) - Rephrase the Kconfig text for clarity (Linus Walleij) - Use the gpio descriptor for the ti-soc-thermal (Linus Walleij) - Align msg structure to 4 bytes for i.MX SC, fix the Kconfig dependency, add the __may_be unused annotation for PM functions and the COMPILE_TEST option for imx8mm (Anson Huang) - Fix a dependency on regmap in Kconfig for qoriq (Yuantian Tang) - Add DT binding and support for the rcar gen3 r8a77961 and improve the error path on the rcar init function (Niklas Söderlund) - Cleanup and improvements for the tsens Qcom sensor (Amit Kucheria) - Improve code by removing lock and caching values in the rcar thermal sensor (Niklas Söderlund) - Cleanup in the qoriq drivers and add a call to imx_thermal_unregister_legacy_cooling in the removal function (Anson Huang) - Remove redundant 'maxItems' in tsens and sprd DT bindings (Rob Herring) - Change the thermal DT bindings by making the cooling-maps optional (Yuantian Tang) - Add Tiger Lake support (Sumeet Pawnikar) - Use scnprintf() for avoiding potential buffer overflow (Takashi Iwai) - Make pkg_temp_lock a raw_spinlock_t(Clark Williams) - Fix incorrect data types by changing them to signed on i.MX SC (Anson Huang) - Replace zero-length array with flexible-array member (Gustavo A. R. Silva) - Add support for i.MX8MP in the driver and in the DT bindings (Anson Huang) - Fix return value of the cpufreq_set_cur_state() function (Willy Wolff) - Remove abusing and scary WARN_ON in the cpufreq cooling device (Daniel Lezcano) - Fix build warning of incorrect argument type reported by sparse on imx8mm (Anson Huang) - Fix stub for the devfreq cooling device (Martin Blumenstingl) - Fix cpu idle cooling documentation (Sergey Vidishev) -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEGn3N4YVz0WNVyHskqDIjiipP6E8FAl6MXkEACgkQqDIjiipP 6E+BIggAh52YBU8D8GthsvCPTgka95+wAIaZtx4Y7UnhvshHhM2w+m97TQOXK373 95mwO9mwQuAoksSmLo7pBQYJ7HItQ26Yoq9akpOL6EiT+BEWiqoHJgl+afVVtoKa n67d3Pa6coup1+PQNIA8kpTIOmUQTP8THtwpZ3HlChWsg22NTd0QUGpGJ1TtBD/q KqMdQjxahFJ4RTYsnECWBkw3EMkczMNMgdrXEvm4rMkcaJzv9g2ZPqerOShK/RzP 8sejWczt6jaRwu4hLpd/lLikTSHZoXMFJ8ylAiQXFELCPAQIrMS/ae+dTGJ4qP7x hkjsewPbeA1Z+al/IBVHiCtOzKkICQ== =XDYl -----END PGP SIGNATURE----- Merge tag 'thermal-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux Pull thermal updates from Daniel Lezcano: - Convert tsens configuration DT binding to yaml (Rajeshwari) - Add interrupt support on the rcar sensor (Niklas Söderlund) - Add a new Spreadtrum thermal driver (Baolin Wang) - Add thermal binding for the fsl scu board, a new API to retrieve the sensor id bound to the thermal zone and i.MX system controller sensor (Anson Huang)) - Remove warning log when a deferred probe is requested on Exynos (Marek Szyprowski) - Add the thermal monitoring unit support for imx8mm with its DT bindings (Anson Huang) - Rephrase the Kconfig text for clarity (Linus Walleij) - Use the gpio descriptor for the ti-soc-thermal (Linus Walleij) - Align msg structure to 4 bytes for i.MX SC, fix the Kconfig dependency, add the __may_be unused annotation for PM functions and the COMPILE_TEST option for imx8mm (Anson Huang) - Fix a dependency on regmap in Kconfig for qoriq (Yuantian Tang) - Add DT binding and support for the rcar gen3 r8a77961 and improve the error path on the rcar init function (Niklas Söderlund) - Cleanup and improvements for the tsens Qcom sensor (Amit Kucheria) - Improve code by removing lock and caching values in the rcar thermal sensor (Niklas Söderlund) - Cleanup in the qoriq drivers and add a call to imx_thermal_unregister_legacy_cooling in the removal function (Anson Huang) - Remove redundant 'maxItems' in tsens and sprd DT bindings (Rob Herring) - Change the thermal DT bindings by making the cooling-maps optional (Yuantian Tang) - Add Tiger Lake support (Sumeet Pawnikar) - Use scnprintf() for avoiding potential buffer overflow (Takashi Iwai) - Make pkg_temp_lock a raw_spinlock_t(Clark Williams) - Fix incorrect data types by changing them to signed on i.MX SC (Anson Huang) - Replace zero-length array with flexible-array member (Gustavo A. R. Silva) - Add support for i.MX8MP in the driver and in the DT bindings (Anson Huang) - Fix return value of the cpufreq_set_cur_state() function (Willy Wolff) - Remove abusing and scary WARN_ON in the cpufreq cooling device (Daniel Lezcano) - Fix build warning of incorrect argument type reported by sparse on imx8mm (Anson Huang) - Fix stub for the devfreq cooling device (Martin Blumenstingl) - Fix cpu idle cooling documentation (Sergey Vidishev) * tag 'thermal-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux: (52 commits) Documentation: cpu-idle-cooling: Fix diagram for 33% duty cycle thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n thermal: imx8mm: Fix build warning of incorrect argument type thermal/drivers/cpufreq_cooling: Remove abusing WARN_ON thermal/drivers/cpufreq_cooling: Fix return of cpufreq_set_cur_state thermal: imx8mm: Add i.MX8MP support dt-bindings: thermal: imx8mm-thermal: Add support for i.MX8MP thermal: qcom: tsens.h: Replace zero-length array with flexible-array member thermal: imx_sc_thermal: Fix incorrect data type thermal: int340x_thermal: Use scnprintf() for avoiding potential buffer overflow thermal: int340x: processor_thermal: Add Tiger Lake support thermal/x86_pkg_temp: Make pkg_temp_lock a raw_spinlock_t dt-bindings: thermal: make cooling-maps property optional dt-bindings: thermal: qcom-tsens: Remove redundant 'maxItems' dt-bindings: thermal: sprd: Remove redundant 'maxItems' thermal: imx: Calling imx_thermal_unregister_legacy_cooling() in .remove thermal: qoriq: Sort includes alphabetically thermal: qoriq: Use devm_add_action_or_reset() to handle all cleanups thermal: rcar_thermal: Remove lock in rcar_thermal_get_current_temp() thermal: rcar_thermal: Do not store ctemp in rcar_thermal_priv ...
178 lines
4.5 KiB
YAML
178 lines
4.5 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
|
# Copyright 2019 Linaro Ltd.
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/thermal/qcom-tsens.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: QCOM SoC Temperature Sensor (TSENS)
|
|
|
|
maintainers:
|
|
- Amit Kucheria <amit.kucheria@linaro.org>
|
|
|
|
description: |
|
|
QCOM SoCs have TSENS IP to allow temperature measurement. There are currently
|
|
three distinct major versions of the IP that is supported by a single driver.
|
|
The IP versions are named v0.1, v1 and v2 in the driver, where v0.1 captures
|
|
everything before v1 when there was no versioning information.
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- description: v0.1 of TSENS
|
|
items:
|
|
- enum:
|
|
- qcom,msm8916-tsens
|
|
- qcom,msm8974-tsens
|
|
- const: qcom,tsens-v0_1
|
|
|
|
- description: v1 of TSENS
|
|
items:
|
|
- enum:
|
|
- qcom,msm8976-tsens
|
|
- qcom,qcs404-tsens
|
|
- const: qcom,tsens-v1
|
|
|
|
- description: v2 of TSENS
|
|
items:
|
|
- enum:
|
|
- qcom,msm8996-tsens
|
|
- qcom,msm8998-tsens
|
|
- qcom,sc7180-tsens
|
|
- qcom,sdm845-tsens
|
|
- const: qcom,tsens-v2
|
|
|
|
reg:
|
|
items:
|
|
- description: TM registers
|
|
- description: SROT registers
|
|
|
|
interrupts:
|
|
minItems: 1
|
|
items:
|
|
- description: Combined interrupt if upper or lower threshold crossed
|
|
- description: Interrupt if critical threshold crossed
|
|
|
|
interrupt-names:
|
|
minItems: 1
|
|
items:
|
|
- const: uplow
|
|
- const: critical
|
|
|
|
nvmem-cells:
|
|
minItems: 1
|
|
maxItems: 2
|
|
description:
|
|
Reference to an nvmem node for the calibration data
|
|
|
|
nvmem-cell-names:
|
|
minItems: 1
|
|
maxItems: 2
|
|
items:
|
|
- const: calib
|
|
- const: calib_sel
|
|
|
|
"#qcom,sensors":
|
|
allOf:
|
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
|
- minimum: 1
|
|
- maximum: 16
|
|
description:
|
|
Number of sensors enabled on this platform
|
|
|
|
"#thermal-sensor-cells":
|
|
const: 1
|
|
description:
|
|
Number of cells required to uniquely identify the thermal sensors. Since
|
|
we have multiple sensors this is set to 1
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,msm8916-tsens
|
|
- qcom,msm8974-tsens
|
|
- qcom,msm8976-tsens
|
|
- qcom,qcs404-tsens
|
|
- qcom,tsens-v0_1
|
|
- qcom,tsens-v1
|
|
then:
|
|
properties:
|
|
interrupts:
|
|
maxItems: 1
|
|
interrupt-names:
|
|
maxItems: 1
|
|
|
|
else:
|
|
properties:
|
|
interrupts:
|
|
minItems: 2
|
|
interrupt-names:
|
|
minItems: 2
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- "#qcom,sensors"
|
|
- interrupts
|
|
- interrupt-names
|
|
- "#thermal-sensor-cells"
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
// Example 1 (legacy: for pre v1 IP):
|
|
tsens1: thermal-sensor@900000 {
|
|
compatible = "qcom,msm8916-tsens", "qcom,tsens-v0_1";
|
|
reg = <0x4a9000 0x1000>, /* TM */
|
|
<0x4a8000 0x1000>; /* SROT */
|
|
|
|
nvmem-cells = <&tsens_caldata>, <&tsens_calsel>;
|
|
nvmem-cell-names = "calib", "calib_sel";
|
|
|
|
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "uplow";
|
|
|
|
#qcom,sensors = <5>;
|
|
#thermal-sensor-cells = <1>;
|
|
};
|
|
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
// Example 2 (for any platform containing v1 of the TSENS IP):
|
|
tsens2: thermal-sensor@4a9000 {
|
|
compatible = "qcom,qcs404-tsens", "qcom,tsens-v1";
|
|
reg = <0x004a9000 0x1000>, /* TM */
|
|
<0x004a8000 0x1000>; /* SROT */
|
|
|
|
nvmem-cells = <&tsens_caldata>;
|
|
nvmem-cell-names = "calib";
|
|
|
|
interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "uplow";
|
|
|
|
#qcom,sensors = <10>;
|
|
#thermal-sensor-cells = <1>;
|
|
};
|
|
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
// Example 3 (for any platform containing v2 of the TSENS IP):
|
|
tsens3: thermal-sensor@c263000 {
|
|
compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
|
|
reg = <0xc263000 0x1ff>,
|
|
<0xc222000 0x1ff>;
|
|
|
|
interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "uplow", "critical";
|
|
|
|
#qcom,sensors = <13>;
|
|
#thermal-sensor-cells = <1>;
|
|
};
|
|
...
|