The Apple MacBook input devices require a delay after toggling CS when working at the correct frequency, otherwise you can see anomalies e.g. an extra junk byte in front of the message.se features are required for an upcoming Apple MacBook topcase (HID over SPI) driver:
Add a new ivarA delay after toggling CS is required to spibus to allow the input driver to set a delayavoid anomalies like an extra junk byte in front of the message.
Keeping CS asserted is required to be able to read a status report after writing a command.
(The device won't return the status if CS was deasserted.)
---
I'm not sure if I should try to blindly add support for this into all other SPI controller drivers or whatever…For reference, OpenBSD doing the same:
https://github.com/openbsd/src/commit/fe92277574533ee44bdcd49cfe822a8841b6a825
---
TODO: add this blindly to all SPI controller drivers?