# 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 $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}$" description: Writeable key to enable/disable manual fan control "^power-[A-Za-z0-9]{4}$": $ref: "#/$defs/sensor" unevaluatedProperties: false "^temperature-[A-Za-z0-9]{4}$": $ref: "#/$defs/sensor" unevaluatedProperties: false "^voltage-[A-Za-z0-9]{4}$": $ref: "#/$defs/sensor" unevaluatedProperties: false additionalProperties: false