Skip to content

Commit

Permalink
samples: net: wifi: add support for building NXP WiFi
Browse files Browse the repository at this point in the history
Add support for building NXP WiFi. Since the driver typically requires
binary blobs, enable CONFIG_NXP_WIFI_BUILD_ONLY_MODE for this testcase.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
  • Loading branch information
danieldegrasse committed Oct 23, 2024
1 parent 2ccfda9 commit 4f53c6b
Show file tree
Hide file tree
Showing 2 changed files with 164 additions and 0 deletions.
158 changes: 158 additions & 0 deletions samples/net/wifi/boards/frdm_rw612.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
CONFIG_WIFI_NXP=y
CONFIG_NXP_RW610=y
CONFIG_NXP_WIFI_SHELL=y

#
# C Library
#
CONFIG_REQUIRES_FULL_LIBC=y
CONFIG_CBPRINTF_FP_SUPPORT=y

# log
CONFIG_WIFI_LOG_LEVEL_DBG=y
CONFIG_THREAD_LOCAL_STORAGE=y
CONFIG_ASSERT=y
CONFIG_ASSERT_LEVEL=2
CONFIG_LOG_MODE_IMMEDIATE=y
CONFIG_LOG_PRINTK=n

# os
CONFIG_THREAD_CUSTOM_DATA=y
CONFIG_EVENTS=y
CONFIG_SYS_HEAP_AUTO=y
CONFIG_HEAP_MEM_POOL_SIZE=122880
CONFIG_SCHED_MULTIQ=y
CONFIG_ZVFS_OPEN_MAX=30

# shell
CONFIG_SHELL_ARGC_MAX=48
CONFIG_WIFI_SHELL_MAX_AP_STA=8
CONFIG_WIFI_MGMT_AP_MAX_NUM_STA=8
CONFIG_SHELL_CMD_BUFF_SIZE=512

# net
CONFIG_NET_L2_ETHERNET=y
CONFIG_NET_DHCPV4_SERVER_ADDR_COUNT=32
CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=y
CONFIG_ETH_MCUX=n
CONFIG_NET_ZPERF=y
CONFIG_NET_ZPERF_MAX_PACKET_SIZE=1500
CONFIG_NET_BUF_LOG=y
CONFIG_NET_PKT_RX_COUNT=60
CONFIG_NET_PKT_TX_COUNT=40
CONFIG_NET_BUF_RX_COUNT=60
CONFIG_NET_BUF_TX_COUNT=80
CONFIG_NET_BUF_DATA_SIZE=1744
CONFIG_NET_TC_TX_COUNT=1
CONFIG_NET_TC_RX_COUNT=1
CONFIG_NET_MGMT_EVENT_QUEUE_SIZE=20
CONFIG_NET_IF_MAX_IPV4_COUNT=2
CONFIG_NET_IF_MAX_IPV6_COUNT=2
CONFIG_DNS_RESOLVER=y
CONFIG_DNS_RESOLVER_MAX_SERVERS=2
CONFIG_NET_SOCKETS_POLL_MAX=14
CONFIG_NET_ZPERF_MAX_SESSIONS=6
CONFIG_NET_IPV4_FRAGMENT=y
CONFIG_NET_IPV4_FRAGMENT_MAX_COUNT=3
CONFIG_NET_IPV4_FRAGMENT_MAX_PKT=7
CONFIG_NET_IPV4_FRAGMENT_TIMEOUT=3
CONFIG_NET_IPV6_FRAGMENT=y
CONFIG_NET_IPV6_FRAGMENT_MAX_COUNT=3
CONFIG_NET_IPV6_FRAGMENT_MAX_PKT=8
CONFIG_NET_IPV6_FRAGMENT_TIMEOUT=3
CONFIG_NET_MAX_CONN=10
CONFIG_NET_DHCPV4_SERVER_ICMP_PROBE_TIMEOUT=100
CONFIG_ETH_DRIVER=n

# net threads priority
CONFIG_NET_TC_THREAD_PRIO_CUSTOM=y
CONFIG_NET_TC_THREAD_PREEMPTIVE=y
CONFIG_NET_TCP_WORKER_PRIO=-16
CONFIG_NET_TC_TX_THREAD_BASE_PRIO=3
CONFIG_NET_TC_RX_THREAD_BASE_PRIO=3
CONFIG_ZPERF_WORK_Q_THREAD_PRIORITY=3
CONFIG_NET_SOCKETS_SERVICE_THREAD_PRIO=3
CONFIG_NET_TC_SKIP_FOR_HIGH_PRIO=y
CONFIG_NET_CONTEXT_PRIORITY=y

CONFIG_WIFI_NM_WPA_SUPPLICANT=y
CONFIG_WIFI_NM_WPA_SUPPLICANT_CLI=y
CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT=y
CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE=y
CONFIG_WIFI_NM_WPA_SUPPLICANT_DPP=y
CONFIG_WIFI_NM_WPA_SUPPLICANT_EAPOL=y
CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_MBEDTLS_PSA=y
CONFIG_WIFI_NM_WPA_SUPPLICANT_INF_MON=n
CONFIG_WIFI_NM_MAX_MANAGED_INTERFACES=2
CONFIG_SAE_PWE_EARLY_EXIT=y
CONFIG_WIFI_NM_HOSTAPD_AP=y
CONFIG_WIFI_NM_WPA_SUPPLICANT_WPS=y

# Enable mbedtls
CONFIG_MBEDTLS=y
CONFIG_MBEDTLS_BUILTIN=y
CONFIG_MBEDTLS_USER_CONFIG_ENABLE=y
CONFIG_MBEDTLS_USER_CONFIG_FILE="wpa_supp_els_pkc_mbedtls_config.h"

# Include els_pkc in build
CONFIG_ENTROPY_GENERATOR=y
CONFIG_MBEDTLS_PSA_CRYPTO_C=y
CONFIG_MBEDTLS_ENTROPY_C=y
CONFIG_MBEDTLS_ENTROPY_POLL_ZEPHYR=y
CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=8192

# power management
CONFIG_PM=y
CONFIG_PM_DEVICE=y
CONFIG_PM_LOG_LEVEL_OFF=y
CONFIG_PM_DEVICE_LOG_LEVEL_OFF=y
CONFIG_IDLE_STACK_SIZE=1024

# stack size
CONFIG_SHELL_STACK_SIZE=6144
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048
CONFIG_NET_MGMT_EVENT_STACK_SIZE=4608
CONFIG_NET_TCP_WORKQ_STACK_SIZE=2048
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_NET_SOCKETS_SERVICE_STACK_SIZE=4096
CONFIG_WIFI_NM_WPA_SUPPLICANT_WQ_STACK_SIZE=12288
CONFIG_WIFI_NM_WPA_SUPPLICANT_THREAD_STACK_SIZE=12288

# optimization level
# refer to Kconfig.zephyr for Optimizations Level
CONFIG_SPEED_OPTIMIZATIONS=y
#CONFIG_SIZE_OPTIMIZATIONS=y
#CONFIG_DEBUG_OPTIMIZATIONS=y
#CONFIG_NO_OPTIMIZATIONS=y

# debug & stats
CONFIG_SYS_HEAP_VALIDATE=y
CONFIG_SYS_HEAP_RUNTIME_STATS=y
#CONFIG_NET_PKT_TXTIME_STATS=y
#CONFIG_NET_PKT_TXTIME_STATS_DETAIL=y
CONFIG_NET_STATISTICS_WIFI=y
CONFIG_NET_STATISTICS_USER_API=y
#CONFIG_NET_STATISTICS_PERIODIC_OUTPUT=y
#CONFIG_NET_BUF_POOL_USAGE=y
#CONFIG_NET_DEBUG_NET_PKT_ALLOC=y

# stack size for -O0
#CONFIG_SHELL_STACK_SIZE=8192
#CONFIG_NET_TCP_WORKQ_STACK_SIZE=4096
#CONFIG_NET_TX_STACK_SIZE=4096
#CONFIG_NET_RX_STACK_SIZE=4096
#CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096
#CONFIG_ZPERF_WORK_Q_STACK_SIZE=4096
#CONFIG_MAIN_STACK_SIZE=4096
#CONFIG_WIFI_NM_WPA_SUPPLICANT_WQ_STACK_SIZE=16384
#CONFIG_WIFI_NM_WPA_SUPPLICANT_THREAD_STACK_SIZE=16384
#CONFIG_IDLE_STACK_SIZE=2048

# comment out for -O0
CONFIG_CODE_DATA_RELOCATION_SRAM=y
#CONFIG_WIFI_NM_WPA_SUPPLICANT_DEBUG_LEVEL=2
CONFIG_WIFI_NM_WPA_SUPPLICANT_LOG_LEVEL_INF=y
CONFIG_WIFI_NM_WPA_SUPPLICANT_WQ_PRIO=3
CONFIG_WIFI_NM_WPA_SUPPLICANT_PRIO=3
CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE=80000
6 changes: 6 additions & 0 deletions samples/net/wifi/sample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,9 @@ tests:
- thingy53/nrf5340/cpuapp
integration_platforms:
- thingy53/nrf5340/cpuapp
sample.net.wifi.nxp_wifi:
extra_args:
- CONFIG_NXP_WIFI_BUILD_ONLY_MODE=y
platform_allow:
- frdm_rw612
- rd_rw612_bga

0 comments on commit 4f53c6b

Please sign in to comment.