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 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 | 463 +++++++++++++++++++++ 9 files changed, 632 insertions(+) --- base-commit: b62cef9a5c673f1b8083159f5dc03c1c5daced2f change-id: 20241124-z2-c012b528ea0d