671 lines
19 KiB
Text
671 lines
19 KiB
Text
|
# Nordic Wi-Fi driver for nRF70 series SoCs
|
||
|
#
|
||
|
# Copyright (c) 2024 Nordic Semiconductor
|
||
|
#
|
||
|
# SPDX-License-Identifier: Apache-2.0
|
||
|
#
|
||
|
|
||
|
menuconfig WIFI_NRF70
|
||
|
bool "nRF70 driver"
|
||
|
select NET_L2_WIFI_MGMT if NETWORKING
|
||
|
select NET_L2_ETHERNET_MGMT if NETWORKING && NET_L2_ETHERNET
|
||
|
select WIFI_USE_NATIVE_NETWORKING if NETWORKING
|
||
|
select EXPERIMENTAL if !SOC_SERIES_NRF53X && !SOC_SERIES_NRF91X
|
||
|
default y
|
||
|
depends on \
|
||
|
DT_HAS_NORDIC_NRF7002_SPI_ENABLED || DT_HAS_NORDIC_NRF7002_QSPI_ENABLED || \
|
||
|
DT_HAS_NORDIC_NRF7001_SPI_ENABLED || DT_HAS_NORDIC_NRF7001_QSPI_ENABLED || \
|
||
|
DT_HAS_NORDIC_NRF7000_SPI_ENABLED || DT_HAS_NORDIC_NRF7000_QSPI_ENABLED
|
||
|
help
|
||
|
Nordic Wi-Fi Driver
|
||
|
|
||
|
if WIFI_NRF70
|
||
|
# Hidden symbols for internal use
|
||
|
config WIFI_NRF7002
|
||
|
bool
|
||
|
default y if DT_HAS_NORDIC_NRF7002_SPI_ENABLED || DT_HAS_NORDIC_NRF7002_QSPI_ENABLED
|
||
|
|
||
|
config WIFI_NRF7001
|
||
|
bool
|
||
|
default y if DT_HAS_NORDIC_NRF7001_SPI_ENABLED || DT_HAS_NORDIC_NRF7001_QSPI_ENABLED
|
||
|
|
||
|
config WIFI_NRF7000
|
||
|
bool
|
||
|
default y if DT_HAS_NORDIC_NRF7000_SPI_ENABLED || DT_HAS_NORDIC_NRF7000_QSPI_ENABLED
|
||
|
|
||
|
|
||
|
module = WIFI_NRF70_BUS
|
||
|
module-dep = LOG
|
||
|
module-str = Log level for Wi-Fi nRF70 bus layers
|
||
|
module-help = Sets log level for Wi-Fi nRF70 bus layers
|
||
|
source "subsys/net/Kconfig.template.log_config.net"
|
||
|
|
||
|
config WIFI_NRF70_BUS_LOG_LEVEL
|
||
|
# Enable error by default
|
||
|
default 1
|
||
|
|
||
|
choice NRF70_OPER_MODES
|
||
|
bool "nRF70 operating modes"
|
||
|
default NRF70_SYSTEM_WITH_RAW_MODES if !WIFI_NRF7000 && \
|
||
|
(NRF70_RAW_DATA_TX || NRF70_RAW_DATA_RX || NRF70_PROMISC_DATA_RX)
|
||
|
default NRF70_SYSTEM_MODE if !WIFI_NRF7000
|
||
|
default NRF70_SCAN_ONLY if WIFI_NRF7000
|
||
|
help
|
||
|
Select the operating mode of the nRF70 driver
|
||
|
|
||
|
config NRF70_SYSTEM_MODE
|
||
|
bool "nRF70 system mode"
|
||
|
depends on WIFI_NRF7002 || WIFI_NRF7001
|
||
|
select WIFI_NM_WPA_SUPPLICANT
|
||
|
help
|
||
|
Select this option to enable system mode of the nRF70 driver
|
||
|
|
||
|
config NRF70_SCAN_ONLY
|
||
|
bool "nRF70 scan only mode"
|
||
|
depends on WIFI_NRF7000
|
||
|
help
|
||
|
Select this option to enable scan only mode of the nRF70 driver
|
||
|
|
||
|
config NRF70_RADIO_TEST
|
||
|
bool "Radio test mode of the nRF70 driver"
|
||
|
|
||
|
config NRF70_SYSTEM_WITH_RAW_MODES
|
||
|
bool "nRF70 system mode with raw modes"
|
||
|
depends on WIFI_NRF7002 || WIFI_NRF7001
|
||
|
select WIFI_NM_WPA_SUPPLICANT
|
||
|
help
|
||
|
Select this option to enable system mode of the nRF70 driver with raw modes
|
||
|
|
||
|
endchoice
|
||
|
|
||
|
config NET_L2_ETHERNET
|
||
|
default y if !NRF70_RADIO_TEST
|
||
|
|
||
|
config HEAP_MEM_POOL_ADD_SIZE_NRF70
|
||
|
# Use a maximum that works for typical usecases and boards, each sample/app can override
|
||
|
# this value if needed by using CONFIG_HEAP_MEM_POOL_IGNORE_MIN
|
||
|
def_int 25000 if NRF70_SCAN_ONLY
|
||
|
def_int 150000
|
||
|
|
||
|
if NRF70_SYSTEM_MODE || NRF70_SYSTEM_WITH_RAW_MODES
|
||
|
config NRF70_STA_MODE
|
||
|
bool "nRF70 STA mode"
|
||
|
default y
|
||
|
help
|
||
|
Select this option to enable STA mode of the nRF70 driver
|
||
|
|
||
|
config NRF70_AP_MODE
|
||
|
bool "Access point mode"
|
||
|
depends on WIFI_NM_WPA_SUPPLICANT_AP
|
||
|
|
||
|
config NRF70_P2P_MODE
|
||
|
bool "P2P support in driver"
|
||
|
endif # NRF70_SYSTEM_MODE || NRF70_SYSTEM_WITH_RAW_MODES
|
||
|
|
||
|
config NRF70_RAW_DATA_TX
|
||
|
bool "RAW TX data path in the driver"
|
||
|
select EXPERIMENTAL
|
||
|
|
||
|
config NRF70_RAW_DATA_RX
|
||
|
bool "RAW RX sniffer operation in the driver"
|
||
|
select EXPERIMENTAL
|
||
|
|
||
|
config NRF70_PROMISC_DATA_RX
|
||
|
bool "promiscuous RX sniffer operation in the driver"
|
||
|
select WIFI_NM_WPA_SUPPLICANT
|
||
|
select EXPERIMENTAL
|
||
|
select NET_PROMISCUOUS_MODE
|
||
|
|
||
|
config NRF70_DATA_TX
|
||
|
bool "TX data path in the driver"
|
||
|
default y if NRF70_SYSTEM_MODE || NRF70_SYSTEM_WITH_RAW_MODES
|
||
|
|
||
|
config NRF_WIFI_IF_AUTO_START
|
||
|
bool "Wi-Fi interface auto start on boot"
|
||
|
default y
|
||
|
|
||
|
config NRF_WIFI_PATCHES_BUILTIN
|
||
|
bool "Store nRF70 FW patches as part of the driver"
|
||
|
default y
|
||
|
help
|
||
|
Select this option to store nRF70 FW patches as part of the driver.
|
||
|
This option impacts the code memory footprint of the driver.
|
||
|
|
||
|
config CUSTOM_LINKER_SCRIPT
|
||
|
string "Custom linker script for nRF70 FW patches"
|
||
|
default "${ZEPHYR_BASE}/../nrf/drivers/wifi/nrf70/rpu_fw_patches.ld"
|
||
|
|
||
|
config NRF_WIFI_LOW_POWER
|
||
|
bool "low power mode in nRF Wi-Fi chipsets"
|
||
|
default y
|
||
|
|
||
|
config NRF70_TCP_IP_CHECKSUM_OFFLOAD
|
||
|
bool "TCP/IP checksum offload"
|
||
|
default y
|
||
|
|
||
|
config NRF70_REG_DOMAIN
|
||
|
string "The ISO/IEC alpha2 country code for the country in which this device is currently operating. Default 00 (World regulatory)"
|
||
|
# 00 is used for World regulatory
|
||
|
default "00"
|
||
|
|
||
|
# Making calls to RPU from net_mgmt callbacks.
|
||
|
#
|
||
|
# If WPA supplicant is enabled, then don't override as it has higher
|
||
|
# stack requirements.
|
||
|
config NET_MGMT_EVENT_STACK_SIZE
|
||
|
default 2048 if !WIFI_NM_WPA_SUPPLICANT
|
||
|
|
||
|
config NRF70_LOG_VERBOSE
|
||
|
bool "Maintains the verbosity of information in logs"
|
||
|
default y
|
||
|
|
||
|
module = WIFI_NRF70
|
||
|
module-dep = LOG
|
||
|
module-str = Log level for Wi-Fi nRF70 driver
|
||
|
module-help = Sets log level for Wi-Fi nRF70 driver
|
||
|
source "subsys/logging/Kconfig.template.log_config"
|
||
|
|
||
|
config WIFI_NRF70_LOG_LEVEL
|
||
|
# Enable error by default
|
||
|
default 1
|
||
|
|
||
|
config NRF70_ON_QSPI
|
||
|
def_bool DT_HAS_NORDIC_NRF7002_QSPI_ENABLED || \
|
||
|
DT_HAS_NORDIC_NRF7001_QSPI_ENABLED || \
|
||
|
DT_HAS_NORDIC_NRF7000_QSPI_ENABLED
|
||
|
select NRFX_QSPI
|
||
|
|
||
|
config NRF70_ON_SPI
|
||
|
def_bool DT_HAS_NORDIC_NRF7002_SPI_ENABLED || \
|
||
|
DT_HAS_NORDIC_NRF7001_SPI_ENABLED || \
|
||
|
DT_HAS_NORDIC_NRF7000_SPI_ENABLED
|
||
|
select SPI
|
||
|
|
||
|
config NRF70_2_4G_ONLY
|
||
|
def_bool y if WIFI_NRF7001
|
||
|
|
||
|
# Wi-Fi and SR Coexistence Hardware configuration.
|
||
|
config NRF70_SR_COEX
|
||
|
bool "Wi-Fi and SR coexistence support"
|
||
|
|
||
|
config NRF70_SR_COEX_RF_SWITCH
|
||
|
bool "GPIO configuration to control SR side RF switch position"
|
||
|
|
||
|
config NRF70_WORKQ_STACK_SIZE
|
||
|
int "Stack size for workqueue"
|
||
|
default 4096
|
||
|
|
||
|
config NRF70_WORKQ_MAX_ITEMS
|
||
|
int "Maximum work items for all workqueues"
|
||
|
default 100
|
||
|
|
||
|
config NRF70_MAX_TX_PENDING_QLEN
|
||
|
int "Maximum number of pending TX packets"
|
||
|
default 18
|
||
|
|
||
|
config NRF70_UTIL
|
||
|
depends on SHELL
|
||
|
bool "Utility shell in nRF70 driver"
|
||
|
|
||
|
config NRF70_QSPI_LOW_POWER
|
||
|
bool "low power mode in QSPI"
|
||
|
default y if NRF_WIFI_LOW_POWER
|
||
|
|
||
|
config NRF70_PCB_LOSS_2G
|
||
|
int "PCB loss for 2.4 GHz band"
|
||
|
default 0
|
||
|
range 0 4
|
||
|
help
|
||
|
Specifies PCB loss from the antenna connector to the RF pin.
|
||
|
The values are in dB scale in steps of 1dB and range of 0-4dB.
|
||
|
The loss is considered in the RX path only.
|
||
|
|
||
|
config NRF70_PCB_LOSS_5G_BAND1
|
||
|
int "PCB loss for 5 GHz band (5150 MHz - 5350 MHz, Channel-32 - Channel-68)"
|
||
|
default 0
|
||
|
range 0 4
|
||
|
help
|
||
|
Specifies PCB loss from the antenna connector to the RF pin.
|
||
|
The values are in dB scale in steps of 1dB and range of 0-4dB.
|
||
|
The loss is considered in the RX path only.
|
||
|
|
||
|
config NRF70_PCB_LOSS_5G_BAND2
|
||
|
int "PCB loss for 5 GHz band (5470 MHz - 5730 MHz, Channel-96 - Channel-144)"
|
||
|
default 0
|
||
|
range 0 4
|
||
|
help
|
||
|
Specifies PCB loss from the antenna connector to the RF pin.
|
||
|
The values are in dB scale in steps of 1dB and range of 0-4dB.
|
||
|
The loss is considered in the RX path only.
|
||
|
|
||
|
config NRF70_PCB_LOSS_5G_BAND3
|
||
|
int "PCB loss for 5 GHz band (5730 MHz - 5895 MHz, Channel-149 - Channel-177)"
|
||
|
default 0
|
||
|
range 0 4
|
||
|
help
|
||
|
Specifies PCB loss from the antenna connector to the RF pin.
|
||
|
The values are in dB scale in steps of 1dB and range of 0-4dB.
|
||
|
The loss is considered in the RX path only.
|
||
|
|
||
|
config NRF70_ANT_GAIN_2G
|
||
|
int "Antenna gain for 2.4 GHz band"
|
||
|
default 0
|
||
|
range 0 6
|
||
|
|
||
|
config NRF70_ANT_GAIN_5G_BAND1
|
||
|
int "Antenna gain for 5 GHz band (5150 MHz - 5350 MHz)"
|
||
|
default 0
|
||
|
range 0 6
|
||
|
|
||
|
config NRF70_ANT_GAIN_5G_BAND2
|
||
|
int "Antenna gain for 5 GHz band (5470 MHz - 5730 MHz)"
|
||
|
default 0
|
||
|
range 0 6
|
||
|
|
||
|
config NRF70_ANT_GAIN_5G_BAND3
|
||
|
int "Antenna gain for 5 GHz band (5730 MHz - 5895 MHz)"
|
||
|
default 0
|
||
|
range 0 6
|
||
|
|
||
|
config NRF70_BAND_2G_LOWER_EDGE_BACKOFF_DSSS
|
||
|
int "DSSS Transmit power backoff (in dB) for lower edge of 2.4 GHz frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_2G_LOWER_EDGE_BACKOFF_HT
|
||
|
int "HT/VHT Transmit power backoff (in dB) for lower edge of 2.4 GHz frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_2G_LOWER_EDGE_BACKOFF_HE
|
||
|
int "HE Transmit power backoff (in dB) for lower edge of 2.4 GHz frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_2G_UPPER_EDGE_BACKOFF_DSSS
|
||
|
int "DSSS Transmit power backoff (in dB) for upper edge of 2.4 GHz frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_2G_UPPER_EDGE_BACKOFF_HT
|
||
|
int "HT/VHT Transmit power backoff (in dB) for upper edge of 2.4 GHz frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_2G_UPPER_EDGE_BACKOFF_HE
|
||
|
int "HE Transmit power backoff (in dB) for upper edge of 2.4 GHz frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_1_LOWER_EDGE_BACKOFF_HT
|
||
|
int "HT/VHT Transmit power backoff (in dB) for lower edge of UNII-1 frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_1_LOWER_EDGE_BACKOFF_HE
|
||
|
int "HE Transmit power backoff (in dB) for lower edge of UNII-1 frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_1_UPPER_EDGE_BACKOFF_HT
|
||
|
int "HT/VHT Transmit power backoff (in dB) for upper edge of UNII-1 frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_1_UPPER_EDGE_BACKOFF_HE
|
||
|
int "HE Transmit power backoff (in dB) for upper edge of UNII-1 frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_2A_LOWER_EDGE_BACKOFF_HT
|
||
|
int "HT/VHT Transmit power backoff (in dB) for lower edge of UNII-2A frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_2A_LOWER_EDGE_BACKOFF_HE
|
||
|
int "HE Transmit power backoff (in dB) for lower edge of UNII-2A frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_2A_UPPER_EDGE_BACKOFF_HT
|
||
|
int "HT/VHT Transmit power backoff (in dB) for upper edge of UNII-2A frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_2A_UPPER_EDGE_BACKOFF_HE
|
||
|
int "HE Transmit power backoff (in dB) for upper edge of UNII-2A frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_2C_LOWER_EDGE_BACKOFF_HT
|
||
|
int "HT/VHT Transmit power backoff (in dB) for lower edge of UNII-2C frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_2C_LOWER_EDGE_BACKOFF_HE
|
||
|
int "HE Transmit power backoff (in dB) for lower edge of UNII-2C frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_2C_UPPER_EDGE_BACKOFF_HT
|
||
|
int "HT/VHT Transmit power backoff (in dB) for upper edge of UNII-2C frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_2C_UPPER_EDGE_BACKOFF_HE
|
||
|
int "HE Transmit power backoff (in dB) for upper edge of UNII-2C frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_3_LOWER_EDGE_BACKOFF_HT
|
||
|
int "HT/VHT Transmit power backoff (in dB) for lower edge of UNII-3 frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_3_LOWER_EDGE_BACKOFF_HE
|
||
|
int "HE Transmit power backoff (in dB) for lower edge of UNII-3 frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_3_UPPER_EDGE_BACKOFF_HT
|
||
|
int "HT/VHT Transmit power backoff (in dB) for upper edge of UNII-3 frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_3_UPPER_EDGE_BACKOFF_HE
|
||
|
int "HE Transmit power backoff (in dB) for upper edge of UNII-3 frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_4_LOWER_EDGE_BACKOFF_HT
|
||
|
int "HT/VHT Transmit power backoff (in dB) for lower edge of UNII-4 frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_4_LOWER_EDGE_BACKOFF_HE
|
||
|
int "HE Transmit power backoff (in dB) for lower edge of UNII-4 frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_4_UPPER_EDGE_BACKOFF_HT
|
||
|
int "HT/VHT Transmit power backoff (in dB) for upper edge of UNII-4 frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
config NRF70_BAND_UNII_4_UPPER_EDGE_BACKOFF_HE
|
||
|
int "HE Transmit power backoff (in dB) for upper edge of UNII-4 frequency band"
|
||
|
default 0
|
||
|
range 0 10
|
||
|
|
||
|
# Performance fine tuning options
|
||
|
|
||
|
config NRF70_RX_NUM_BUFS
|
||
|
int "Number of RX buffers"
|
||
|
default 48
|
||
|
|
||
|
config NRF70_MAX_TX_AGGREGATION
|
||
|
int "Maximum number of TX packets to aggregate"
|
||
|
default 12
|
||
|
|
||
|
config NRF70_MAX_TX_TOKENS
|
||
|
int "Maximum number of TX tokens"
|
||
|
range 5 12 if !NRF70_RADIO_TEST
|
||
|
default 10
|
||
|
|
||
|
config NRF70_TX_MAX_DATA_SIZE
|
||
|
int "Maximum size of TX data"
|
||
|
default 1600
|
||
|
|
||
|
config NRF70_RX_MAX_DATA_SIZE
|
||
|
int "Maximum size of RX data"
|
||
|
default 1600
|
||
|
|
||
|
config NRF70_TX_DONE_WQ_ENABLED
|
||
|
bool "TX done workqueue (impacts performance negatively)"
|
||
|
|
||
|
config NRF70_RX_WQ_ENABLED
|
||
|
bool "RX workqueue"
|
||
|
|
||
|
# Use for IRQ processing (TODO: using for BH processing causes issues)
|
||
|
config NUM_METAIRQ_PRIORITIES
|
||
|
default 1
|
||
|
|
||
|
config NRF70_IRQ_WQ_PRIORITY
|
||
|
int "Priority of the workqueue for handling IRQs"
|
||
|
default -15
|
||
|
|
||
|
config NRF70_BH_WQ_PRIORITY
|
||
|
int "Priority of the workqueue for handling bottom half"
|
||
|
default 0
|
||
|
|
||
|
config NRF70_IRQ_WQ_STACK_SIZE
|
||
|
int "Stack size of the workqueue for handling IRQs"
|
||
|
default 2048
|
||
|
|
||
|
config NRF70_BH_WQ_STACK_SIZE
|
||
|
int "Stack size of the workqueue for handling bottom half"
|
||
|
default 2048
|
||
|
|
||
|
if NRF70_TX_DONE_WQ_ENABLED
|
||
|
config NRF70_TX_DONE_WQ_PRIORITY
|
||
|
int "Priority of the workqueue for handling TX done"
|
||
|
default 0
|
||
|
|
||
|
config NRF70_TX_DONE_WQ_STACK_SIZE
|
||
|
int "Stack size of the workqueue for handling TX done"
|
||
|
default 2048
|
||
|
endif # NRF70_TX_DONE_WQ_ENABLED
|
||
|
if NRF70_RX_WQ_ENABLED
|
||
|
config NRF70_RX_WQ_PRIORITY
|
||
|
int "Priority of the workqueue for handling RX"
|
||
|
default 0
|
||
|
|
||
|
config NRF70_RX_WQ_STACK_SIZE
|
||
|
int "Stack size of the workqueue for handling RX"
|
||
|
default 2048
|
||
|
endif # NRF70_RX_WQ_ENABLED
|
||
|
|
||
|
if NRF_WIFI_LOW_POWER
|
||
|
config NRF70_RPU_PS_IDLE_TIMEOUT_MS
|
||
|
int "RPU power save idle timeout in milliseconds"
|
||
|
default 10
|
||
|
|
||
|
config NRF70_RPU_EXTEND_TWT_SP
|
||
|
bool "extending TWT service period"
|
||
|
help
|
||
|
In case frames accepted before beginning of SP are not
|
||
|
transmitted before the SP completes then typically they are
|
||
|
dropped to conform to SP window as per specification i.e., no
|
||
|
transmission outside SP window.
|
||
|
|
||
|
This feature mitigates the frame loss by transmitting even after SP
|
||
|
completion by using standard contention mechanism which is allowed
|
||
|
in specification but not recommended. As the device is actively transmitting
|
||
|
beyond SP, the power consumption increases depending on the amount
|
||
|
of traffic available at the start of SP.
|
||
|
|
||
|
Please note that if a frame is sent after SP starts it will be queued and this
|
||
|
mechanism is not used.
|
||
|
endif # NRF_WIFI_LOW_POWER
|
||
|
|
||
|
config WIFI_FIXED_MAC_ADDRESS
|
||
|
string "WiFi Fixed MAC address in format XX:XX:XX:XX:XX:XX"
|
||
|
help
|
||
|
This overrides the MAC address read from OTP. Strictly for testing purposes only.
|
||
|
|
||
|
choice
|
||
|
prompt "Wi-Fi MAC address type"
|
||
|
default WIFI_OTP_MAC_ADDRESS if WIFI_FIXED_MAC_ADDRESS = ""
|
||
|
default WIFI_FIXED_MAC_ADDRESS_ENABLED if WIFI_FIXED_MAC_ADDRESS != ""
|
||
|
help
|
||
|
Select the type of MAC address to be used by the Wi-Fi driver
|
||
|
|
||
|
config WIFI_OTP_MAC_ADDRESS
|
||
|
bool "Use MAC address from OTP"
|
||
|
help
|
||
|
This option uses the MAC address stored in the OTP memory of the nRF70.
|
||
|
|
||
|
config WIFI_FIXED_MAC_ADDRESS_ENABLED
|
||
|
bool "fixed MAC address"
|
||
|
help
|
||
|
Enable fixed MAC address
|
||
|
|
||
|
config WIFI_RANDOM_MAC_ADDRESS
|
||
|
bool "random MAC address generation at runtime"
|
||
|
depends on ENTROPY_GENERATOR
|
||
|
help
|
||
|
This option enables random MAC address generation at runtime.
|
||
|
The random MAC address is generated using the entropy device random generator.
|
||
|
|
||
|
endchoice
|
||
|
|
||
|
config NRF70_RSSI_STALE_TIMEOUT_MS
|
||
|
int "RSSI stale timeout in milliseconds"
|
||
|
default 1000
|
||
|
help
|
||
|
RSSI stale timeout is the period after which driver queries
|
||
|
RPU to get the RSSI the value.
|
||
|
If data is active (e.g. ping), driver stores the RSSI value from
|
||
|
the received frames and provides this stored information
|
||
|
to wpa_supplicant. In this case a higher value will be suitable
|
||
|
as stored RSSI value at driver will be updated regularly.
|
||
|
If data is not active or after the stale timeout duration,
|
||
|
driver queries the RPU to get the RSSI value
|
||
|
and provides it to wpa_supplicant. The value should be set to lower
|
||
|
value as driver does not store it and requires RPU to provide the
|
||
|
info.
|
||
|
|
||
|
if NETWORKING
|
||
|
# Finetune defaults for certain system components used by the driver
|
||
|
config SYSTEM_WORKQUEUE_STACK_SIZE
|
||
|
default 4096
|
||
|
|
||
|
config NET_TX_STACK_SIZE
|
||
|
default 4096
|
||
|
|
||
|
config NET_RX_STACK_SIZE
|
||
|
default 4096
|
||
|
|
||
|
config NET_TC_TX_COUNT
|
||
|
default 1
|
||
|
|
||
|
endif # NETWORKING
|
||
|
|
||
|
config MAIN_STACK_SIZE
|
||
|
default 4096
|
||
|
|
||
|
config SHELL_STACK_SIZE
|
||
|
default 4096
|
||
|
|
||
|
# Override the Wi-Fi subsytems WIFI_MGMT_SCAN_SSID_FILT_MAX parameter,
|
||
|
# since we support a maximum of 2 SSIDs for scan result filtering.
|
||
|
config WIFI_MGMT_SCAN_SSID_FILT_MAX
|
||
|
default 2
|
||
|
|
||
|
config NRF_WIFI_SCAN_MAX_BSS_CNT
|
||
|
int "Maximum number of scan results to return."
|
||
|
default 0
|
||
|
range 0 65535
|
||
|
help
|
||
|
Maximum number of scan results to return. 0 represents unlimited number of BSSes.
|
||
|
|
||
|
config NRF_WIFI_BEAMFORMING
|
||
|
bool "Wi-Fi beamforming. Enabling beamforming can provide slight improvement in performance where as disabling it can provide better power saving in low network activity applications"
|
||
|
default y
|
||
|
|
||
|
config WIFI_NRF70_SCAN_TIMEOUT_S
|
||
|
int "Scan timeout in seconds"
|
||
|
default 30
|
||
|
|
||
|
menu "nRF Wi-Fi operation band(s)"
|
||
|
visible if !NRF70_2_4G_ONLY
|
||
|
|
||
|
config NRF_WIFI_2G_BAND
|
||
|
bool "Set operation band to 2.4GHz"
|
||
|
default y if NRF70_2_4G_ONLY
|
||
|
|
||
|
config NRF_WIFI_5G_BAND
|
||
|
bool "Set operation band to 5GHz"
|
||
|
depends on !NRF70_2_4G_ONLY
|
||
|
|
||
|
config NRF_WIFI_OP_BAND
|
||
|
int "Options to set operation band"
|
||
|
default 1 if NRF_WIFI_2G_BAND
|
||
|
default 2 if NRF_WIFI_5G_BAND
|
||
|
default 3
|
||
|
help
|
||
|
Set this option to select frequency band
|
||
|
1 - 2.4GHz
|
||
|
2 - 5GHz
|
||
|
3 - All ( 2.4GHz and 5GHz )
|
||
|
endmenu
|
||
|
|
||
|
config NRF_WIFI_IFACE_MTU
|
||
|
int "MTU for Wi-Fi interface"
|
||
|
range 576 2304 if NET_IPV4
|
||
|
range 1280 2304 if NET_IPV6
|
||
|
default 1500
|
||
|
|
||
|
config WIFI_NRF70_SKIP_LOCAL_ADMIN_MAC
|
||
|
bool "Suppress networks with non-individual MAC address as BSSID in the scan results"
|
||
|
help
|
||
|
Wi-Fi access points use locally administered MAC address to manage
|
||
|
multiple virtual interfaces, for geo-location usecase these networks
|
||
|
from the virtual interfaces do not help in anyway as they are co-located with the primary interface
|
||
|
that has globally unique MAC address.
|
||
|
|
||
|
So, to save resources, this option drops such networks from the scan results.
|
||
|
|
||
|
config WIFI_NRF70_SCAN_DISABLE_DFS_CHANNELS
|
||
|
bool "Disables DFS channels in scan operation"
|
||
|
help
|
||
|
This option disables inclusion of DFS channels in scan operation.
|
||
|
This is useful to reduce the scan time, as DFS channels are seldom used.
|
||
|
|
||
|
config NET_INTERFACE_NAME_LEN
|
||
|
# nordic_wlanN
|
||
|
default 15
|
||
|
|
||
|
config NRF_WIFI_AP_DEAD_DETECT_TIMEOUT
|
||
|
int "Access point dead detection timeout in seconds"
|
||
|
range 1 30
|
||
|
default 20
|
||
|
help
|
||
|
The number of seconds after which AP is declared dead if no beacons
|
||
|
are received from the AP. Used to detect AP silently going down e.g., power off.
|
||
|
|
||
|
config NRF_WIFI_RPU_RECOVERY
|
||
|
bool "RPU recovery mechanism"
|
||
|
select EXPERIMENTAL
|
||
|
help
|
||
|
Enable RPU recovery mechanism to recover from RPU (nRF70) hang.
|
||
|
This feature performs an interface reset (down and up) which triggers
|
||
|
a RPU coldboot. Application's network connection will be lost during
|
||
|
the recovery process and it is application's responsibility to
|
||
|
re-establish the network connection.
|
||
|
|
||
|
if NRF_WIFI_RPU_RECOVERY
|
||
|
|
||
|
config NRF_WIFI_RPU_RECOVERY_PROPAGATION_DELAY_MS
|
||
|
int "RPU recovery propagation delay in milliseconds"
|
||
|
default 10
|
||
|
help
|
||
|
Propagation delay in milliseconds to wait after RPU is powered down
|
||
|
before powering it up. This delay is required to ensure that the recovery
|
||
|
is propagted to all the applications and stack and have enough time to
|
||
|
clean up the resources.
|
||
|
|
||
|
config NET_MGMT_EVENT_QUEUE_SIZE
|
||
|
# Doing interface down and up even with delay puts a lot of events in the queue
|
||
|
default 16
|
||
|
endif # NRF_WIFI_RPU_RECOVERY
|
||
|
|
||
|
config NRF_WIFI_COMBINED_BUCKEN_IOVDD_GPIO
|
||
|
bool
|
||
|
help
|
||
|
Enable this option to use a single GPIO to control both buck enable and IOVDD enable,
|
||
|
there will be a internal hardware switch to add delay between the two operations. This
|
||
|
is typically 4ms delay for nRF70.
|
||
|
|
||
|
endif # WIFI_NRF70
|