modules: nrf_wifi: Add a new module for nRF70 Wi-Fi
This is a Zephyr shim for the nrf-wifi module. Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
This commit is contained in:
parent
f7dc9f82d2
commit
180df6675e
4 changed files with 188 additions and 0 deletions
|
@ -5057,6 +5057,16 @@ West:
|
|||
labels:
|
||||
- "area: native port"
|
||||
|
||||
"West project: nrf_wifi":
|
||||
status: maintained
|
||||
maintainers:
|
||||
- krish2718
|
||||
- sachinthegreen
|
||||
files:
|
||||
- modules/nrf_wifi/
|
||||
labels:
|
||||
- "area: Wi-Fi"
|
||||
|
||||
"West project: open-amp":
|
||||
status: odd fixes
|
||||
collaborators:
|
||||
|
|
170
modules/nrf_wifi/CMakeLists.txt
Normal file
170
modules/nrf_wifi/CMakeLists.txt
Normal file
|
@ -0,0 +1,170 @@
|
|||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if(NOT CONFIG_WIFI_NRF70)
|
||||
return()
|
||||
endif()
|
||||
zephyr_interface_library_named(nrf-wifi-interface)
|
||||
zephyr_library()
|
||||
|
||||
set(NRF_WIFI_DIR ${ZEPHYR_CURRENT_MODULE_DIR})
|
||||
|
||||
# Translate the configuration to the OS agnostic code
|
||||
target_compile_definitions(
|
||||
nrf-wifi-interface
|
||||
INTERFACE
|
||||
$<$<BOOL:${CONFIG_NRF_WIFI_LOW_POWER}>:NRF_WIFI_LOW_POWER>
|
||||
$<$<BOOL:${CONFIG_NRF_WIFI_RPU_RECOVERY}>:NRF_WIFI_RPU_RECOVERY>
|
||||
$<$<BOOL:${CONFIG_NRF_WIFI_AP_DEAD_DETECT_TIMEOUT}>:NRF_WIFI_AP_DEAD_DETECT_TIMEOUT=${CONFIG_NRF_WIFI_AP_DEAD_DETECT_TIMEOUT}>
|
||||
$<$<BOOL:${CONFIG_NRF_WIFI_IFACE_MTU}>:NRF_WIFI_IFACE_MTU=${CONFIG_NRF_WIFI_IFACE_MTU}>
|
||||
$<$<BOOL:${CONFIG_NRF70_STA_MODE}>:NRF70_STA_MODE>
|
||||
$<$<BOOL:${CONFIG_NRF70_DATA_TX}>:NRF70_DATA_TX>
|
||||
$<$<BOOL:${CONFIG_NRF70_RAW_DATA_TX}>:NRF70_RAW_DATA_TX>
|
||||
$<$<BOOL:${CONFIG_NRF70_RAW_DATA_RX}>:NRF70_RAW_DATA_RX>
|
||||
$<$<BOOL:${CONFIG_NRF70_PROMISC_DATA_RX}>:NRF70_PROMISC_DATA_RX>
|
||||
$<$<BOOL:${CONFIG_NRF70_TX_DONE_WQ_ENABLED}>:NRF70_TX_DONE_WQ_ENABLED>
|
||||
$<$<BOOL:${CONFIG_NRF70_RX_WQ_ENABLED}>:NRF70_RX_WQ_ENABLED>
|
||||
$<$<BOOL:${CONFIG_NRF70_UTIL}>:NRF70_UTIL>
|
||||
$<$<BOOL:${CONFIG_NRF70_RADIO_TEST}>:NRF70_RADIO_TEST>
|
||||
$<$<BOOL:${CONFIG_NRF70_OFFLOADED_RAW_TX}>:NRF70_OFFLOADED_RAW_TX>
|
||||
$<$<BOOL:${CONFIG_NRF70_TCP_IP_CHECKSUM_OFFLOAD}>:NRF70_TCP_IP_CHECKSUM_OFFLOAD>
|
||||
$<$<BOOL:${CONFIG_NRF70_RPU_EXTEND_TWT_SP}>:NRF70_RPU_EXTEND_TWT_SP>
|
||||
$<$<BOOL:${CONFIG_NRF70_SYSTEM_WITH_RAW_MODES}>:NRF70_SYSTEM_WITH_RAW_MODES>
|
||||
$<$<BOOL:${CONFIG_NRF70_SCAN_ONLY}>:NRF70_SCAN_ONLY>
|
||||
$<$<BOOL:${CONFIG_NRF70_SYSTEM_MODE}>:NRF70_SYSTEM_MODE>
|
||||
$<$<BOOL:${CONFIG_NRF70_2_4G_ONLY}>:NRF70_2_4G_ONLY>
|
||||
$<$<BOOL:${CONFIG_NRF70_LOG_VERBOSE}>:NRF70_LOG_VERBOSE>
|
||||
$<$<BOOL:${CONFIG_NRF70_AP_MODE}>:NRF70_AP_MODE>
|
||||
$<$<BOOL:${CONFIG_NRF_WIFI_MGMT_BUFF_OFFLOAD}>:NRF_WIFI_MGMT_BUFF_OFFLOAD>
|
||||
$<$<BOOL:${CONFIG_NRF_WIFI_FEAT_KEEPALIVE}>:NRF_WIFI_FEAT_KEEPALIVE>
|
||||
$<$<BOOL:${CONFIG_NRF_WIFI_FEAT_KEEPALIVE}>:NRF_WIFI_KEEPALIVE_PERIOD_S=${CONFIG_NRF_WIFI_KEEPALIVE_PERIOD_S}>
|
||||
NRF70_RX_NUM_BUFS=${CONFIG_NRF70_RX_NUM_BUFS}
|
||||
NRF70_MAX_TX_TOKENS=${CONFIG_NRF70_MAX_TX_TOKENS}
|
||||
NRF70_RX_MAX_DATA_SIZE=${CONFIG_NRF70_RX_MAX_DATA_SIZE}
|
||||
NRF70_MAX_TX_PENDING_QLEN=${CONFIG_NRF70_MAX_TX_PENDING_QLEN}
|
||||
NRF70_RPU_PS_IDLE_TIMEOUT_MS=${CONFIG_NRF70_RPU_PS_IDLE_TIMEOUT_MS}
|
||||
NRF70_REG_DOMAIN=${CONFIG_NRF70_REG_DOMAIN}
|
||||
NRF70_BAND_2G_LOWER_EDGE_BACKOFF_DSSS=${CONFIG_NRF70_BAND_2G_LOWER_EDGE_BACKOFF_DSSS}
|
||||
NRF70_BAND_2G_LOWER_EDGE_BACKOFF_HT=${CONFIG_NRF70_BAND_2G_LOWER_EDGE_BACKOFF_HT}
|
||||
NRF70_BAND_2G_LOWER_EDGE_BACKOFF_HE=${CONFIG_NRF70_BAND_2G_LOWER_EDGE_BACKOFF_HE}
|
||||
NRF70_BAND_2G_UPPER_EDGE_BACKOFF_DSSS=${CONFIG_NRF70_BAND_2G_UPPER_EDGE_BACKOFF_DSSS}
|
||||
NRF70_BAND_2G_UPPER_EDGE_BACKOFF_HT=${CONFIG_NRF70_BAND_2G_UPPER_EDGE_BACKOFF_HT}
|
||||
NRF70_BAND_2G_UPPER_EDGE_BACKOFF_HE=${CONFIG_NRF70_BAND_2G_UPPER_EDGE_BACKOFF_HE}
|
||||
NRF70_BAND_UNII_1_LOWER_EDGE_BACKOFF_HT=${CONFIG_NRF70_BAND_UNII_1_LOWER_EDGE_BACKOFF_HT}
|
||||
NRF70_BAND_UNII_1_LOWER_EDGE_BACKOFF_HE=${CONFIG_NRF70_BAND_UNII_1_LOWER_EDGE_BACKOFF_HE}
|
||||
NRF70_BAND_UNII_1_UPPER_EDGE_BACKOFF_HT=${CONFIG_NRF70_BAND_UNII_1_UPPER_EDGE_BACKOFF_HT}
|
||||
NRF70_BAND_UNII_1_UPPER_EDGE_BACKOFF_HE=${CONFIG_NRF70_BAND_UNII_1_UPPER_EDGE_BACKOFF_HE}
|
||||
NRF70_BAND_UNII_2A_LOWER_EDGE_BACKOFF_HT=${CONFIG_NRF70_BAND_UNII_2A_LOWER_EDGE_BACKOFF_HT}
|
||||
NRF70_BAND_UNII_2A_LOWER_EDGE_BACKOFF_HE=${CONFIG_NRF70_BAND_UNII_2A_LOWER_EDGE_BACKOFF_HE}
|
||||
NRF70_BAND_UNII_2A_UPPER_EDGE_BACKOFF_HT=${CONFIG_NRF70_BAND_UNII_2A_UPPER_EDGE_BACKOFF_HT}
|
||||
NRF70_BAND_UNII_2A_UPPER_EDGE_BACKOFF_HE=${CONFIG_NRF70_BAND_UNII_2A_UPPER_EDGE_BACKOFF_HE}
|
||||
NRF70_BAND_UNII_2C_LOWER_EDGE_BACKOFF_HT=${CONFIG_NRF70_BAND_UNII_2C_LOWER_EDGE_BACKOFF_HT}
|
||||
NRF70_BAND_UNII_2C_LOWER_EDGE_BACKOFF_HE=${CONFIG_NRF70_BAND_UNII_2C_LOWER_EDGE_BACKOFF_HE}
|
||||
NRF70_BAND_UNII_2C_UPPER_EDGE_BACKOFF_HT=${CONFIG_NRF70_BAND_UNII_2C_UPPER_EDGE_BACKOFF_HT}
|
||||
NRF70_BAND_UNII_2C_UPPER_EDGE_BACKOFF_HE=${CONFIG_NRF70_BAND_UNII_2C_UPPER_EDGE_BACKOFF_HE}
|
||||
NRF70_BAND_UNII_3_LOWER_EDGE_BACKOFF_HT=${CONFIG_NRF70_BAND_UNII_3_LOWER_EDGE_BACKOFF_HT}
|
||||
NRF70_BAND_UNII_3_LOWER_EDGE_BACKOFF_HE=${CONFIG_NRF70_BAND_UNII_3_LOWER_EDGE_BACKOFF_HE}
|
||||
NRF70_BAND_UNII_3_UPPER_EDGE_BACKOFF_HT=${CONFIG_NRF70_BAND_UNII_3_UPPER_EDGE_BACKOFF_HT}
|
||||
NRF70_BAND_UNII_3_UPPER_EDGE_BACKOFF_HE=${CONFIG_NRF70_BAND_UNII_3_UPPER_EDGE_BACKOFF_HE}
|
||||
NRF70_BAND_UNII_4_LOWER_EDGE_BACKOFF_HT=${CONFIG_NRF70_BAND_UNII_4_LOWER_EDGE_BACKOFF_HT}
|
||||
NRF70_BAND_UNII_4_LOWER_EDGE_BACKOFF_HE=${CONFIG_NRF70_BAND_UNII_4_LOWER_EDGE_BACKOFF_HE}
|
||||
NRF70_BAND_UNII_4_UPPER_EDGE_BACKOFF_HT=${CONFIG_NRF70_BAND_UNII_4_UPPER_EDGE_BACKOFF_HT}
|
||||
NRF70_BAND_UNII_4_UPPER_EDGE_BACKOFF_HE=${CONFIG_NRF70_BAND_UNII_4_UPPER_EDGE_BACKOFF_HE}
|
||||
NRF70_PCB_LOSS_2G=${CONFIG_NRF70_PCB_LOSS_2G}
|
||||
NRF70_PCB_LOSS_5G_BAND1=${CONFIG_NRF70_PCB_LOSS_5G_BAND1}
|
||||
NRF70_PCB_LOSS_5G_BAND2=${CONFIG_NRF70_PCB_LOSS_5G_BAND2}
|
||||
NRF70_PCB_LOSS_5G_BAND3=${CONFIG_NRF70_PCB_LOSS_5G_BAND3}
|
||||
NRF70_ANT_GAIN_2G=${CONFIG_NRF70_ANT_GAIN_2G}
|
||||
NRF70_ANT_GAIN_5G_BAND1=${CONFIG_NRF70_ANT_GAIN_5G_BAND1}
|
||||
NRF70_ANT_GAIN_5G_BAND2=${CONFIG_NRF70_ANT_GAIN_5G_BAND2}
|
||||
NRF70_ANT_GAIN_5G_BAND3=${CONFIG_NRF70_ANT_GAIN_5G_BAND3}
|
||||
NRF_WIFI_PS_INT_PS=${CONFIG_NRF_WIFI_PS_INT_PS}
|
||||
NRF_WIFI_RPU_RECOVERY_PS_ACTIVE_TIMEOUT_MS=${CONFIG_NRF_WIFI_RPU_RECOVERY_PS_ACTIVE_TIMEOUT_MS}
|
||||
)
|
||||
|
||||
target_include_directories(
|
||||
nrf-wifi-interface
|
||||
INTERFACE
|
||||
${CMAKE_CURRENT_LIST_DIR}
|
||||
${NRF_WIFI_DIR}/utils/inc
|
||||
${NRF_WIFI_DIR}/os_if/inc
|
||||
${NRF_WIFI_DIR}/bus_if/bus/qspi/inc
|
||||
${NRF_WIFI_DIR}/bus_if/bal/inc
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/inc
|
||||
${NRF_WIFI_DIR}/fw_load/mips/fw/inc
|
||||
${NRF_WIFI_DIR}/hw_if/hal/inc
|
||||
${NRF_WIFI_DIR}/hw_if/hal/inc/fw
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/inc/fw
|
||||
)
|
||||
|
||||
if(CONFIG_NRF70_RADIO_TEST)
|
||||
target_include_directories(nrf-wifi-interface INTERFACE
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/inc/radio_test
|
||||
)
|
||||
elseif(CONFIG_NRF70_OFFLOADED_RAW_TX)
|
||||
target_include_directories(nrf-wifi-interface INTERFACE
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/inc/offload_raw_tx
|
||||
off_raw_tx/inc
|
||||
)
|
||||
else()
|
||||
target_include_directories(nrf-wifi-interface INTERFACE
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/inc/default
|
||||
)
|
||||
endif()
|
||||
|
||||
zephyr_library_sources(
|
||||
${NRF_WIFI_DIR}/os_if/src/osal.c
|
||||
${NRF_WIFI_DIR}/utils/src/list.c
|
||||
${NRF_WIFI_DIR}/utils/src/queue.c
|
||||
${NRF_WIFI_DIR}/utils/src/util.c
|
||||
${NRF_WIFI_DIR}/hw_if/hal/src/hal_api.c
|
||||
${NRF_WIFI_DIR}/hw_if/hal/src/hal_fw_patch_loader.c
|
||||
${NRF_WIFI_DIR}/hw_if/hal/src/hal_interrupt.c
|
||||
${NRF_WIFI_DIR}/hw_if/hal/src/hal_mem.c
|
||||
${NRF_WIFI_DIR}/hw_if/hal/src/hal_reg.c
|
||||
${NRF_WIFI_DIR}/hw_if/hal/src/hpqm.c
|
||||
${NRF_WIFI_DIR}/hw_if/hal/src/pal.c
|
||||
${NRF_WIFI_DIR}/bus_if/bal/src/bal.c
|
||||
${NRF_WIFI_DIR}/bus_if/bus/qspi/src/qspi.c
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/cmd.c
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/event.c
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/fmac_api_common.c
|
||||
)
|
||||
|
||||
zephyr_library_sources_ifndef(CONFIG_NRF70_RADIO_TEST
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/rx.c
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/fmac_vif.c
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/fmac_util.c
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/default/fmac_api.c
|
||||
)
|
||||
|
||||
zephyr_library_sources_ifdef(CONFIG_NRF70_RADIO_TEST
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/radio_test/fmac_api.c
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/fmac_util.c
|
||||
)
|
||||
|
||||
zephyr_library_sources_ifdef(CONFIG_NRF70_DATA_TX
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/tx.c
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/fmac_peer.c
|
||||
)
|
||||
|
||||
zephyr_library_sources_ifdef(CONFIG_NRF70_STA_MODE
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/fmac_peer.c
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/fmac_util.c
|
||||
)
|
||||
|
||||
zephyr_library_sources_ifdef(CONFIG_NRF70_PROMISC_DATA_RX
|
||||
${OS_AGNOSTIC_BASE}/fw_if/umac_if/src/fmac_promisc.c
|
||||
)
|
||||
|
||||
zephyr_library_sources_ifdef(CONFIG_NRF70_AP_MODE
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/fmac_ap.c
|
||||
)
|
||||
|
||||
# Without WPA supplicant we only support scan
|
||||
zephyr_library_sources_ifdef(CONFIG_NRF70_STA_MODE
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/fmac_peer.c
|
||||
${NRF_WIFI_DIR}/fw_if/umac_if/src/fmac_util.c
|
||||
)
|
||||
|
||||
target_link_libraries(zephyr_interface INTERFACE nrf-wifi-interface)
|
5
modules/nrf_wifi/Kconfig
Normal file
5
modules/nrf_wifi/Kconfig
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config ZEPHYR_NRF_WIFI_MODULE
|
||||
bool
|
3
west.yml
3
west.yml
|
@ -302,6 +302,9 @@ manifest:
|
|||
- name: nrf_hw_models
|
||||
revision: 3cfca0192ff84da919e9bc7978bcc2239cd6a395
|
||||
path: modules/bsim_hw_models/nrf_hw_models
|
||||
- name: nrf_wifi
|
||||
revision: f9e2abdb70761003912b1b929a37b536f68a91da
|
||||
path: modules/lib/nrf_wifi
|
||||
- name: open-amp
|
||||
revision: b735edbc739ad59156eb55bb8ce2583d74537719
|
||||
path: modules/lib/open-amp
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue