wilc1000: Make SPI transfers work at 48MHz
authorDavid Mosberger-Tang <davidm@egauge.net>
Sat, 27 Feb 2021 17:29:14 +0000 (17:29 +0000)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 17 Apr 2021 17:47:16 +0000 (20:47 +0300)
commitf2131fa516b883841a593fc877dede57edd1ab0e
tree22e6462be657fe2e163ad4ea30a4bb384096e388
parentd23a962203531ab281f233fa6140cf66ed4fb69f
wilc1000: Make SPI transfers work at 48MHz

For CMD_SINGLE_READ and CMD_INTERNAL_READ, WILC may insert one or more
zero bytes between the command response and the DATA Start tag (0xf3).
This behavior appears to be undocumented in "ATWILC1000 USER GUIDE"
(https://tinyurl.com/4hhshdts) but we have observed 1-4 zero bytes
when the SPI bus operates at 48MHz and none when it operates at 1MHz.

This code is derived from the equivalent code of the wilc driver in
the linux-at91 repository.

Signed-off-by: David Mosberger-Tang <davidm@egauge.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210227172818.1711071-1-davidm@egauge.net
drivers/net/wireless/microchip/wilc1000/spi.c