Volume buttons seem to be handled via the (mostly) standard Surface MSHW0040 GPIO button device. Unfortunately, this does not seem to include the power button. A pin map is provided below:
Note: GPIO indexing on PMC8180A is one-based in DT. Pins translate to ACPI as DT + 0x80 - 1. The power button seems to either have an invalid index to be ignored/skipped (0x00) or this value indicates some special other pin. Implementation for the power button will therefore be tracked in another issue.
Volume buttons seem to be handled via the (mostly) standard Surface
MSHW0040
GPIO button device. Unfortunately, this does not seem to include the power button. A pin map is provided below:Note: GPIO indexing on PMC8180A is one-based in DT. Pins translate to ACPI as
DT + 0x80 - 1
. The power button seems to either have an invalid index to be ignored/skipped (0x00
) or this value indicates some special other pin. Implementation for the power button will therefore be tracked in another issue.Implementation should only require adding the respective DT entries. See https://www.kernel.org/doc/Documentation/devicetree/bindings/input/gpio-keys.txt for details.