mirror of
https://github.com/apache/nuttx.git
synced 2026-03-26 18:23:50 +08:00
Many third-party CC1101 modules (such as those populated on the Evil Crow RF V2) feature clone silicon that hardcodes the VERSION register to 0x00 instead of the official 0x14. Previously, the cc1101_checkpart() function strictly enforced VERSION == 0x14, which caused cc1101_register() to return -ENODEV (-19) and abort initialization on these compatible modules. This commit introduces the CONFIG_WL_CC1101_IGNORE_VERSION Kconfig option. - When disabled (default), the driver maintains strict official silicon validation. This preserves the diagnostic ability to catch hardware faults, such as a MISO line shorted to GND (which also reads as 0x00). - When enabled, the driver explicitly permits VERSION == 0x00, allowing successful initialization and interoperability with clone chips while printing a warning to the syslog. Signed-off-by: Chip L. <chplee@gmail.com>
174 lines
4.1 KiB
Plaintext
174 lines
4.1 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
menuconfig DRIVERS_WIRELESS
|
|
bool "Wireless Device Support"
|
|
default n
|
|
---help---
|
|
Drivers for various wireless devices.
|
|
|
|
if DRIVERS_WIRELESS
|
|
|
|
config WL_CC1101
|
|
bool "CC1101 RF transceiver support"
|
|
default n
|
|
select SPI
|
|
select SCHED_HPWORK
|
|
|
|
if WL_CC1101
|
|
|
|
config CC1101_SPIDEV
|
|
int "SPI bus number"
|
|
default 2
|
|
---help---
|
|
Selects the SPI bus number identifying that SPI interface that
|
|
connects the CC1101 to the MCU.
|
|
|
|
endif
|
|
|
|
config WL_CC1101_IGNORE_VERSION
|
|
bool "Ignore CC1101 Version Check (Allow Clone Chips)"
|
|
default n
|
|
depends on WL_CC1101
|
|
---help---
|
|
Some third-party CC1101 clone silicon hardcodes the VERSION
|
|
register to 0x00. Enabling this option bypasses the strict
|
|
version verification, allowing these compatible chips to
|
|
initialize.
|
|
|
|
Warning: Enabling this may cause false-positives if the SPI
|
|
MISO line is shorted to GND.
|
|
|
|
config WL_GS2200M
|
|
bool "Telit GS2200M Wi-Fi support"
|
|
default n
|
|
select SPI
|
|
select LIBC_SCANSET
|
|
select SCHED_LPWORK
|
|
select DRIVERS_IEEE80211
|
|
select NFS_DONT_BIND_TCP_SOCKET if NFS && NET_TCP
|
|
|
|
if WL_GS2200M
|
|
|
|
config WL_GS2200M_ENABLE_WEP
|
|
bool "WEP support in AP mode"
|
|
default false
|
|
|
|
config WL_GS2200M_SPI_FREQUENCY
|
|
int "SPI frequency for GS2200M"
|
|
default 4000000
|
|
range 4000000 10000000
|
|
|
|
config WL_GS2200M_DISABLE_DHCPC
|
|
bool "Disable the internal dhcp client"
|
|
default n
|
|
|
|
config WL_GS2200M_CHECK_VERSION
|
|
bool "Check the version of GS2200M"
|
|
default n
|
|
|
|
config WL_GS2200M_SYNC_INTERVAL
|
|
int "Sync loss interval in station mode (100ms)"
|
|
default 100
|
|
range 1 63325
|
|
---help---
|
|
Time interval to recognize dis-association situation.
|
|
The value indicate n times of Wi-Fi beacon. If the node
|
|
lost receiving beacon n times, behave as dis-associtaion.
|
|
Time difference between 2 beacons are approximately 100 msec.
|
|
So the unit of the value is 100 ms.
|
|
|
|
config WL_GS2200M_LOGLEVEL
|
|
int "Log level"
|
|
default 0
|
|
range 0 2
|
|
---help---
|
|
The debug level of GS2200M. (AT+LOGLVL)
|
|
|
|
endif
|
|
|
|
source "drivers/wireless/spirit/Kconfig"
|
|
|
|
menuconfig DRIVERS_IEEE802154
|
|
bool "IEEE 802.15.4 Device Support"
|
|
default n
|
|
---help---
|
|
Select to enable building of IEEE802.15.4 device drivers.
|
|
|
|
source "drivers/wireless/ieee802154/Kconfig"
|
|
|
|
menuconfig DRIVERS_IEEE80211
|
|
bool "IEEE 802.11 Device Support"
|
|
default n
|
|
---help---
|
|
Select to enable building of IEEE802.11 device drivers.
|
|
|
|
source "drivers/wireless/ieee80211/Kconfig"
|
|
|
|
menuconfig DRIVERS_BLUETOOTH
|
|
bool "Bluetooth Device Support"
|
|
default n
|
|
---help---
|
|
Select to enable building of Bluetooth device drivers.
|
|
|
|
source "drivers/wireless/bluetooth/Kconfig"
|
|
|
|
menuconfig DRIVERS_LPWAN
|
|
bool "LPWAN Device Support"
|
|
default n
|
|
---help---
|
|
Select to enable building of LPWAN device drivers.
|
|
|
|
source "drivers/wireless/lpwan/Kconfig"
|
|
|
|
config WL_NRF24L01
|
|
bool "nRF24l01+ transceiver support"
|
|
default n
|
|
select SPI
|
|
---help---
|
|
This options adds driver support for the Nordic nRF24L01+ chip.
|
|
|
|
if WL_NRF24L01
|
|
|
|
config WL_NRF24L01_DFLT_ADDR_WIDTH
|
|
int "Default address width"
|
|
default 5
|
|
range 3 5
|
|
---help---
|
|
Default address width to be used by the nRF24l01+ driver.
|
|
Note that this default can be changed through the driver API.
|
|
|
|
config WL_NRF24L01_CHECK_PARAMS
|
|
bool "Check call parameters"
|
|
default y
|
|
---help---
|
|
This option adds some sanity check code to parameters given in the
|
|
driver API functions. If this option is disabled, parameter
|
|
values are passed 'as is' to the module hardware registers.
|
|
|
|
config WL_NRF24L01_RXSUPPORT
|
|
bool "Support messages reception"
|
|
default y
|
|
---help---
|
|
If this option is disabled the driver supports only the transmission of messages.
|
|
Reception of messages will be disabled (and corresponding functions removed).
|
|
Note: this option is intended to reduce driver code size for 'transmission
|
|
only' devices.
|
|
|
|
if WL_NRF24L01_RXSUPPORT
|
|
|
|
config WL_NRF24L01_RXFIFO_LEN
|
|
int "RX fifo length"
|
|
default 128
|
|
range 34 2048
|
|
---help---
|
|
Length of the software based fifo used to store content of
|
|
received messages.
|
|
|
|
endif # WL_NRF24L01_RXSUPPORT
|
|
endif # WL_NRF24L01
|
|
|
|
endif # DRIVERS_WIRELESS
|