This series adds support for the official keyboard case for the Pine64 PinePhone and PinePhone Pro. This accessory contains a keyboard MCU and an IP5209 power bank IC. The keyboard MCU firmware[0] is free software. It exposes the keyboard scan matrix over I2C, and also provides commands for SMBus access to the IP5209. In order to keep the IP5209 driver (CONFIG_IP5XXX_POWER) generic, this is modeled as a child I2C bus. [0]: https://megous.com/git/pinephone-keyboard/about/ Changes in v4: - Rebase to resolve MAINTAINERS merge conflict - Add missing newlines in error messages Changes in v3: - Replace unevaluatedProperties with additionalProperties - Rename i2c-bus to i2c - Rename i2c-bus to i2c Changes in v2: - Drop keymap DT properties - Add vbat-supply property - Fix missing key release events when FN state changes - Add VBAT consumer to ensure enough power is available for the MCU - Use a single fixed-size, fixed-contents keymap for both layers Samuel Holland (4): dt-bindings: input: Add the PinePhone keyboard binding Input: pinephone-keyboard - Add PinePhone keyboard driver Input: pinephone-keyboard - Support the proxied I2C bus [DO NOT MERGE] arm64: dts: allwinner: pinephone: Add keyboard .../input/pine64,pinephone-keyboard.yaml | 66 +++ MAINTAINERS | 6 + .../dts/allwinner/sun50i-a64-pinephone.dtsi | 18 + drivers/input/keyboard/Kconfig | 10 + drivers/input/keyboard/Makefile | 1 + drivers/input/keyboard/pinephone-keyboard.c | 438 ++++++++++++++++++ 6 files changed, 539 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/pine64,pinephone-keyboard.yaml create mode 100644 drivers/input/keyboard/pinephone-keyboard.c -- 2.35.1