1*c9e66025SJames Calligeros# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*c9e66025SJames Calligeros%YAML 1.2 3*c9e66025SJames Calligeros--- 4*c9e66025SJames Calligeros$id: http://devicetree.org/schemas/hwmon/apple,smc-hwmon.yaml# 5*c9e66025SJames Calligeros$schema: http://devicetree.org/meta-schemas/core.yaml# 6*c9e66025SJames Calligeros 7*c9e66025SJames Calligerostitle: Apple SMC Hardware Monitoring 8*c9e66025SJames Calligeros 9*c9e66025SJames Calligerosdescription: 10*c9e66025SJames Calligeros Apple's System Management Controller (SMC) exposes a vast array of 11*c9e66025SJames Calligeros hardware monitoring sensors, including temperature probes, current and 12*c9e66025SJames Calligeros voltage sense, power meters, and fan speeds. It also provides endpoints 13*c9e66025SJames Calligeros to manually control the speed of each fan individually. Each Apple 14*c9e66025SJames Calligeros Silicon device exposes a different set of endpoints via SMC keys. This 15*c9e66025SJames Calligeros is true even when two machines share an SoC. The CPU core temperature 16*c9e66025SJames Calligeros sensor keys on an M1 Mac mini are different to those on an M1 MacBook 17*c9e66025SJames Calligeros Pro, for example. 18*c9e66025SJames Calligeros 19*c9e66025SJames Calligerosmaintainers: 20*c9e66025SJames Calligeros - James Calligeros <jcalligeros99@gmail.com> 21*c9e66025SJames Calligeros 22*c9e66025SJames Calligeros$defs: 23*c9e66025SJames Calligeros sensor: 24*c9e66025SJames Calligeros type: object 25*c9e66025SJames Calligeros 26*c9e66025SJames Calligeros properties: 27*c9e66025SJames Calligeros apple,key-id: 28*c9e66025SJames Calligeros $ref: /schemas/types.yaml#/definitions/string 29*c9e66025SJames Calligeros pattern: "^[A-Za-z0-9]{4}$" 30*c9e66025SJames Calligeros description: The SMC FourCC key of the desired sensor. 31*c9e66025SJames Calligeros Must match the node's suffix. 32*c9e66025SJames Calligeros 33*c9e66025SJames Calligeros label: 34*c9e66025SJames Calligeros description: Human-readable name for the sensor 35*c9e66025SJames Calligeros 36*c9e66025SJames Calligeros required: 37*c9e66025SJames Calligeros - apple,key-id 38*c9e66025SJames Calligeros 39*c9e66025SJames Calligerosproperties: 40*c9e66025SJames Calligeros compatible: 41*c9e66025SJames Calligeros const: apple,smc-hwmon 42*c9e66025SJames Calligeros 43*c9e66025SJames CalligerospatternProperties: 44*c9e66025SJames Calligeros "^current-[A-Za-z0-9]{4}$": 45*c9e66025SJames Calligeros $ref: "#/$defs/sensor" 46*c9e66025SJames Calligeros unevaluatedProperties: false 47*c9e66025SJames Calligeros 48*c9e66025SJames Calligeros "^fan-[A-Za-z0-9]{4}$": 49*c9e66025SJames Calligeros $ref: "#/$defs/sensor" 50*c9e66025SJames Calligeros unevaluatedProperties: false 51*c9e66025SJames Calligeros 52*c9e66025SJames Calligeros properties: 53*c9e66025SJames Calligeros apple,fan-minimum: 54*c9e66025SJames Calligeros $ref: /schemas/types.yaml#/definitions/string 55*c9e66025SJames Calligeros pattern: "^[A-Za-z0-9]{4}$" 56*c9e66025SJames Calligeros description: SMC key containing the fan's minimum speed 57*c9e66025SJames Calligeros 58*c9e66025SJames Calligeros apple,fan-maximum: 59*c9e66025SJames Calligeros $ref: /schemas/types.yaml#/definitions/string 60*c9e66025SJames Calligeros pattern: "^[A-Za-z0-9]{4}$" 61*c9e66025SJames Calligeros description: SMC key containing the fan's maximum speed 62*c9e66025SJames Calligeros 63*c9e66025SJames Calligeros apple,fan-target: 64*c9e66025SJames Calligeros $ref: /schemas/types.yaml#/definitions/string 65*c9e66025SJames Calligeros pattern: "^[A-Za-z0-9]{4}$" 66*c9e66025SJames Calligeros description: Writeable endpoint for setting desired fan speed 67*c9e66025SJames Calligeros 68*c9e66025SJames Calligeros apple,fan-mode: 69*c9e66025SJames Calligeros $ref: /schemas/types.yaml#/definitions/string 70*c9e66025SJames Calligeros pattern: "^[A-Za-z0-9]{4}$" 71*c9e66025SJames Calligeros description: Writeable key to enable/disable manual fan control 72*c9e66025SJames Calligeros 73*c9e66025SJames Calligeros "^power-[A-Za-z0-9]{4}$": 74*c9e66025SJames Calligeros $ref: "#/$defs/sensor" 75*c9e66025SJames Calligeros unevaluatedProperties: false 76*c9e66025SJames Calligeros 77*c9e66025SJames Calligeros "^temperature-[A-Za-z0-9]{4}$": 78*c9e66025SJames Calligeros $ref: "#/$defs/sensor" 79*c9e66025SJames Calligeros unevaluatedProperties: false 80*c9e66025SJames Calligeros 81*c9e66025SJames Calligeros "^voltage-[A-Za-z0-9]{4}$": 82*c9e66025SJames Calligeros $ref: "#/$defs/sensor" 83*c9e66025SJames Calligeros unevaluatedProperties: false 84*c9e66025SJames Calligeros 85*c9e66025SJames CalligerosadditionalProperties: false 86