Skip to content

Commit 4cf4dd2

Browse files
chadmedjannau
authored andcommitted
hwmon: add macsmc-hwmon driver
Apple Silicon devices, particularly Macs, continue Apple's tradition of integrating a ridiculous number of sensors on their products. Most of these report to the System Management Controller, and their data is exposed by the SMC firmware as simple key-value pairs. This commit adds an hwmon drive for retrieving the data reported by the temperature, voltage, current and power sensors, as well as fan data. Devices each expose their own unique set of sensors and fans, even with the SMC being baked into the SoC. This driver walks a devicetree node in order to discover the sensors present on the current device at runtime. Co-developed-by: Janne Grunau <j@jannau.net> Signed-off-by: Janne Grunau <j@jannau.net> Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
1 parent b83cc75 commit 4cf4dd2

5 files changed

Lines changed: 649 additions & 0 deletions

File tree

MAINTAINERS

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2307,6 +2307,15 @@ F: include/dt-bindings/interrupt-controller/apple-aic.h
23072307
F: include/dt-bindings/pinctrl/apple.h
23082308
F: include/linux/soc/apple/*
23092309

2310+
ARM/APPLE SMC HWMON DRIVER
2311+
M: James Calligeros <jcalligeros99@gmail.com>
2312+
L: asahi@lists.linux.dev
2313+
S: Maintained
2314+
W: https://asahilinux.org
2315+
B: https://github.com/AsahiLinux/linux/issues
2316+
C: irc://irc.oftc.net/asahi-dev
2317+
F: drivers/hwmon/macsmc-hwmon.c
2318+
23102319
ARM/ARTPEC MACHINE SUPPORT
23112320
M: Jesper Nilsson <jesper.nilsson@axis.com>
23122321
M: Lars Persson <lars.persson@axis.com>

drivers/hwmon/Kconfig

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1601,6 +1601,19 @@ config SENSORS_LM95245
16011601
This driver can also be built as a module. If so, the module
16021602
will be called lm95245.
16031603

1604+
config SENSORS_MACSMC
1605+
tristate "Apple SMC (Apple Silicon)"
1606+
depends on APPLE_SMC && OF
1607+
depends on ARCH_APPLE && ARM64
1608+
help
1609+
This driver exposes the temperature, voltage, current, power, and fan
1610+
sensors present on Apple Silicon devices, such as the M-series Macs.
1611+
1612+
Say Y here if you have an Apple Silicon device.
1613+
1614+
This driver can also be built as a module. If so, the module will be called
1615+
macsmc_hwmon.
1616+
16041617
config SENSORS_PC87360
16051618
tristate "National Semiconductor PC87360 family"
16061619
depends on HAS_IOPORT

drivers/hwmon/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ obj-$(CONFIG_SENSORS_LTC4260) += ltc4260.o
145145
obj-$(CONFIG_SENSORS_LTC4261) += ltc4261.o
146146
obj-$(CONFIG_SENSORS_LTC4282) += ltc4282.o
147147
obj-$(CONFIG_SENSORS_LTQ_CPUTEMP) += ltq-cputemp.o
148+
obj-$(CONFIG_SENSORS_MACSMC) += macsmc-hwmon.o
148149
obj-$(CONFIG_SENSORS_MAX1111) += max1111.o
149150
obj-$(CONFIG_SENSORS_MAX127) += max127.o
150151
obj-$(CONFIG_SENSORS_MAX16065) += max16065.o

0 commit comments

Comments
 (0)