Documentation/devicetree/bindings/hwmon/apple,smc-hwmon.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/hwmon/apple,smc-hwmon.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/hwmon/apple,smc-hwmon.yaml
Extension
.yaml
Size
2497 bytes
Lines
86
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-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/apple,smc-hwmon.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple SMC Hardware Monitoring

description:
  Apple's System Management Controller (SMC) exposes a vast array of
  hardware monitoring sensors, including temperature probes, current and
  voltage sense, power meters, and fan speeds. It also provides endpoints
  to manually control the speed of each fan individually. Each Apple
  Silicon device exposes a different set of endpoints via SMC keys. This
  is true even when two machines share an SoC. The CPU core temperature
  sensor keys on an M1 Mac mini are different to those on an M1 MacBook
  Pro, for example.

maintainers:
  - James Calligeros <jcalligeros99@gmail.com>

$defs:
  sensor:
    type: object

    properties:
      apple,key-id:
        $ref: /schemas/types.yaml#/definitions/string
        pattern: "^[A-Za-z0-9]{4}$"
        description: The SMC FourCC key of the desired sensor.
          Must match the node's suffix.

      label:
        description: Human-readable name for the sensor

    required:
      - apple,key-id

properties:
  compatible:
    const: apple,smc-hwmon

patternProperties:
  "^current-[A-Za-z0-9]{4}$":
    $ref: "#/$defs/sensor"
    unevaluatedProperties: false

  "^fan-[A-Za-z0-9]{4}$":
    $ref: "#/$defs/sensor"
    unevaluatedProperties: false

    properties:
      apple,fan-minimum:
        $ref: /schemas/types.yaml#/definitions/string
        pattern: "^[A-Za-z0-9]{4}$"
        description: SMC key containing the fan's minimum speed

      apple,fan-maximum:
        $ref: /schemas/types.yaml#/definitions/string
        pattern: "^[A-Za-z0-9]{4}$"
        description: SMC key containing the fan's maximum speed

      apple,fan-target:
        $ref: /schemas/types.yaml#/definitions/string
        pattern: "^[A-Za-z0-9]{4}$"
        description: Writeable endpoint for setting desired fan speed

      apple,fan-mode:
        $ref: /schemas/types.yaml#/definitions/string
        pattern: "^[A-Za-z0-9]{4}$"

Annotation

Implementation Notes