| # Copyright (c) 2020 Project CHIP Authors |
| # |
| # 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/jlink.gni") |
| import("//build_overrides/lwip.gni") |
| import("//build_overrides/mw320_sdk.gni") |
| |
| declare_args() { |
| # Location of the mw320 SDK. |
| mw320_sdk_root = "${chip_root}/third_party/nxp/mw320_sdk/repo" |
| mbedtls_use_tinycrypt = false |
| } |
| |
| assert(mw320_sdk_root != "", "mw320_sdk_root must be specified") |
| |
| # Defines an mw320 SDK build target. |
| # |
| # Parameters: |
| # mw320_sdk_root - The location of the mw320 SDK. |
| # sources - Extra source files to build. |
| template("mw320_sdk") { |
| if (defined(invoker.mw320_sdk_root)) { |
| mw320_sdk_root = invoker.mw320_sdk_root |
| } |
| |
| assert(mw320_sdk_root != "", "mw320_sdk_root must be specified") |
| |
| 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 = [ |
| "${mw320_sdk_root}/rtos/freertos/freertos_kernel/include", |
| "${mw320_sdk_root}/rtos/freertos/freertos_kernel/portable/GCC/ARM_CM4F", |
| "${mw320_sdk_root}/boards/rdmw320_r0/wifi_examples/mw_wifi_cli", |
| "${mw320_sdk_root}/devices/88MW320/drivers", |
| "${mw320_sdk_root}/devices/88MW320", |
| "${mw320_sdk_root}/CMSIS/Include", |
| "${mw320_sdk_root}/devices/88MW320/utilities/debug_console", |
| "${mw320_sdk_root}/components/serial_manager", |
| "${mw320_sdk_root}/components/uart", |
| "${mw320_sdk_root}/middleware/wifi/incl/port/os", |
| "${mw320_sdk_root}/middleware/wifi/incl", |
| "${mw320_sdk_root}/devices/88MW320/utilities/str", |
| "${mw320_sdk_root}/components//flash/mflash/mw320", |
| "${mw320_sdk_root}/components//flash/mflash", |
| "${mw320_sdk_root}/middleware/wifi/incl/wlcmgr", |
| "${mw320_sdk_root}/middleware/wifi/incl/wifidriver", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/incl", |
| "${mw320_sdk_root}/middleware/wifi/incl/port/lwip", |
| "${mw320_sdk_root}/components/boot2_utils", |
| "${mw320_sdk_root}/middleware/lwip/port", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver", |
| "${mw320_sdk_root}/middleware/sdmmc/common", |
| "${mw320_sdk_root}/middleware/sdmmc/host/sdioc", |
| "${mw320_sdk_root}/middleware/sdmmc/osa", |
| "${mw320_sdk_root}/components/osa", |
| "${mw320_sdk_root}/components/lists", |
| "${mw320_sdk_root}/boards/rdmw320_r0/wifi_examples/mw_wifi_cli/armgcc/../../..", |
| "${mw320_sdk_root}/middleware/sdmmc/sdio", |
| "${mw320_sdk_root}/middleware/wifi/port/lwip", |
| "${mw320_sdk_root}/middleware/lwip/src/include", |
| "${mw320_sdk_root}/middleware/lwip/src/include/lwip", |
| "${mw320_sdk_root}/middleware/lwip/src/include/lwip/apps", |
| ] |
| |
| defines = [ |
| "CHIP_ENABLE_OPENTHREAD=0", |
| "SUPPORT_FOR_15_4=0", |
| "__GCC", |
| "LWIP_ETHERNET=1", |
| "CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE=0", |
| "CONFIG_NETWORK_LAYER_BLE=0", |
| "DEBUG", |
| "CPU_88MW320_A0_NAPC", |
| "USE_RTOS=1", |
| "CONFIG_USE_PSM=1", |
| "CONFIG_SECURE_PSM=1", |
| "PRINTF_ADVANCED_ENABLE=1", |
| "FSL_RTOS_FREE_RTOS=1", |
| "SDIO_ENABLED", |
| "SERIAL_PORT_TYPE_UART=1", |
| "CONFIG_IPV6", |
| "LWIP_IPV6_SCOPES=0", |
| "LWIP_TIMEVAL_PRIVATE=0", |
| ] |
| |
| if (defined(invoker.defines)) { |
| defines += invoker.defines |
| } |
| |
| cflags = [ |
| "-Wno-unused-function", |
| "-Wno-conversion", |
| "-O1", |
| "-Wall", |
| "-MMD", |
| "-MP", |
| "-fno-common", |
| "-ffunction-sections", |
| "-fdata-sections", |
| "-fno-builtin", |
| "-mapcs", |
| ] |
| |
| cflags += [ "-include" + rebase_path( |
| "${mw320_sdk_root}/boards/rdmw320_r0/wifi_examples/mw_wifi_cli/wifi_config.h", |
| root_build_dir) ] |
| |
| # Now add our "system-header" include dirs |
| foreach(include_dir, _sdk_include_dirs) { |
| cflags += [ "-isystem" + rebase_path(include_dir, 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 += [ |
| "${mw320_sdk_root}/boards/rdmw320_r0/sdmmc_config.c", |
| "${mw320_sdk_root}/boards/rdmw320_r0/wifi_examples/mw_wifi_cli/board.c", |
| "${mw320_sdk_root}/boards/rdmw320_r0/wifi_examples/mw_wifi_cli/clock_config.c", |
| "${mw320_sdk_root}/boards/rdmw320_r0/wifi_examples/mw_wifi_cli/lpm.c", |
| "${mw320_sdk_root}/boards/rdmw320_r0/wifi_examples/mw_wifi_cli/network_flash_storage.c", |
| "${mw320_sdk_root}/boards/rdmw320_r0/wifi_examples/mw_wifi_cli/pin_mux.c", |
| "${mw320_sdk_root}/components/boot2_utils/boot_flags.c", |
| "${mw320_sdk_root}/components/boot2_utils/crc32.c", |
| "${mw320_sdk_root}/components/boot2_utils/keystore.c", |
| "${mw320_sdk_root}/components/boot2_utils/partition.c", |
| "${mw320_sdk_root}/components/boot2_utils/psm-v2-secure.c", |
| "${mw320_sdk_root}/components/boot2_utils/psm-v2.c", |
| "${mw320_sdk_root}/components/boot2_utils/wmtlv.c", |
| "${mw320_sdk_root}/components/flash/mflash/mw320/mflash_drv.c", |
| "${mw320_sdk_root}/components/osa/fsl_os_abstraction_free_rtos.c", |
| "${mw320_sdk_root}/components/serial_manager/fsl_component_serial_manager.c", |
| "${mw320_sdk_root}/components/serial_manager/fsl_component_serial_port_uart.c", |
| "${mw320_sdk_root}/components/uart/fsl_adapter_mwuart.c", |
| "${mw320_sdk_root}/devices/88MW320/drivers/fsl_aes.c", |
| "${mw320_sdk_root}/devices/88MW320/drivers/fsl_clock.c", |
| "${mw320_sdk_root}/devices/88MW320/drivers/fsl_crc.c", |
| "${mw320_sdk_root}/devices/88MW320/drivers/fsl_flashc.c", |
| "${mw320_sdk_root}/devices/88MW320/drivers/fsl_gpio.c", |
| "${mw320_sdk_root}/devices/88MW320/drivers/fsl_pinmux.c", |
| "${mw320_sdk_root}/devices/88MW320/drivers/fsl_power.c", |
| "${mw320_sdk_root}/devices/88MW320/drivers/fsl_qspi.c", |
| "${mw320_sdk_root}/devices/88MW320/drivers/fsl_rtc.c", |
| "${mw320_sdk_root}/devices/88MW320/drivers/fsl_sdioc.c", |
| "${mw320_sdk_root}/devices/88MW320/drivers/fsl_uart.c", |
| "${mw320_sdk_root}/devices/88MW320/gcc/startup_88MW320.S", |
| "${mw320_sdk_root}/devices/88MW320/system_88MW320.c", |
| "${mw320_sdk_root}/devices/88MW320/utilities/debug_console/fsl_debug_console.c", |
| "${mw320_sdk_root}/devices/88MW320/utilities/str/fsl_str.c", |
| "${mw320_sdk_root}/middleware/lwip/port/sys_arch.c", |
| "${mw320_sdk_root}/middleware/lwip/src/api/api_lib.c", |
| "${mw320_sdk_root}/middleware/lwip/src/api/api_msg.c", |
| "${mw320_sdk_root}/middleware/lwip/src/api/err.c", |
| "${mw320_sdk_root}/middleware/lwip/src/api/netbuf.c", |
| "${mw320_sdk_root}/middleware/lwip/src/api/netifapi.c", |
| "${mw320_sdk_root}/middleware/lwip/src/api/sockets.c", |
| "${mw320_sdk_root}/middleware/lwip/src/api/tcpip.c", |
| "${mw320_sdk_root}/middleware/lwip/src/apps/lwiperf/lwiperf.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/def.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/dns.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/inet_chksum.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/init.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ip.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv4/acd.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv4/dhcp.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv4/etharp.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv4/icmp.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv4/igmp.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv4/ip4.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv4/ip4_addr.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv4/ip4_frag.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv6/ethip6.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv6/icmp6.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv6/ip6.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv6/ip6_addr.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv6/ip6_frag.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv6/mld6.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/ipv6/nd6.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/mem.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/memp.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/netif.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/pbuf.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/raw.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/stats.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/tcp.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/tcp_in.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/tcp_out.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/timeouts.c", |
| "${mw320_sdk_root}/middleware/lwip/src/core/udp.c", |
| "${mw320_sdk_root}/middleware/lwip/src/netif/ethernet.c", |
| "${mw320_sdk_root}/middleware/sdmmc/common/fsl_sdmmc_common.c", |
| "${mw320_sdk_root}/middleware/sdmmc/host/sdioc/non_blocking/fsl_sdmmc_host.c", |
| "${mw320_sdk_root}/middleware/sdmmc/osa/fsl_sdmmc_osa.c", |
| "${mw320_sdk_root}/middleware/sdmmc/sdio/fsl_sdio.c", |
| "${mw320_sdk_root}/middleware/wifi/cli/cli.c", |
| "${mw320_sdk_root}/middleware/wifi/cli/cli_mem_simple.c", |
| "${mw320_sdk_root}/middleware/wifi/cli/cli_utils.c", |
| "${mw320_sdk_root}/middleware/wifi/dhcpd/dhcp-server-cli.c", |
| "${mw320_sdk_root}/middleware/wifi/dhcpd/dhcp-server-main.c", |
| "${mw320_sdk_root}/middleware/wifi/dhcpd/dhcp-server.c", |
| "${mw320_sdk_root}/middleware/wifi/dhcpd/dns-server.c", |
| "${mw320_sdk_root}/middleware/wifi/nw_utils/iperf.c", |
| "${mw320_sdk_root}/middleware/wifi/nw_utils/ping.c", |
| "${mw320_sdk_root}/middleware/wifi/port/lwip/net.c", |
| "${mw320_sdk_root}/middleware/wifi/port/lwip/wifi_netif.c", |
| "${mw320_sdk_root}/middleware/wifi/port/os/os.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_11ac.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_11d.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_11h.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_11n.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_11n_aggr.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_11n_rxreorder.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_api.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_cfp.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_cmdevt.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_glue.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_init.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_join.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_misc.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_scan.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_sdio.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_shim.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_sta_cmd.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_sta_cmdresp.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_sta_event.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_sta_ioctl.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_sta_rx.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_txrx.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_uap_cmdevent.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_uap_ioctl.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/mlan_wmm.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/wifi-mem.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/wifi-sdio.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/wifi-uap.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/wifi.c", |
| "${mw320_sdk_root}/middleware/wifi/wifidriver/wifi_pwrmgr.c", |
| "${mw320_sdk_root}/middleware/wifi/wlcmgr/wlan.c", |
| "${mw320_sdk_root}/middleware/wifi/wlcmgr/wlan_basic_cli.c", |
| "${mw320_sdk_root}/middleware/wifi/wlcmgr/wlan_tests.c", |
| "${mw320_sdk_root}/middleware/wifi/wlcmgr/wlan_txpwrlimit_cfg.c", |
| "${mw320_sdk_root}/rtos/freertos/freertos_kernel/list.c", |
| "${mw320_sdk_root}/rtos/freertos/freertos_kernel/portable/GCC/ARM_CM4F/port.c", |
| "${mw320_sdk_root}/rtos/freertos/freertos_kernel/portable/MemMang/heap_4.c", |
| "${mw320_sdk_root}/rtos/freertos/freertos_kernel/queue.c", |
| "${mw320_sdk_root}/rtos/freertos/freertos_kernel/tasks.c", |
| "${mw320_sdk_root}/rtos/freertos/freertos_kernel/timers.c", |
| ] |
| |
| if (!defined(public_configs)) { |
| public_configs = [] |
| } |
| |
| public_configs += [ ":${sdk_target_name}_config" ] |
| } |
| } |