The driver so far has always disabled CRC protection. This means any data corruption that occurrs during the SPI transfers could go undetected. This patch adds module parameters enable_crc7 and enable_crc16 to selectively turn on CRC7 (for command transfers) and CRC16 (for data transfers), respectively. The default configuration remains unchanged, with both CRC7 and CRC16 off. The performance impact of CRC was measured by running ttcp -t four times in a row on a SAMA5 device: CRC7 CRC16 Throughput: Standard deviation: ---- ----- ----------- ------------------- off off 1720 +/- 48 KB/s on off 1658 +/- 58 KB/s on on 1579 +/- 84 KB/s 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-4-davidm@egauge.net
48 lines
1.9 KiB
Text
48 lines
1.9 KiB
Text
# SPDX-License-Identifier: GPL-2.0
|
|
config WILC1000
|
|
tristate
|
|
help
|
|
Add support for the Atmel WILC1000 802.11 b/g/n SoC.
|
|
This provides Wi-FI over an SDIO or SPI interface, and
|
|
is usually found in IoT devices.
|
|
|
|
This module only support IEEE 802.11n WiFi.
|
|
|
|
config WILC1000_SDIO
|
|
tristate "Atmel WILC1000 SDIO (WiFi only)"
|
|
depends on CFG80211 && INET && MMC
|
|
select WILC1000
|
|
help
|
|
This module adds support for the SDIO interface of adapters using
|
|
WILC1000 chipset. The Atmel WILC1000 SDIO is a full speed interface.
|
|
It meets SDIO card specification version 2.0. The interface supports
|
|
the 1-bit/4-bit SD transfer mode at the clock range of 0-50 MHz.
|
|
The host can use this interface to read and write from any register
|
|
within the chip as well as configure the WILC1000 for data DMA.
|
|
To use this interface, pin9 (SDIO_SPI_CFG) must be grounded. Select
|
|
this if your platform is using the SDIO bus.
|
|
|
|
config WILC1000_SPI
|
|
tristate "Atmel WILC1000 SPI (WiFi only)"
|
|
depends on CFG80211 && INET && SPI
|
|
select WILC1000
|
|
select CRC7
|
|
select CRC_ITU_T
|
|
help
|
|
This module adds support for the SPI interface of adapters using
|
|
WILC1000 chipset. The Atmel WILC1000 has a Serial Peripheral
|
|
Interface (SPI) that operates as a SPI slave. This SPI interface can
|
|
be used for control and for serial I/O of 802.11 data. The SPI is a
|
|
full-duplex slave synchronous serial interface that is available
|
|
immediately following reset when pin 9 (SDIO_SPI_CFG) is tied to
|
|
VDDIO. Select this if your platform is using the SPI bus.
|
|
|
|
config WILC1000_HW_OOB_INTR
|
|
bool "WILC1000 out of band interrupt"
|
|
depends on WILC1000_SDIO
|
|
help
|
|
This option enables out-of-band interrupt support for the WILC1000
|
|
chipset. This OOB interrupt is intended to provide a faster interrupt
|
|
mechanism for SDIO host controllers that don't support SDIO interrupt.
|
|
Select this option If the SDIO host controller in your platform
|
|
doesn't support SDIO time division interrupt.
|