Documentation/devicetree/bindings/thermal/thermal-zones.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/thermal/thermal-zones.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/thermal/thermal-zones.yaml
Extension
.yaml
Size
14490 bytes
Lines
358
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: (GPL-2.0)
# Copyright 2020 Linaro Ltd.
%YAML 1.2
---
$id: http://devicetree.org/schemas/thermal/thermal-zones.yaml#
$schema: http://devicetree.org/meta-schemas/base.yaml#

title: Thermal zone

maintainers:
  - Daniel Lezcano <daniel.lezcano@linaro.org>

description: |
  Thermal management is achieved in devicetree by describing the sensor hardware
  and the software abstraction of cooling devices and 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-zones.

  The polling-delay properties of a thermal-zone are bound to the maximum dT/dt
  (temperature derivative over time) in two situations for a thermal zone:
    1. when passive cooling is activated (polling-delay-passive)
    2. when the zone just needs to be monitored (polling-delay) or when
       active cooling is activated.

  The maximum dT/dt is highly bound to hardware power consumption and
  dissipation capability. The delays should be chosen to account for said
  max dT/dt, such that a device does not cross several trip boundaries
  unexpectedly between polls. Choosing the right polling delays shall avoid
  having the device in temperature ranges that may damage the silicon structures
  and reduce silicon lifetime.

properties:
  $nodename:
    const: thermal-zones
    description:
      A /thermal-zones node is required in order to use the thermal framework to
      manage input from the various thermal zones in the system in order to
      mitigate thermal overload conditions. It does not represent a real device
      in the system, but acts as a container to link a thermal sensor device,
      platform-data regarding temperature thresholds and the mitigation actions
      to take when the temperature crosses those thresholds.

patternProperties:
  # Node name is limited in size due to Linux kernel requirements - 19
  # characters in total (see THERMAL_NAME_LENGTH, including terminating NUL
  # byte):
  "^[a-zA-Z][a-zA-Z0-9\\-]{1,10}-thermal$":
    type: object
    description:
      Each thermal zone node contains information about how frequently it
      must be checked, the sensor responsible for reporting temperature for
      this zone, one sub-node containing the various trip points for this
      zone and one sub-node containing all the zone cooling-maps.

    properties:
      polling-delay:
        $ref: /schemas/types.yaml#/definitions/uint32
        description:
          The maximum number of milliseconds to wait between polls when
          checking this thermal zone. Setting this to 0 disables the polling
          timers setup by the thermal framework and assumes that the thermal
          sensors in this zone support interrupts.

Annotation

Implementation Notes