[PATCH v4 0/4] Driver for Apple Z2 touchscreens.

From: Sasha Finkelstein via B4 Relay
Date: Wed Jan 15 2025 - 17:46:34 EST


Hi.

This series adds support for Apple touchscreens using the Z2 protocol.
Those are used as the primary touchscreen on mobile Apple devices, and for the
touchbar on laptops using the M-series chips. (T1/T2 laptops have a coprocessor
in charge of speaking Z2 to the touchbar).

Originally sent as a RFC at https://lore.kernel.org/all/20230223-z2-for-ml-v1-0-028f2b85dc15@xxxxxxxxx/
The changes since then mostly address the review feedback, but also
add another machine that has this specific controller.

Signed-off-by: Sasha Finkelstein <fnkl.kernel@xxxxxxxxx>
---
Changes in v4:
- Dropped another allocation, other fixes.
- Link to v3: https://lore.kernel.org/r/20250112-z2-v3-0-5c0e555d3df1@xxxxxxxxx

Changes in v3:
- Tx/Rx buffers used in interrupt handler are now allocated in probe and reused
- Other various style fixes
- Link to v2: https://lore.kernel.org/r/20241128-z2-v2-0-76cc59bbf117@xxxxxxxxx

Changes in v2:
- In a separate patch, fixed an issue that prevented the SPI controller
from using GPIO CS, and as such, moved the hardware quirk to there
- Went back to uploading the firmware in probe() instad of open()
- Other changes addressing the review feedback
- Link to v1: https://lore.kernel.org/r/20241126-z2-v1-0-c43c4cc6200d@xxxxxxxxx

---
Sasha Finkelstein (4):
dt-bindings: input: touchscreen: Add Z2 controller
input: apple_z2: Add a driver for Apple Z2 touchscreens
arm64: dts: apple: Add touchbar digitizer nodes
MAINTAINERS: Add entries for Apple Z2 touchscreen driver

.../input/touchscreen/apple,z2-multitouch.yaml | 70 ++++
MAINTAINERS | 2 +
arch/arm64/boot/dts/apple/t8103-j293.dts | 27 ++
arch/arm64/boot/dts/apple/t8103.dtsi | 19 +
arch/arm64/boot/dts/apple/t8112-j493.dts | 23 ++
arch/arm64/boot/dts/apple/t8112.dtsi | 14 +
drivers/input/touchscreen/Kconfig | 13 +
drivers/input/touchscreen/Makefile | 1 +
drivers/input/touchscreen/apple_z2.c | 454 +++++++++++++++++++++
9 files changed, 623 insertions(+)
---
base-commit: b62cef9a5c673f1b8083159f5dc03c1c5daced2f
change-id: 20241124-z2-c012b528ea0d