# 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")

import("${chip_root}/src/crypto/crypto.gni")

declare_args() {
  # Location of the mw320 SDK.
  mw320_sdk_root = "${chip_root}/third_party/nxp/mw320_sdk/repo"

  #mbedtls_use_tinycrypt = false
  chip_with_factory_data = 0
}

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
    }

    if (chip_with_factory_data == 1) {
      defines += [ "CONFIG_CHIP_MW320_REAL_FACTORY_DATA=1" ]
    }

    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" ]
  }
}
