gpio: Add new gpio-macsmc driver for Apple Macs
authorHector Martin <marcan@marcan.st>
Fri, 4 Feb 2022 03:52:52 +0000 (12:52 +0900)
committerHector Martin <marcan@marcan.st>
Tue, 15 Feb 2022 09:59:32 +0000 (18:59 +0900)
commitee6ad91407674e0099c663e55818677e73fc0e2e
tree0e0d74b6f1f1a14940794536fee01a4eef9bdb93
parent63615eb2a0f68ad3d05cf48ccf0771dd613e1f44
gpio: Add new gpio-macsmc driver for Apple Macs

This driver implements the GPIO service on top of the SMC framework
on Apple Mac machines. In particular, these are the GPIOs present in the
PMU IC which are used to control power to certain on-board devices.

Although the underlying hardware supports various pin config settings
(input/output, open drain, etc.), this driver does not implement that
functionality and leaves it up to the firmware to configure things
properly. We also don't yet support interrupts/events. This is
sufficient for device power control, which is the only thing we need to
support at this point. More features will be implemented when needed.

To our knowledge, only Apple Silicon Macs implement this SMC feature.

Signed-off-by: Hector Martin <marcan@marcan.st>
drivers/gpio/Kconfig
drivers/gpio/Makefile
drivers/gpio/gpio-macsmc.c [new file with mode: 0644]