2020-04-03 07:01:46 +00:00
|
|
|
# SPDX-License-Identifier: (GPL-2.0)
|
|
|
|
# Copyright 2020 Linaro Ltd.
|
|
|
|
%YAML 1.2
|
|
|
|
---
|
|
|
|
$id: http://devicetree.org/schemas/thermal/thermal-sensor.yaml#
|
|
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
|
|
|
|
title: Thermal sensor binding
|
|
|
|
|
|
|
|
maintainers:
|
|
|
|
- Amit Kucheria <amitk@kernel.org>
|
|
|
|
|
|
|
|
description: |
|
|
|
|
Thermal management is achieved in devicetree by describing the sensor hardware
|
|
|
|
and the software abstraction of thermal zones required to take appropriate
|
|
|
|
action to mitigate thermal overloads.
|
|
|
|
|
|
|
|
The following node types are used to completely describe a thermal management
|
|
|
|
system in devicetree:
|
|
|
|
- thermal-sensor: device that measures temperature, has SoC-specific bindings
|
|
|
|
- cooling-device: device used to dissipate heat either passively or actively
|
|
|
|
- thermal-zones: a container of the following node types used to describe all
|
|
|
|
thermal data for the platform
|
|
|
|
|
|
|
|
This binding describes the thermal-sensor.
|
|
|
|
|
|
|
|
Thermal sensor devices provide temperature sensing capabilities on thermal
|
|
|
|
zones. Typical devices are I2C ADC converters and bandgaps. Thermal sensor
|
|
|
|
devices may control one or more internal sensors.
|
|
|
|
|
|
|
|
properties:
|
|
|
|
"#thermal-sensor-cells":
|
|
|
|
description:
|
|
|
|
Used to uniquely identify a thermal sensor instance within an IC. Will be
|
|
|
|
0 on sensor nodes with only a single sensor and at least 1 on nodes
|
|
|
|
containing several internal sensors.
|
|
|
|
enum: [0, 1]
|
|
|
|
|
2021-04-15 11:21:21 +00:00
|
|
|
required:
|
|
|
|
- "#thermal-sensor-cells"
|
|
|
|
|
2020-10-05 18:38:30 +00:00
|
|
|
additionalProperties: true
|
|
|
|
|
2020-04-03 07:01:46 +00:00
|
|
|
examples:
|
|
|
|
- |
|
|
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
|
|
|
|
|
|
// Example 1: SDM845 TSENS
|
2020-06-30 12:18:04 +00:00
|
|
|
soc: soc {
|
2020-04-03 07:01:46 +00:00
|
|
|
#address-cells = <2>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
|
|
|
|
/* ... */
|
|
|
|
|
|
|
|
tsens0: thermal-sensor@c263000 {
|
|
|
|
compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
|
|
|
|
reg = <0 0x0c263000 0 0x1ff>, /* TM */
|
|
|
|
<0 0x0c222000 0 0x1ff>; /* SROT */
|
|
|
|
#qcom,sensors = <13>;
|
|
|
|
interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
interrupt-names = "uplow", "critical";
|
|
|
|
#thermal-sensor-cells = <1>;
|
|
|
|
};
|
|
|
|
|
|
|
|
tsens1: thermal-sensor@c265000 {
|
|
|
|
compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
|
|
|
|
reg = <0 0x0c265000 0 0x1ff>, /* TM */
|
|
|
|
<0 0x0c223000 0 0x1ff>; /* SROT */
|
|
|
|
#qcom,sensors = <8>;
|
|
|
|
interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
interrupt-names = "uplow", "critical";
|
|
|
|
#thermal-sensor-cells = <1>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
...
|