On Tue, 10 Jun 2025, Sven Peter wrote:
The System Management Controller (SMC) on Apple Silicon machines is a
piece of hardware that exposes various functionalities such as
temperature sensors, voltage/power meters, shutdown/reboot handling,
GPIOs and more.
Communication happens via a shared mailbox using the RTKit protocol
which is also used for other co-processors. The SMC protocol then allows
reading and writing many different keys which implement the various
features. The MFD core device handles this protocol and exposes it
to the sub-devices.
Some of the sub-devices are potentially also useful on pre-M1 Apple
machines and support for SMCs on these machines can be added at a later
time.
Co-developed-by: Hector Martin <marcan@xxxxxxxxx>
Signed-off-by: Hector Martin <marcan@xxxxxxxxx>
Reviewed-by: Alyssa Rosenzweig <alyssa@xxxxxxxxxxxxx>
Reviewed-by: Neal Gompa <neal@xxxxxxxxx>
Signed-off-by: Sven Peter <sven@xxxxxxxxxx>
---
MAINTAINERS | 2 +
drivers/mfd/Kconfig | 18 ++
drivers/mfd/Makefile | 1 +
drivers/mfd/macsmc.c | 498 +++++++++++++++++++++++++++++++++++++++++++++
include/linux/mfd/macsmc.h | 279 +++++++++++++++++++++++++
5 files changed, 798 insertions(+)
This is ready. Let me know when you have all of the other driver/* Acks.