freebsd-dev/sys/dev/spibus
Val Packett 3c08673438 spibus: extend API: add cs_delay ivar, KEEP_CS and NO_SLEEP flags
These feature are required for an upcoming Apple MacBook topcase
(HID over SPI) driver:

A delay after toggling CS is required to avoid 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.)

Sleep is not allowed in the interrupt context where the Apple input
driver runs its transactions. Use a flag to tell the SPI driver to
avoid mtx_sleep.

Reviewed by:	manu (ok to SPI part of larger patch)
MFC afret:	1 month
Differential revision:	https://reviews.freebsd.org/D29534
2023-04-24 12:41:52 +03:00
..
ofw_spibus.c
spi.h spibus: extend API: add cs_delay ivar, KEEP_CS and NO_SLEEP flags 2023-04-24 12:41:52 +03:00
spibus_if.m
spibus.c spibus: extend API: add cs_delay ivar, KEEP_CS and NO_SLEEP flags 2023-04-24 12:41:52 +03:00
spibusvar.h spibus: extend API: add cs_delay ivar, KEEP_CS and NO_SLEEP flags 2023-04-24 12:41:52 +03:00
spigen.c