blob: eb44f01802ce14fcacb3540a3c2eac211734cb50 [file] [log] [blame]
# Copyright (c) 2020 Project CHIP Authors
# Copyright 2023 NXP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build_overrides/chip.gni")
import("//build_overrides/openthread.gni")
import("${chip_root}/src/platform/device.gni") # declares chip_enable_wifi
import("${chip_root}/src/platform/nxp/${nxp_platform}/args.gni") # declares all
# rt local
# args
import("${nxp_sdk_build_root}/nxp_sdk.gni") # declares some sdk args such as
# chip_with_ot_cli
declare_args() {
# Location of the rt SDK.
rt_sdk_root = "${chip_root}/third_party/nxp/rt_sdk/repo/sdk-2.15"
# Enables Matter over Ethernet support
chip_enable_ethernet = false
# transceiver lists
iw416_transceiver = false
k32w0_transceiver = false
k32w0_transceiver_bin_path = rebase_path(
"${chip_root}/third_party/openthread/ot-nxp/build_k32w061/ot_rcp_ble_hci_bb_single_uart_fc/bin/ot-rcp-ble-hci-bb-k32w061.elf.bin.h")
w8801_transceiver = false
iwx12_transceiver = false
# Enables hci and spinel communication on single UART
# Could be used only if k32w0_transceiver is enabled
hci_spinel_single_uart = false
# Enables spinel communication over spi
# Could be used only if iwx12_transceiver is enabled
spinel_over_spi = false
# Allows to enable OTW logs to see
# firmware download logs for K32W0 transceiver
otw_logs_enabled = false
# Defines the RT NVM component supported
rt_nvm_component = "littlefs"
# KeyStorage enable only for RW61x
#if(nxp_platform == "rt/rw61x"){
#rt_nvm_component = "key_storage"
#}
# Enable wifi PTA support
wifi_enable_pta = false
# RT platform name
rt_platform = ""
# Support or not assert component from the SDK
sdk_fsl_assert_support = true
# Defines the name of the nxp SDK target instance
nxp_sdk_target = ""
# Defines the name of the nxp SDK driver target instance
nxp_sdk_driver_target = ""
# Enables Watchdog support
use_watchdog = 0
# SDK 2.15 support
is_sdk_2_15 = false
# Describe the transceiver detail flags
nxp_transceiver_interface_detail = "WIFI_IW612_BOARD_MURATA_2EL_USD"
}
declare_args() {
rt_core_sdk_root = "${rt_sdk_root}/core"
}
if (is_sdk_package || is_sdk_internal) {
rt_core_sdk_root = getenv("NXP_SDK_ROOT")
rt_sdk_root = getenv("NXP_SDK_ROOT")
}
if (!defined(rt_fwk_platform)) {
rt_fwk_platform = rt_platform
}
assert(rt_sdk_root != "", "rt_sdk_root must be specified")
# Assuming 2.15 SDK support for RT1170
if (rt_platform == "rt1060" || rt_platform == "rt1170") {
is_sdk_2_15 = true
}
if (rt_platform == "rt1060") {
nxp_transceiver_interface_detail = "WIFI_IW612_BOARD_MURATA_2EL_M2"
}
if (iwx12_transceiver && chip_enable_openthread) {
spinel_over_spi = true
}
rt_sdk_freertos_kernel = "${rt_sdk_root}/rtos/freertos/freertos-kernel"
template("rt_transceiver") {
config("${target_name}_config") {
include_dirs = []
_transceiver_include_dirs = []
if (defined(invoker.include_dirs)) {
include_dirs += invoker.include_dirs
}
if (iw416_transceiver || w8801_transceiver || iwx12_transceiver) {
_transceiver_include_dirs += [
# Transceiver files
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/incl",
"${rt_sdk_root}/middleware/sdmmc/common",
"${rt_sdk_root}/middleware/sdmmc/sdio",
"${rt_sdk_root}/middleware/sdmmc/host/usdhc",
"${rt_sdk_root}/middleware/sdmmc/osa",
"${rt_sdk_root}/middleware/wifi_nxp/incl/wifidriver",
"${rt_sdk_root}/middleware/wifi_nxp/incl",
"${rt_sdk_root}/middleware/wifi_nxp/incl/wlcmgr",
"${rt_sdk_root}/middleware/wifi_nxp/incl/port/os",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/incl",
"${rt_sdk_root}/middleware/wifi_nxp/fwdnld_intf_abs",
"${rt_sdk_root}/middleware/wifi_nxp/sdio_nxp_abs/incl",
"${rt_sdk_root}/middleware/wifi_nxp/firmware_dnld",
]
if (is_sdk_2_15) {
_transceiver_include_dirs += [
"${rt_sdk_root}/middleware/wifi_nxp/wifi_bt_firmware/nw61x",
"${rt_sdk_root}/middleware/wifi_nxp/fwdnld_intf_abs",
"${rt_sdk_root}/middleware/wifi_nxp/sdio_nxp_abs/incl",
"${rt_sdk_root}/middleware/wifi_nxp/firmware_dnld",
]
} else {
_transceiver_include_dirs +=
[ "${rt_sdk_root}/middleware/wifi_nxp/wifi_bt_firmware" ]
}
}
libs = []
if (defined(invoker.defines)) {
defines += invoker.defines
}
cflags = []
if (defined(invoker.cflags)) {
cflags += invoker.cflags
}
# Now add our "system-header" include dirs
foreach(include_dir, _transceiver_include_dirs) {
cflags += [ "-isystem" + rebase_path(include_dir, root_build_dir) ]
}
}
source_set(target_name) {
forward_variables_from(invoker, "*")
if (!defined(sources)) {
sources = []
}
if (iw416_transceiver || w8801_transceiver || iwx12_transceiver) {
sources += [
# Transceiver files
"${rt_sdk_root}/middleware/sdmmc/common/fsl_sdmmc_common.c",
"${rt_sdk_root}/middleware/sdmmc/host/usdhc/non_blocking/fsl_sdmmc_host.c",
"${rt_sdk_root}/middleware/sdmmc/osa/fsl_sdmmc_osa.c",
"${rt_sdk_root}/middleware/sdmmc/sdio/fsl_sdio.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/sdio.c",
]
if (is_sdk_2_15) {
sources += [
"${rt_sdk_root}/middleware/wifi_nxp/firmware_dnld/firmware_dnld.c",
"${rt_sdk_root}/middleware/wifi_nxp/fwdnld_intf_abs/fwdnld_intf_abs.c",
"${rt_sdk_root}/middleware/wifi_nxp/sdio_nxp_abs/fwdnld_sdio.c",
"${rt_sdk_root}/middleware/wifi_nxp/sdio_nxp_abs/mlan_sdio.c",
]
} else {
sources += [
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/firmware_dnld.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_sdio.c",
]
}
}
if (!defined(public_configs)) {
public_configs = []
}
public_configs += [ ":${target_name}_config" ]
}
}
template("rt_wifi") {
config("${target_name}_config") {
include_dirs = []
if (defined(invoker.include_dirs)) {
include_dirs += invoker.include_dirs
}
_wifi_include_dirs = [
# Wi-Fi
"${rt_sdk_root}/middleware/wifi_nxp/incl/port/lwip",
"${rt_sdk_root}/middleware/wifi_nxp/port/lwip",
"${rt_sdk_root}/middleware/wifi_nxp/incl",
"${rt_sdk_root}/middleware/wifi_nxp/incl/port/os",
"${rt_sdk_root}/middleware/wifi_nxp/incl/wifidriver",
"${rt_sdk_root}/middleware/wifi_nxp/incl/wlcmgr",
"${rt_sdk_root}/middleware/wifi_nxp/wifi_bt_firmware",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/incl",
]
libs = []
if (defined(invoker.defines)) {
defines += invoker.defines
} else {
defines = []
}
defines += [
"CHIP_DEVICE_CONFIG_ENABLE_WPA",
"CONFIG_IPV6=1", # missing in wifi_config.h
]
if (wifi_enable_pta) {
defines += [ "WIFI_PTA_ENABLED=1" ]
}
cflags = []
if (defined(invoker.cflags)) {
cflags += invoker.cflags
}
# Now add our "system-header" include dirs
foreach(include_dir, _wifi_include_dirs) {
cflags += [ "-isystem" + rebase_path(include_dir, root_build_dir) ]
}
}
source_set(target_name) {
forward_variables_from(invoker, "*")
if (!defined(sources)) {
sources = []
}
sources += [
# Wi-Fi
"${rt_sdk_root}/middleware/wifi_nxp/cli/cli_utils.c",
"${rt_sdk_root}/middleware/wifi_nxp/dhcpd/dhcp-server-main.c",
"${rt_sdk_root}/middleware/wifi_nxp/dhcpd/dhcp-server.c",
"${rt_sdk_root}/middleware/wifi_nxp/dhcpd/dns-server.c",
"${rt_sdk_root}/middleware/wifi_nxp/port/os/os.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_11ac.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_11d.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_11h.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_11n.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_11n_aggr.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_11n_rxreorder.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_api.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_cfp.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_cmdevt.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_glue.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_init.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_join.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_misc.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_scan.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_shim.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_sta_cmd.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_sta_cmdresp.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_sta_event.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_sta_ioctl.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_sta_rx.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_txrx.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_uap_cmdevent.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_uap_ioctl.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_wmm.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/wifi-debug.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/wifi-mem.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/wifi-uap.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/wifi.c",
"${rt_sdk_root}/middleware/wifi_nxp/wifidriver/wifi_pwrmgr.c",
"${rt_sdk_root}/middleware/wifi_nxp/wlcmgr/wlan.c",
"${rt_sdk_root}/middleware/wifi_nxp/wlcmgr/wlan_txpwrlimit_cfg.c",
]
if (!defined(public_configs)) {
public_configs = []
}
public_configs += [ ":${target_name}_config" ]
}
}
template("rt_sdk") {
sdk_target_name = target_name
config("${sdk_target_name}_config") {
include_dirs = []
if (defined(invoker.include_dirs)) {
include_dirs += invoker.include_dirs
}
# We want to treat SDK headers as system headers, so that warnings in those
# headers are not fatal. Therefore don't add them directly to include_dirs;
# we will add them to cflags below instead.
_sdk_include_dirs = [
#freertos includes
"${rt_sdk_freertos_kernel}/include",
#CMSIS includes
"${rt_core_sdk_root}/CMSIS/Core/Include",
#SDK components
"${rt_core_sdk_root}/components/uart",
"${rt_core_sdk_root}/components/spi",
"${rt_core_sdk_root}/components/serial_manager",
"${rt_core_sdk_root}/components/lists",
"${rt_core_sdk_root}/components/osa",
"${rt_core_sdk_root}/components/common_task",
"${rt_core_sdk_root}/components/log",
"${rt_core_sdk_root}/components/timer_manager",
"${rt_core_sdk_root}/components/timer",
"${rt_core_sdk_root}/components/internal_flash",
"${rt_core_sdk_root}/components/button",
"${rt_core_sdk_root}/components/gpio",
"${rt_core_sdk_root}/components/phy/device/phyksz8081",
"${rt_core_sdk_root}/components/phy",
"${rt_core_sdk_root}/components/wifi_bt_module/AzureWave/tx_pwr_limits",
"${rt_core_sdk_root}/components/wifi_bt_module/Murata/tx_pwr_limits",
"${rt_core_sdk_root}/components/wifi_bt_module/template",
"${rt_core_sdk_root}/components/wifi_bt_module/incl",
"${rt_core_sdk_root}/components/messaging",
"${rt_core_sdk_root}/components/mem_manager",
"${rt_core_sdk_root}/components/flash/mflash",
"${rt_core_sdk_root}/components/time_stamp",
#Framework files
"${rt_sdk_root}/middleware/wireless/framework/FunctionLib",
"${rt_sdk_root}/middleware/wireless/framework/Common",
"${rt_sdk_root}/middleware/wireless/framework/platform/${rt_fwk_platform}",
"${rt_sdk_root}/middleware/wireless/framework/platform/include",
"${rt_sdk_root}/middleware/wireless/framework/FileSystem",
"${rt_sdk_root}/middleware/wireless/framework/FileCache",
"${rt_sdk_root}/middleware/wireless/framework/FSAbstraction",
"${rt_sdk_root}/middleware/wireless/framework/KeyStorage",
#"${rt_sdk_root}/middleware/wireless/framework/DBG",
#littlefs
"${rt_sdk_root}/middleware/littlefs",
]
#OtaSupport
if (chip_enable_ota_requestor) {
_sdk_include_dirs += [
"${rt_sdk_root}/middleware/wireless/framework/OtaSupport/Interface",
"${rt_sdk_root}/middleware/wireless/framework/OtaSupport/Source",
]
}
if (rt_nvm_component == "nvm_fwk") {
_sdk_include_dirs +=
[ "${rt_sdk_root}/middleware/wireless/framework/NVM/Interface" ]
}
libs = []
defines = [
"__STARTUP_CLEAR_BSS",
"__STARTUP_INITIALIZE_NONCACHEDATA",
"__STARTUP_INITIALIZE_RAMFUNCTION",
#"SERIAL_MANAGER_NON_BLOCKING_MODE=1",
"SERIAL_MANAGER_TASK_HANDLE_RX_AVAILABLE_NOTIFY=1",
"SERIAL_MANAGER_RING_BUFFER_FLOWCONTROL=1",
"SDK_OS_FREE_RTOS",
#Enable the OSA startup task
"OSA_USED",
"FSL_OSA_TASK_ENABLE",
#Startup task stack size todo :to remove
"gMainThreadStackSize_c=4096",
"XIP_EXTERNAL_FLASH=1",
"XIP_BOOT_HEADER_ENABLE=1",
"FSL_SDK_ENABLE_DRIVER_CACHE_CONTROL=1",
"SDK_COMPONENT_INTEGRATION=1",
"FSL_DRIVER_TRANSFER_DOUBLE_WEAK_IRQ=0",
# Serial Manager already in Non blocking state by default
# but can be changed with other compile switch (DEBUG_CONSOLE_TRANSFER_NON_BLOCKING),
# so better to explicitly set to 1 here except when DEBUG_CONSOLE_TRANSFER_NON_BLOCKING is set
# "SERIAL_MANAGER_NON_BLOCKING_MODE=1",
# For Debug Console, This flag is not use for Debug Console Light
"DEBUG_CONSOLE_TRANSFER_NON_BLOCKING",
"HAL_UART_ADAPTER_FIFO=1",
"SDK_DEBUGCONSOLE_UART=1",
"SERIAL_PORT_TYPE_UART=1",
"CONFIG_ARM=1",
"SERIAL_MANAGER_TASK_STACK_SIZE=4048",
#LWIP common options
"USE_RTOS=1",
"BUTTON_SHORT_PRESS_THRESHOLD=500",
"BUTTON_LONG_PRESS_THRESHOLD=2000",
#Multithread tests
"PRINTF_ADVANCED_ENABLE=1",
]
if (use_watchdog != 0) {
defines += [ "WATCHDOG_ALLOWED" ]
}
if (rt_nvm_component == "nvm_fwk") {
defines += [
#NVM flags
"gNvStorageIncluded_d=1",
"gNvTableKeptInRam_d=1",
"NVM_NO_COMPONNET=1",
]
}
if (rt_nvm_component == "littlefs" || rt_nvm_component == "key_storage") {
defines += [
"LFS_THREADSAFE=1",
"LFS_NO_DEBUG",
"LFS_NO_ERROR",
"LFS_NO_WARN",
]
}
if (chip_enable_wifi || chip_enable_ethernet) {
defines += [
"SDK_DEBUGCONSOLE=1",
"MCUXPRESSO_SDK",
"PRINTF_FLOAT_ENABLE=0",
"DEBUG",
"__GCC",
"__USE_CMSIS",
"PRINT_FLOAT_ENABLE=0",
"CR_INTEGER_PRINTF",
# No OSA main task
"FSL_OSA_MAIN_FUNC_ENABLE=0",
]
if (chip_enable_openthread) {
defines += [ "CONFIG_MAX_IPV6_ADDRESSES=8" ]
} else {
defines += [ "CONFIG_MAX_IPV6_ADDRESSES=5" ]
}
}
if (chip_enable_ethernet) {
defines += [ "FSL_FEATURE_PHYKSZ8081_USE_RMII50M_MODE" ]
}
if (chip_enable_pairing_autostart == 1) {
defines += [ "CHIP_DEVICE_CONFIG_ENABLE_PAIRING_AUTOSTART=1" ]
} else {
defines += [ "CHIP_DEVICE_CONFIG_ENABLE_PAIRING_AUTOSTART=0" ]
}
if (iw416_transceiver) {
defines += [
"WIFI_IW416_BOARD_AW_AM510_USD",
"SDIO_ENABLED",
]
}
if (w8801_transceiver) {
defines += [
"WIFI_88W8801_BOARD_MURATA_2DS_USD",
"SDIO_ENABLED",
]
}
if (iwx12_transceiver) {
defines += [
nxp_transceiver_interface_detail,
"SDIO_ENABLED",
]
}
if (k32w0_transceiver) {
defines += [ "K32W061_TRANSCEIVER" ]
defines += [ "BOARD_OTW_K32W0_PIN_INIT" ]
#Framework OTW defines to locate transceiver binary header
defines += [ "K32W0_RCP_BINARY_H_FILE=\"${k32w0_transceiver_bin_path}\"" ]
#SDK defines for OTW
defines += [ "HAL_UART_DMA_ENABLE=1" ]
_sdk_include_dirs +=
[ "${rt_sdk_root}/middleware/wireless/framework/OTW/Interface" ]
if (otw_logs_enabled) {
defines += [ "OTW_LOG_ENABLED=1" ]
}
}
if (nxp_software_version != "") {
defines +=
[ "NXP_CONFIG_DEVICE_SOFTWARE_VERSION=${nxp_software_version}" ]
}
if (nxp_software_version_string != "") {
defines += [ "NXP_CONFIG_DEVICE_SOFTWARE_VERSION_STRING=\"${nxp_software_version_string}\"" ]
}
if (defined(invoker.defines)) {
defines += invoker.defines
}
cflags = []
if (defined(invoker.cflags)) {
cflags += invoker.cflags
}
cflags += [
"-Wno-unused-function",
"-Wno-conversion",
"-Wno-sign-compare",
"-Wno-shadow",
"-Wno-empty-body",
"-Wno-implicit-fallthrough",
"-Wno-stringop-truncation",
"-Wno-unused-variable",
"-Wno-format-truncation",
]
if (chip_enable_openthread) {
defines += [ "CHIP_DEVICE_CONFIG_ENABLE_THREAD=1" ]
}
if (chip_enable_ble) {
defines += [ "CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE=1" ]
}
if (chip_enable_wifi) {
defines += [ "CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION=1" ]
}
# Now add our "system-header" include dirs
foreach(include_dir, _sdk_include_dirs) {
cflags += [ "-isystem" + rebase_path(include_dir, root_build_dir) ]
}
if (is_sdk_2_15) {
defines += [ "NXP_SDK_2_15_SUPPORT" ]
}
#Adding pre-include files
cflags += [ "-include" + rebase_path(
"${nxp_sdk_build_root}/${nxp_sdk_name}/transceiver/app_transceiver_config.h",
root_build_dir) ]
}
# TODO - Break up this monolith and make it configurable.
source_set(sdk_target_name) {
forward_variables_from(invoker, "*")
if (!defined(sources)) {
sources = []
}
sources += [
#freertos files
"${rt_sdk_freertos_kernel}/croutine.c",
"${rt_sdk_freertos_kernel}/event_groups.c",
"${rt_sdk_freertos_kernel}/list.c",
"${rt_sdk_freertos_kernel}/queue.c",
"${rt_sdk_freertos_kernel}/stream_buffer.c",
"${rt_sdk_freertos_kernel}/tasks.c",
"${rt_sdk_freertos_kernel}/timers.c",
#SDK components
"${rt_core_sdk_root}/components/button/fsl_component_button.c",
"${rt_core_sdk_root}/components/lists/fsl_component_generic_list.c",
"${rt_core_sdk_root}/components/log/fsl_component_log.c",
"${rt_core_sdk_root}/components/log/fsl_component_log_backend_debugconsole.c",
"${rt_core_sdk_root}/components/messaging/fsl_component_messaging.c",
"${rt_core_sdk_root}/components/osa/fsl_os_abstraction_free_rtos.c",
"${rt_core_sdk_root}/components/phy/device/phyksz8081/fsl_phyksz8081.c",
"${rt_core_sdk_root}/components/serial_manager/fsl_component_serial_manager.c",
"${rt_core_sdk_root}/components/serial_manager/fsl_component_serial_port_uart.c",
"${rt_core_sdk_root}/components/timer_manager/fsl_component_timer_manager.c",
#Framework files
"${rt_sdk_root}/middleware/wireless/framework/FunctionLib/FunctionLib.c",
]
#OtaSupport files
if (chip_enable_ota_requestor) {
sources += [
"${rt_sdk_root}/middleware/wireless/framework/OtaSupport/Source/OtaExternalFlash.c",
"${rt_sdk_root}/middleware/wireless/framework/OtaSupport/Source/OtaPrivate.h",
"${rt_sdk_root}/middleware/wireless/framework/OtaSupport/Source/OtaSupport.c",
"${rt_sdk_root}/middleware/wireless/framework/platform/${rt_fwk_platform}/fwk_platform_extflash.c",
"${rt_sdk_root}/middleware/wireless/framework/platform/${rt_fwk_platform}/fwk_platform_ota.c",
]
}
if (rt_nvm_component == "nvm_fwk") {
sources += [
"${rt_sdk_root}/middleware/wireless/framework/FileSystem/fwk_filesystem.c",
"${rt_sdk_root}/middleware/wireless/framework/NVM/Source/NV_Flash.c",
"${rt_sdk_root}/middleware/wireless/framework/platform/${rt_fwk_platform}/fwk_platform_flash.c",
]
}
if (rt_nvm_component == "key_storage") {
sources += [
"${rt_sdk_root}/middleware/wireless/framework/FSAbstraction/fwk_fs_abstraction.c",
"${rt_sdk_root}/middleware/wireless/framework/FSAbstraction/fwk_lfs_mflash.c",
"${rt_sdk_root}/middleware/wireless/framework/FileCache/fwk_file_cache.c",
"${rt_sdk_root}/middleware/wireless/framework/KeyStorage/fwk_key_storage.c",
]
sources += [
#littlefs
"${rt_sdk_root}/middleware/littlefs/lfs.c",
"${rt_sdk_root}/middleware/littlefs/lfs_util.c",
]
}
if (rt_nvm_component == "littlefs") {
sources += [
"${rt_sdk_root}/middleware/wireless/framework/FileSystem/fwk_filesystem.c",
"${rt_sdk_root}/middleware/wireless/framework/platform/${rt_fwk_platform}/fwk_platform_flash.c",
]
sources += [
#littlefs
"${rt_sdk_root}/middleware/littlefs/lfs.c",
"${rt_sdk_root}/middleware/littlefs/lfs_util.c",
]
}
if (iwx12_transceiver) {
sources += [ "${rt_sdk_root}/middleware/wireless/framework/platform/imx_rt/iw612/fwk_platform_coex.c" ]
}
if (k32w0_transceiver) {
sources += [
"${rt_sdk_root}/middleware/wireless/framework/OTW/k32w0_transceiver/fwk_otw.c",
"${rt_sdk_root}/middleware/wireless/framework/platform/imx_rt/k32w0/fwk_platform_coex.c",
]
}
if (!defined(public_configs)) {
public_configs = []
}
if (!defined(public_deps)) {
public_deps = []
}
public_configs += [ ":${sdk_target_name}_config" ]
public_configs +=
[ "${nxp_sdk_build_root}/${nxp_sdk_name}:nxp_transceiver_config" ]
public_configs += [
"${nxp_sdk_build_root}/${nxp_sdk_name}:nxp_lwip_base_config",
"${nxp_sdk_build_root}/${nxp_sdk_name}:lwip_rt_config",
]
public_configs += [ "" + nxp_sdk_driver_target + "_config" ]
if (chip_enable_ble) {
public_configs +=
[ "${nxp_sdk_build_root}/${nxp_sdk_name}:nxp_bt_ble_config" ]
}
if (chip_enable_wifi) {
public_configs +=
[ "${nxp_sdk_build_root}/${nxp_sdk_name}:nxp_wifi_config" ]
}
all_dependent_configs = public_configs
}
}