Support for Volume Buttons
qzed opened this issue · comments
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:
VOL_DOWN PMC8180A pin 1 (ACPI 0x80)
VOL_UP PMC8180A pin 6 (ACPI 0x85)
PWR PMC8180A pin ? (ACPI 0x00)
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.
Support for volume buttons has been implemented in linux-surface/kernel@1cbacc6.