diff --git a/.gitmodules b/.gitmodules index a631c773fb76b7..d23157baea4481 100644 --- a/.gitmodules +++ b/.gitmodules @@ -321,3 +321,8 @@ url = https://github.com/Infineon/optiga-trust-m.git branch = matter_support platforms = infineon +[submodule "third_party/nxp/nxp_matter_support"] + path = third_party/nxp/nxp_matter_support + url = https://github.com/NXP/nxp_matter_support.git + branch = master + platforms = nxp diff --git a/build_overrides/nxp_sdk.gni b/build_overrides/nxp_sdk.gni index 0fb6234c7d5aaf..480a0ea71caf69 100644 --- a/build_overrides/nxp_sdk.gni +++ b/build_overrides/nxp_sdk.gni @@ -14,5 +14,9 @@ declare_args() { # Root directory for NXP SDKs. - nxp_sdk_build_root = "//third_party/nxp" + nxp_sdk_matter_support_root = "//third_party/nxp/nxp_matter_support" +} + +declare_args() { + nxp_sdk_build_root = "${nxp_sdk_matter_support_root}/gn_build" } diff --git a/examples/all-clusters-app/nxp/rt/rw61x/BUILD.gn b/examples/all-clusters-app/nxp/rt/rw61x/BUILD.gn index bfa4e89922f178..e6bf8d64d94524 100644 --- a/examples/all-clusters-app/nxp/rt/rw61x/BUILD.gn +++ b/examples/all-clusters-app/nxp/rt/rw61x/BUILD.gn @@ -49,7 +49,8 @@ declare_args() { setup_discriminator = 3840 } -example_platform_dir = "${chip_root}/examples/platform/nxp/${nxp_platform}" +example_platform_dir = + "${nxp_sdk_matter_support_root}/examples/platform/${nxp_platform}" common_example_dir = "${chip_root}/examples/platform/nxp/common" if (tcp_download == true && wifi_connect == true) { diff --git a/examples/build_overrides/nxp_sdk.gni b/examples/build_overrides/nxp_sdk.gni index 5648cc858a728b..5364631f3b7ed4 100644 --- a/examples/build_overrides/nxp_sdk.gni +++ b/examples/build_overrides/nxp_sdk.gni @@ -14,5 +14,10 @@ declare_args() { # Root directory for NXP SDKs. - nxp_sdk_build_root = "//third_party/connectedhomeip/third_party/nxp" + nxp_sdk_matter_support_root = + "//third_party/connectedhomeip/third_party/nxp/nxp_matter_support" +} + +declare_args() { + nxp_sdk_build_root = "${nxp_sdk_matter_support_root}/gn_build" } diff --git a/examples/contact-sensor-app/nxp/k32w/k32w0/README.md b/examples/contact-sensor-app/nxp/k32w/k32w0/README.md index 5785c1143671d1..ae519c9808c882 100644 --- a/examples/contact-sensor-app/nxp/k32w/k32w0/README.md +++ b/examples/contact-sensor-app/nxp/k32w/k32w0/README.md @@ -14,36 +14,42 @@ network.
-- [CHIP K32W0 Contact Sensor Example Application](#chip-k32w061-contact-sensor-example-application) -- [Introduction](#introduction) - - [Bluetooth LE Advertising](#bluetooth-le-advertising) - - [Bluetooth LE Rendezvous](#bluetooth-le-rendezvous) -- [Device UI](#device-ui) -- [Building](#building) - - [Overwrite board config files](#overwrite-board-config-files) - - [Known issues building](#known-issues-building) -- [Long Idle Time ICD Support](#long-idle-time-icd-support) -- [Manufacturing data](#manufacturing-data) -- [Flashing and debugging](#flashing-and-debugging) -- [Pigweed Tokenizer](#pigweed-tokenizer) - - [Detokenizer script](#detokenizer-script) - - [Notes](#notes) - - [Known issues tokenizer](#known-issues-tokenizer) -- [NXP Ultrafast P256 ECC Library](#nxp-ultrafast-p256-ecc-library) - - [Building steps](#building-steps) -- [Tinycrypt ECC library](#tinycrypt-ecc-library) - - [Building steps](#building-steps-1) -- [OTA](#ota) - - [Writing the SSBL](#writing-the-ssbl) - - [Writing the PSECT](#writing-the-psect) - - [Writing the application](#writing-the-application) - - [OTA Testing](#ota-testing) - - [Known issues ota](#known-issues-ota) -- [Low power](#low-power) - - [Known issues low power](#known-issues-low-power) -- [Removing SSBL Upgrade region](#removing-ssbl-upgrade-region) - - +- [CHIP K32W061 Contact Sensor Example Application](#chip-k32w061-contact-sensor-example-application) + - [Introduction](#introduction) + - [SE051H Secure Element](#se051h-secure-element) + - [Bluetooth LE Advertising](#bluetooth-le-advertising) + - [LIT ICD Active Mode](#lit-icd-active-mode) + - [Bluetooth LE Rendezvous](#bluetooth-le-rendezvous) + - [Thread Provisioning](#thread-provisioning) + - [Device UI](#device-ui) + - [No expansion board](#no-expansion-board) + - [Building](#building) + - [Long Idle Time ICD Support](#long-idle-time-icd-support) + - [Overwrite board config files](#overwrite-board-config-files) + - [Known issues building](#known-issues-building) + - [Rotating device id](#rotating-device-id) + - [Manufacturing data](#manufacturing-data) + - [Flashing and debugging](#flashing-and-debugging) + - [Pigweed tokenizer](#pigweed-tokenizer) + - [Detokenizer script](#detokenizer-script) + - [Notes](#notes) + - [Known issues tokenizer](#known-issues-tokenizer) + - [NXP Ultrafast P256 ECC Library](#nxp-ultrafast-p256-ecc-library) + - [Building steps](#building-steps) + - [Tinycrypt ECC library](#tinycrypt-ecc-library) + - [Building steps](#building-steps-1) + - [OTA](#ota) + - [Writing the SSBL](#writing-the-ssbl) + - [Features](#features) + - [Multi image](#multi-image) + - [Simple hash verification](#simple-hash-verification) + - [Writing the PSECT](#writing-the-psect) + - [Writing the application](#writing-the-application) + - [OTA Testing](#ota-testing) + - [Known issues ota](#known-issues-ota) + - [Low power](#low-power) + - [Known issues low power](#known-issues-low-power) + - [Removing SSBL Upgrade Region](#removing-ssbl-upgrade-region) ## Introduction @@ -179,44 +185,47 @@ contact status. ## Building In order to build the Project CHIP example, we recommend using a Linux -distribution (the demo-application was compiled on Ubuntu 20.04). +distribution (supported Operating Systems are listed in +[BUILDING.md](../../../../../docs/guides/BUILDING.md#tested-operating systems)). -Activate the Matter environment: +- Make sure that below prerequisites are correctly installed (as described in + [BUILDING.md](../../../../../docs/guides/BUILDING.md#prerequisites))) -```bash -user@ubuntu:~/Desktop/git/connectedhomeip$ source ./scripts/activate.sh +``` +sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev \ + libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev \ + python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev ``` -To bring the SDK in the environment, the user can: +- Step 1: checkout NXP specific submodules only -- download it with west tool, in which case it will be handled automatically - by gn: +``` +user@ubuntu:~/Desktop/git/connectedhomeip$ scripts/checkout_submodules.py --shallow --platform nxp --recursive +``` - ```bash - user@ubuntu:~/Desktop/git/connectedhomeip$ cd third_party/nxp/k32w0_sdk/repo - user@ubuntu:~/Desktop/git/connectedhomeip/third_party/nxp/k32w0_sdk/repo$ west init -l manifest --mf west.yml - user@ubuntu:~/Desktop/git/connectedhomeip/third_party/nxp/k32w0_sdk/repo$ west update - ``` +- Step 2: activate local environment - In case there are local modification to the already installed github NXP - SDK, use the below `west forall` command instead of the `west init` command - to reset the west workspace. Warning: all local changes will be lost after - running this command. +``` +user@ubuntu:~/Desktop/git/connectedhomeip$ source scripts/activate.sh +``` - ```bash - user@ubuntu:~/Desktop/git/connectedhomeip$ cd third_party/nxp/k32w0_sdk/repo - user@ubuntu:~/Desktop/git/connectedhomeip/third_party/nxp/k32w0_sdk/repo$ west forall -c "git reset --hard && git clean -xdf" -a - ``` +If the script says the environment is out of date, you can update it by running +the following command: -- set up a custom path to the SDK, in which case - `k32w0_sdk_root=\"${NXP_K32W0_SDK_ROOT}\"` must be added to the `gn gen` - command: +``` +user@ubuntu:~/Desktop/git/connectedhomeip$ source scripts/bootstrap.sh +``` - ``` - user@ubuntu:~/Desktop/git/connectedhomeip$ export NXP_K32W0_SDK_ROOT=/custom/path/to/SDK - ``` +- Step 3: Init NXP SDK(s) + +``` +user@ubuntu:~/Desktop/git/connectedhomeip$ scripts/setup/nxp/update_nxp_sdk.py --platform k32w0 +``` + +Note: By default setup/nxp/update_nxp_sdk.py will try to initialize all NXP +SDKs. Arg "-- help" could be used to view all available options. -Start building the application: +- Start building the application: ```bash user@ubuntu:~/Desktop/git/connectedhomeip$ cd examples/contact-sensor-app/nxp/k32w/k32w0 diff --git a/examples/laundry-washer-app/nxp/rt/rw61x/BUILD.gn b/examples/laundry-washer-app/nxp/rt/rw61x/BUILD.gn index d2dba4e2403655..081b5891b9c5f6 100644 --- a/examples/laundry-washer-app/nxp/rt/rw61x/BUILD.gn +++ b/examples/laundry-washer-app/nxp/rt/rw61x/BUILD.gn @@ -49,7 +49,8 @@ declare_args() { setup_discriminator = 3840 } -example_platform_dir = "${chip_root}/examples/platform/nxp/${nxp_platform}" +example_platform_dir = + "${nxp_sdk_matter_support_root}/examples/platform/${nxp_platform}" common_example_dir = "${chip_root}/examples/platform/nxp/common" if (tcp_download == true && wifi_connect == true) { diff --git a/examples/lighting-app/nxp/k32w/k32w0/README.md b/examples/lighting-app/nxp/k32w/k32w0/README.md index 7cd4dd7d636ffc..a0f560e2e884c4 100644 --- a/examples/lighting-app/nxp/k32w/k32w0/README.md +++ b/examples/lighting-app/nxp/k32w/k32w0/README.md @@ -17,30 +17,37 @@ network.
- [CHIP K32W061 Lighting Example Application](#chip-k32w061-lighting-example-application) -- [Introduction](#introduction) - - [Bluetooth LE Advertising](#bluetooth-le-advertising) - - [Bluetooth LE Rendezvous](#bluetooth-le-rendezvous) -- [Device UI](#device-ui) -- [Building](#building) - - [Overwrite board config files](#overwrite-board-config-files) + - [Introduction](#introduction) + - [SE051H Secure Element](#se051h-secure-element) + - [Bluetooth LE Advertising](#bluetooth-le-advertising) + - [Bluetooth LE Rendezvous](#bluetooth-le-rendezvous) + - [Thread Provisioning](#thread-provisioning) + - [Device UI](#device-ui) + - [No expansion board](#no-expansion-board) + - [Identify cluster LED state](#identify-cluster-led-state) + - [Building](#building) + - [Overwrite board config files](#overwrite-board-config-files) - [Known issues building](#known-issues-building) -- [Manufacturing data](#manufacturing-data) -- [Flashing and debugging](#flashing-and-debugging) -- [Pigweed Tokenizer](#pigweed-tokenizer) - - [Detokenizer script](#detokenizer-script) - - [Notes](#notes) - - [Known issues tokenizer](#known-issues-tokenizer) -- [NXP Ultrafast P256 ECC Library](#nxp-ultrafast-p256-ecc-library) - - [Building steps](#building-steps) -- [Tinycrypt ECC library](#tinycrypt-ecc-library) - - [Building steps](#building-steps-1) -- [OTA](#ota) - - [Writing the SSBL](#writing-the-ssbl) - - [Writing the PSECT](#writing-the-psect) - - [Writing the application](#writing-the-application) - - [OTA Testing](#ota-testing) - - [Known issues OTA](#known-issues-ota) - + - [Rotating device id](#rotating-device-id) + - [Manufacturing data](#manufacturing-data) + - [Flashing and debugging](#flashing-and-debugging) + - [Pigweed tokenizer](#pigweed-tokenizer) + - [Detokenizer script](#detokenizer-script) + - [Notes](#notes) + - [Known issues tokenizer](#known-issues-tokenizer) + - [NXP Ultrafast P256 ECC Library](#nxp-ultrafast-p256-ecc-library) + - [Building steps](#building-steps) + - [Tinycrypt ECC library](#tinycrypt-ecc-library) + - [Building steps](#building-steps-1) + - [OTA](#ota) + - [Writing the SSBL](#writing-the-ssbl) + - [Features](#features) + - [Multi image](#multi-image) + - [Simple hash verification](#simple-hash-verification) + - [Writing the PSECT](#writing-the-psect) + - [Writing the application](#writing-the-application) + - [OTA Testing](#ota-testing) + - [Known issues ota](#known-issues-ota) ## Introduction @@ -190,44 +197,47 @@ effects: ## Building In order to build the Project CHIP example, we recommend using a Linux -distribution (the demo-application was compiled on Ubuntu 20.04). +distribution (supported Operating Systems are listed in +[BUILDING.md](../../../../../docs/guides/BUILDING.md#tested-operating systems)). -Activate the Matter environment: +- Make sure that below prerequisites are correctly installed (as described in + [BUILDING.md](../../../../../docs/guides/BUILDING.md#prerequisites))) -```bash -user@ubuntu:~/Desktop/git/connectedhomeip$ source ./scripts/activate.sh +``` +sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev \ + libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev \ + python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev ``` -To bring the SDK in the environment, the user can: +- Step 1: checkout NXP specific submodules only -- download it with west tool, in which case it will be handled automatically - by gn: +``` +user@ubuntu:~/Desktop/git/connectedhomeip$ scripts/checkout_submodules.py --shallow --platform nxp --recursive +``` - ```bash - user@ubuntu:~/Desktop/git/connectedhomeip$ cd third_party/nxp/k32w0_sdk/repo - user@ubuntu:~/Desktop/git/connectedhomeip/third_party/nxp/k32w0_sdk/repo$ west init -l manifest --mf west.yml - user@ubuntu:~/Desktop/git/connectedhomeip/third_party/nxp/k32w0_sdk/repo$ west update - ``` +- Step 2: activate local environment - In case there are local modification to the already installed github NXP - SDK, use the below `west forall` command instead of the `west init` command - to reset the west workspace. Warning: all local changes will be lost after - running this command. +``` +user@ubuntu:~/Desktop/git/connectedhomeip$ source scripts/activate.sh +``` - ```bash - user@ubuntu:~/Desktop/git/connectedhomeip$ cd third_party/nxp/k32w0_sdk/repo - user@ubuntu:~/Desktop/git/connectedhomeip/third_party/nxp/k32w0_sdk/repo$ west forall -c "git reset --hard && git clean -xdf" -a - ``` +If the script says the environment is out of date, you can update it by running +the following command: -- set up a custom path to the SDK, in which case - `k32w0_sdk_root=\"${NXP_K32W0_SDK_ROOT}\"` must be added to the `gn gen` - command: +``` +user@ubuntu:~/Desktop/git/connectedhomeip$ source scripts/bootstrap.sh +``` + +- Step 3: Init NXP SDK(s) + +``` +user@ubuntu:~/Desktop/git/connectedhomeip$ scripts/setup/nxp/update_nxp_sdk.py --platform k32w0 +``` - ``` - user@ubuntu:~/Desktop/git/connectedhomeip$ export NXP_K32W0_SDK_ROOT=/custom/path/to/SDK - ``` +Note: By default setup/nxp/update_nxp_sdk.py will try to initialize all NXP +SDKs. Arg "-- help" could be used to view all available options. -Start building the application: +- Start building the application: ```bash user@ubuntu:~/Desktop/git/connectedhomeip$ cd examples/lighting-app/nxp/k32w/k32w0 diff --git a/examples/platform/nxp/rt/rw61x/app/ldscripts/RW610_flash.ld b/examples/platform/nxp/rt/rw61x/app/ldscripts/RW610_flash.ld deleted file mode 100644 index eec10d6fddafde..00000000000000 --- a/examples/platform/nxp/rt/rw61x/app/ldscripts/RW610_flash.ld +++ /dev/null @@ -1,599 +0,0 @@ -/* -** ################################################################### -** Processors: RW610EVA0IK -** RW610EVA0IMP -** RW610HNA0IK -** RW610HNA0IMP -** RW610UKA0IZ -** -** Compiler: GNU C Compiler -** Reference manual: RW61X User manual Rev. 0.95, June 2022 -** Version: rev. 1.0, 2021-03-16 -** Build: b220615 -** -** Abstract: -** Linker file for the GNU C Compiler -** -** Copyright 2016 Freescale Semiconductor, Inc. -** Copyright 2016-2023 NXP -** All rights reserved. -** -** SPDX-License-Identifier: BSD-3-Clause -** -** http: www.nxp.com -** mail: support@nxp.com -** -** ################################################################### -*/ - -/** - * @file - * Linker instructions for RW610 - */ - -/** If OTA is enabled : MCUBoot bootloader resides at the base of the flash and occupies 0x20000 (128 kBytes) - slot 0 : main application partition (active app) - slot0 = header + ivt + m_app_cpu3 + fw_storage (cpu1/cpu2 fw) + trailer - slot 1 : OTA Update storage partition (candidate app) - slot1 = OTA image (the image received is already wrapped with header & trailer) -**/ - -/************************ Flash Layout with OTA enabled ********************* - - 0x0800_0000 FLASH_START - - - - +---------------+ - - - - - - - - - - - - - - - - - - - - - | | - | MCUBoot | - 128k | bootloader | - | | - - - - +---------------+ - - - - - - - - - - - - - - - - - - - - - 4k | Header_slot0 | ' - +---------------+ m_interrupts_start ' - | m_interrupts | ' ' - +---------------+ m_text_start ' ' - | | ' m_app_cpu3 ' - m_app_ | | ' + ' -_stated_ | m_text | ' fw_storage ' ACTIVE_APP (slot 0) - _size | | ' ' (4.4 MB) - | | ' ' - | | ' ' - +---------------+ m_text_end ' ' - 4k | Trailer_slot0 | ' - +---------------+ ' - 4k | padding | ' - - - - +---------------+ - - - - - - - - - - - - - - - - - - - - - | | FW_UPDATE_STORAGE_START ' - | | ' - | | ' - | | ' - | | ' - | OTA | ' - | Update | ' CANDIDATE_APP (slot 1) - | Image | ' (4.4 MB) - | | ' - | | ' - | | ' - | | ' - | | FW_UPDATE_STORAGE_END ' - - - - +---------------+ - - - - - - - - - - - - - - - - - - - - - + + - + + - - - - +---------------+ - - - - - - - - - - - - - - - - - - - - - | | NV_STORAGE_START_ADDRESS - | NVM_region | - | | NV_STORAGE_END_ADDRESS - - - - +---------------+ - - - - - - - - - - - - - - - - - - - - - 4k | FactoryData | - - - - +---------------+ - - - - - - - - - - - - - - - - - - - - - 0x0C00_0000 FLASH_END - -*****************************************************************************/ - -/* Entry Point */ -ENTRY(Reset_Handler) - -HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0; -STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0A00; -M_VECTOR_RAM_SIZE = DEFINED(__ram_vector_table__) ? 0x00000280 : 0; - -/* -------------------------------------------------------------------------- */ -/* FLEX SPI FLASH */ -/* -------------------------------------------------------------------------- */ - -m_flash_start = 0x08000000; -m_flash_size = 0x04000000; /* 64 MB */ -m_flash_end = m_flash_start + m_flash_size - 1; -m_sector_size = 0x1000; -m_vector_table_size = 0x280; - -m_flash_config_start = 0x08000400; -m_flash_config_size = 0xC00; -m_flash_config_end = m_flash_config_start + m_flash_config_size - 1; - -/* - * If OTA is enabled, we must reserve enough space for MCUboot and the image header. - * Note that MCUboot itself embeds the FlashConfig section. -*/ -m_mcuboot_size = DEFINED(__m_mcuboot_size__) ? __m_mcuboot_size__ : 0; /* 128 kB but 64kB could be enough */ -m_mcuboot_start = m_flash_start; /* The flash config section is comprised */ -m_mcuboot_end = m_mcuboot_start + m_mcuboot_size - 1; -m_mcuboot_img_hdr_sz = ((0x400 + (m_sector_size - 1))/m_sector_size)*m_sector_size; - -/* CPU1/CPU2 fw storage section */ -wifi_fw_size = 0xA0000; /* 640kB */ -ble_fw_size = 0x50000; /* 320kB */ -z154_fw_size = 0x50000; /* 320kB */ -/* fw_storage_size is the maximum possible size of CPU1 + CPU2 binaries. */ -fw_storage_size = (wifi_fw_size + ble_fw_size + z154_fw_size); - - -/* Active application section - * If OTA is enabled, the application starts after mcuboot app + image header. - * We reserve cpu3_app max size plus enough to store CPU1 and CPU2 apps because - * CPU1 and CPU2 binaries are embedded in app core binary. -*/ - -m_app_start = DEFINED(__m_mcuboot_size__) ? m_mcuboot_end + 1 : m_flash_config_end + 1; -m_app_trailer_size = m_sector_size; -m_padding_size = m_sector_size; - -/* Maximum number of sectors per slot */ -m_app_max_sectors = 0x440; /* (4.4MB / m_sector_size) */ - -/* The active image section contains the mcuboot header + m_interrupts + cpu3/cpu2/cpu1 apps + trailer - * The maximum image size available for the application is the (total_slot_size - m_padding_size). - * This is due to the last sector being used by mcuboot to perform the swap-move of the upgrade. -*/ -FW_ACTIVE_APP_START = m_app_start; -FW_ACTIVE_APP_OFFSET = m_app_start - m_flash_start; -FW_ACTIVE_APP_SIZE = m_sector_size * m_app_max_sectors - m_padding_size; -FW_ACTIVE_APP_END = FW_ACTIVE_APP_START + FW_ACTIVE_APP_SIZE - 1; - -/* The size of the stated application includes the sizes of cpu1/cpu2/cpu3 apps. - * Note that an empty sector (padding) must be kept at the end of the active image section, - * this would be used by mcuboot to perform a swap-move operation of the upgrade. - */ -m_app_stated_size = FW_ACTIVE_APP_SIZE - m_mcuboot_img_hdr_sz - m_app_trailer_size; - -m_interrupts_start = DEFINED(__m_mcuboot_size__) ? m_app_start + m_mcuboot_img_hdr_sz : m_app_start; -m_interrupts_end = m_interrupts_start + m_vector_table_size - 1; - -m_text_start = m_interrupts_end + 1; -m_text_size = m_app_stated_size - m_vector_table_size; -m_text_end = m_text_start + m_text_size - 1; - - - -/* Candidate application (OTA Update Image) section - * The size of the candidate image (slot 1) is equal to the active image (slot 0) size -*/ -FW_UPDATE_STORAGE_START = FW_ACTIVE_APP_END + 1 + m_padding_size; -FW_UPDATE_STORAGE_SIZE = FW_ACTIVE_APP_SIZE; -FW_UPDATE_STORAGE_OFFSET = FW_UPDATE_STORAGE_START - m_flash_start; -FW_UPDATE_STORAGE_END = FW_UPDATE_STORAGE_START + FW_UPDATE_STORAGE_SIZE - 1; - -fw_top = FW_UPDATE_STORAGE_END + 1; - -/*** FactoryData space 1 sector is reserved ***/ -__FACTORY_DATA_SIZE = m_sector_size; -__FACTORY_DATA_END = m_flash_end; -__FACTORY_DATA_START = __FACTORY_DATA_END - __FACTORY_DATA_SIZE + 1; -__FACTORY_DATA_START_OFFSET = __FACTORY_DATA_START - m_flash_start; - -/* FileSystem Configuration */ -NV_STORAGE_END_ADDRESS = __FACTORY_DATA_START - 1; -NV_STORAGE_MAX_SECTORS = DEFINED(gNVMSectorCountLink_d) ? gNVMSectorCountLink_d : 16; -NV_STORAGE_SECTOR_SIZE = m_sector_size; -NV_STORAGE_SIZE = NV_STORAGE_SECTOR_SIZE * NV_STORAGE_MAX_SECTORS; -NV_STORAGE_START_ADDRESS = NV_STORAGE_END_ADDRESS - NV_STORAGE_SIZE + 1; -NV_STORAGE_START_ADDRESS_OFFSET = NV_STORAGE_START_ADDRESS - m_flash_start; - -/* -------------------------------------------------------------------------- */ -/* RAM */ -/* -------------------------------------------------------------------------- */ - -m_data_start = 0x20000000; -m_data_size = 0x00130000; -m_data_end = 0x2012FFFF; - -/* -------------------------------------------------------------------------- */ -/* SMU1 - CPU3/CPU1 */ -/* -------------------------------------------------------------------------- */ - -m_sqram_cpu13_mbox_start = 0x41380000; -m_sqram_cpu13_mbox_size = 0x00000488; -m_sqram_cpu13_mbox_end = m_sqram_cpu13_mbox_start + m_sqram_cpu13_mbox_size - 1; - -m_sqram_cpu13_txq_start = m_sqram_cpu13_mbox_end + 1; -m_sqram_cpu13_txq_size = 0x1000; -m_sqram_cpu13_txq_end = m_sqram_cpu13_txq_start + m_sqram_cpu13_txq_size - 1; - -/* -------------------------------------------------------------------------- */ -/* SMU2 - CPU3/CPU2 */ -/* -------------------------------------------------------------------------- */ - -m_sqram_cpu23_mbox_start = 0x443C0000; -m_sqram_cpu23_mbox_size = 0x00000488; -m_sqram_cpu23_mbox_end = m_sqram_cpu23_mbox_start + m_sqram_cpu23_mbox_size - 1; - -m_sqram_cpu23_txq_start = m_sqram_cpu23_mbox_end + 1; -m_sqram_cpu23_txq_size = 0x1080; -m_sqram_cpu23_txq_end = m_sqram_cpu23_txq_start + m_sqram_cpu23_txq_size - 1; - -m_sqram_cpu32_txq_start = m_sqram_cpu23_txq_end + 1; -m_sqram_cpu32_txq_size = 0x1080; -m_sqram_cpu32_txq_end = m_sqram_cpu32_txq_start + m_sqram_cpu32_txq_size - 1; - - -/* Specify the memory areas */ -MEMORY -{ - m_flash_config (RX) : ORIGIN = m_flash_config_start, LENGTH = m_flash_config_size - m_interrupts (RX) : ORIGIN = m_interrupts_start, LENGTH = m_vector_table_size - m_text (RX) : ORIGIN = m_text_start, LENGTH = m_text_size - m_nvm_region (RW) : ORIGIN = NV_STORAGE_START_ADDRESS, LENGTH = NV_STORAGE_SIZE - m_data (RW) : ORIGIN = m_data_start, LENGTH = m_data_size - m_sqram_cpu13_mbox (RW) : ORIGIN = m_sqram_cpu13_mbox_start, LENGTH = m_sqram_cpu13_mbox_size - m_sqram_cpu13_txq (RW) : ORIGIN = m_sqram_cpu13_txq_start, LENGTH = m_sqram_cpu13_txq_size - m_sqram_cpu23_mbox (RW) : ORIGIN = m_sqram_cpu23_mbox_start, LENGTH = m_sqram_cpu23_mbox_size - m_sqram_cpu23_txq (RW) : ORIGIN = m_sqram_cpu23_txq_start, LENGTH = m_sqram_cpu23_txq_size - m_sqram_cpu32_txq (RW) : ORIGIN = m_sqram_cpu32_txq_start, LENGTH = m_sqram_cpu32_txq_size -} - - -/* Define output sections */ -SECTIONS -{ - .flash_config : ALIGN(4) - { - . = ALIGN(4); - __FLASH_BASE = .; - KEEP(* (.flash_conf)) /* flash config section */ - . = ALIGN(4); - } > m_flash_config - - /* The startup code goes first into internal ram */ - .interrupts : - { - . = ALIGN(4); - __VECTOR_TABLE = .; - __Vectors = .; - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } > m_interrupts - - /* The program code and other data goes into internal ram */ - .text : - { - . = ALIGN(4); - *(.rcs.*) - *(EXCLUDE_FILE( - *port.c.obj - *portasm.c.obj - *queue.c.obj - *timers.c.obj - *tasks.c.obj - *inet_chksum.c.obj - *ip4.c.obj - *pbuf.c.obj - *sys_arch.c.obj - *tcp_out.c.obj - *tcp_in.c.obj - *mlan_11n_rxreorder.c.obj - *mlan_wmm.c.obj - *wifi.c.obj - *wifi-imu.c.obj - *fsl_adapter_rfimu.c.obj - *fsl_cache.c.obj - *fsl_os_abstraction_free_rtos.c.obj - /* Exclude flash and frequently executed functions from XIP */ - *fsl_adapter_flexspi_nor_flash.c.o - *mflash_drv.c.o - *fsl_flexspi.c.o - ) .text*) /* .text* sections (code) */ - /*(EXCLUDE_FILE( - /* Exclude flash and frequently executed functions from XIP * - *fsl_adapter_flexspi_nor_flash.c.o - *mflash_drv.c.o - *fsl_flexspi.c.o - ).rodata*) /* .rodata* sections (constants, strings, etc.) */ - *(.rodata .rodata.* .constdata .constdata.*) - *(.glue_7) /* glue arm to thumb code */ - *(.glue_7t) /* glue thumb to arm code */ - *(.eh_frame) - KEEP (*(.init)) - KEEP (*(.fini)) - . = ALIGN(4); - } > m_text - - ._bt_settings_area : - { - . = ALIGN(4); - _bt_settings_start = .; - KEEP(*(SORT(._bt_settings.static.*))) - _bt_settings_end = .; - . = ALIGN(4); - } > m_text - - ._settings_handler_static : - { - . = ALIGN(4); - _settings_handler_static_list_start = .; - KEEP(*(SORT(._settings_handler_static.static.*))) - _settings_handler_static_list_end = .; - . = ALIGN(4); - } > m_text - - ._bt_conn_cb : - { - . = ALIGN(4); - _bt_conn_cb_list_start = .; - KEEP(*(SORT(._bt_conn_cb.static.*))) - _bt_conn_cb_list_end = .; - . = ALIGN(4); - } > m_text - - ._bt_gatt_service_static : - { - . = ALIGN(4); - _bt_gatt_service_static_list_start = .; - KEEP(*(SORT(._bt_gatt_service_static.static.*))) - _bt_gatt_service_static_list_end = .; - . = ALIGN(4); - } > m_text - - ._bt_l2cap_fixed_chan : - { - . = ALIGN(4); - _bt_l2cap_fixed_chan_list_start = .; - KEEP(*(SORT(._bt_l2cap_fixed_chan.static.*))) - _bt_l2cap_fixed_chan_list_end = .; - . = ALIGN(4); - } > m_text - - ._bt_l2cap_br_fixed_chan : - { - . = ALIGN(4); - _bt_l2cap_br_fixed_chan_list_start = .; - KEEP(*(SORT(._bt_l2cap_br_fixed_chan.static.*))) - _bt_l2cap_br_fixed_chan_list_end = .; - . = ALIGN(4); - } > m_text - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > m_text - - .ARM : - { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } > m_text - - .ctors : - { - __CTOR_LIST__ = .; - /* gcc uses crtbegin.o to find the start of - the constructors, so we make sure it is - first. Because this is a wildcard, it - doesn't matter if the user does not - actually link against crtbegin.o; the - linker won't look for a file to match a - wildcard. The wildcard also means that it - doesn't matter which directory crtbegin.o - is in. */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*crtbegin?.o(.ctors)) - /* We don't want to include the .ctor section from - from the crtend.o file until after the sorted ctors. - The .ctor section from the crtend file contains the - end of ctors marker and it must be last */ - KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - __CTOR_END__ = .; - } > m_text - - .dtors : - { - __DTOR_LIST__ = .; - KEEP (*crtbegin.o(.dtors)) - KEEP (*crtbegin?.o(.dtors)) - KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - __DTOR_END__ = .; - } > m_text - - .preinit_array : - { - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP (*(.preinit_array*)) - PROVIDE_HIDDEN (__preinit_array_end = .); - } > m_text - - .init_array : - { - PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array*)) - PROVIDE_HIDDEN (__init_array_end = .); - } > m_text - - .fini_array : - { - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP (*(SORT(.fini_array.*))) - KEEP (*(.fini_array*)) - PROVIDE_HIDDEN (__fini_array_end = .); - } > m_text - - __etext = .; /* define a global symbol at end of code */ - __DATA_ROM = .; /* Symbol is used by startup for data initialization */ - - .interrupts_ram : - { - . = ALIGN(4); - __VECTOR_RAM__ = .; - __interrupts_ram_start__ = .; /* Create a global symbol at data start */ - *(.m_interrupts_ram) /* This is a user defined section */ - . += M_VECTOR_RAM_SIZE; - . = ALIGN(4); - __interrupts_ram_end__ = .; /* Define a global symbol at data end */ - } > m_data - - __VECTOR_RAM = DEFINED(__ram_vector_table__) ? __VECTOR_RAM__ : ORIGIN(m_interrupts); - __RAM_VECTOR_TABLE_SIZE_BYTES = DEFINED(__ram_vector_table__) ? (__interrupts_ram_end__ - __interrupts_ram_start__) : 0x0; - - .data : AT(__DATA_ROM) - { - . = ALIGN(4); - __DATA_RAM = .; - __data_start__ = .; /* create a global symbol at data start */ - *(CodeQuickAccess) /* CodeQuickAccess sections */ - *(DataQuickAccess) /* DataQuickAccess sections */ - *(.data) /* .data sections */ - *(.data*) /* .data* sections */ - *port.c.obj(.text*) - *portasm.c.obj(.text*) - *queue.c.obj(.text*) - *timers.c.obj(.text*) - *tasks.c.obj(.text*) - *inet_chksum.c.obj(.text*) - *ip4.c.obj(.text*) - *pbuf.c.obj(.text*) - *sys_arch.c.obj(.text*) - *tcp_out.c.obj(.text*) - *tcp_in.c.obj(.text*) - *mlan_11n_rxreorder.c.obj(.text*) - *mlan_wmm.c.obj(.text*) - *wifi.c.obj(.text*) - *wifi-imu.c.obj(.text*) - *fsl_adapter_rfimu.c.obj(.text*) - *fsl_cache.c.obj(.text*) - *fsl_os_abstraction_free_rtos.c.obj(.text*) - /* Explicit placement of flash and frequently executed functions in RAM */ - *fsl_adapter_flexspi_nor_flash.c.o(.text .text* .rodata .rodata*) - *mflash_drv.c.o(.text* .text* .rodata .rodata*) - *fsl_flexspi.c.o(.text .text* .rodata .rodata*) - KEEP(*(.jcr*)) - . = ALIGN(4); - _k_mem_slab_list_start = .; - KEEP(*(SORT(._k_mem_slab*))) - _k_mem_slab_list_end = .; - . = ALIGN(4); - _net_buf_pool_list = .; - KEEP(*(SORT(._net_buf_pool*))) - . = ALIGN(4); - __data_end__ = .; /* define a global symbol at data end */ - } > m_data - - __DATA_END = __DATA_ROM + (__data_end__ - __data_start__); - - /* Place holder for RAM function. - * By default CodeQuickAccess is placed in .data section, but if there's dedicated mem region - * allocated on code bus (SRAM address starts from 0x0), CodeQuickAccess can be inserted in - * .ram_function and the .ram_function can be located in the code bus region instead of m_data - * to get better performance. Remember to define __STARTUP_INITIALIZE_RAMFUNCTION macro to - * build startup_xx.S to ensure the RAM function copy from flash to RAM. */ - .ram_function : AT(__DATA_END) - { - . = ALIGN(4); - __ram_function_start__ = .; - /* RAM function sections */ - . = ALIGN(4); - __ram_function_end__ = .; - } > m_data - - text_end = ORIGIN(m_text) + LENGTH(m_text); - - ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data") - - _image_size = __DATA_END - __VECTOR_TABLE; - - /* Uninitialized data section */ - .bss : - { - /* This is used by the startup in order to initialize the .bss section */ - . = ALIGN(4); - __START_BSS = .; - __bss_start__ = .; - *(.bss) - *(.bss*) - *(COMMON) - . = ALIGN(4); - __bss_end__ = .; - __END_BSS = .; - } > m_data - - .heap (NOLOAD) : - { - . = ALIGN(8); - __end__ = .; - PROVIDE(end = .); - __HeapBase = .; - KEEP(*(.heap*)) - __HeapLimit = .; - __heap_limit = .; /* Add for _sbrk */ - } > m_data - - .stack : - { - . = ALIGN(8); - __StackLimit = .; - . += STACK_SIZE; - __StackTop = .; - } > m_data - - PROVIDE(__stack = __StackTop); - - .smu_cpu13_mbox (NOLOAD) : - { - . = ALIGN(4); - *(.smu_cpu13_mbox) - KEEP (*(.smu_cpu13_mbox)) - . = ALIGN(4); - } > m_sqram_cpu13_mbox - - .smu_cpu31_txq (NOLOAD) : - { - . = ALIGN(4); - *(.smu_cpu31_txq) - KEEP (*(.smu_cpu31_txq)) - . = ALIGN(4); - } > m_sqram_cpu13_txq - - .smu_cpu23_mbox (NOLOAD) : - { - . = ALIGN(4); - SQRAM_CPU23_MBOX = .; - *(.smu_cpu23_mbox) - KEEP (*(.smu_cpu23_mbox)) - . = ALIGN(4); - } > m_sqram_cpu23_mbox - - .smu_cpu32_txq (NOLOAD) : - { - . = ALIGN(4); - *(.smu_cpu32_txq) - KEEP (*(.smu_cpu32_txq)) - . = ALIGN(4); - } > m_sqram_cpu32_txq - - .NVM : - { - FILL(0xFFFFFFFF); - . = ORIGIN(m_nvm_region) + LENGTH(m_nvm_region) - 1; - BYTE(0xFF); - } > m_nvm_region - - .ARM.attributes 0 : { *(.ARM.attributes) } - - ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap") - - ASSERT( (DEFINED(__m_mcuboot_size__) ? (__m_mcuboot_size__ % m_sector_size) : 0) == 0, "mcuboot size is not aligned on flash sector size") - - ASSERT(NV_STORAGE_START_ADDRESS >= FW_UPDATE_STORAGE_END, "OTA storage section overflowed") -} diff --git a/examples/platform/nxp/rt/rw61x/app/project_include/freeRTOS/FreeRTOSConfig.h b/examples/platform/nxp/rt/rw61x/app/project_include/freeRTOS/FreeRTOSConfig.h deleted file mode 100644 index b61ed92c03d286..00000000000000 --- a/examples/platform/nxp/rt/rw61x/app/project_include/freeRTOS/FreeRTOSConfig.h +++ /dev/null @@ -1,185 +0,0 @@ -/* - * FreeRTOS Kernel V10.4.3 - * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * https://www.FreeRTOS.org - * https://github.com/FreeRTOS - * - */ - -#ifndef FREERTOS_CONFIG_H -#define FREERTOS_CONFIG_H - -/*----------------------------------------------------------- - * Application specific definitions. - * - * These definitions should be adjusted for your particular hardware and - * application requirements. - * - * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE - * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. - * - * See http://www.freertos.org/a00110.html. - *----------------------------------------------------------*/ - -#define configUSE_PREEMPTION 1 -#define configUSE_IDLE_HOOK 1 -#define configUSE_TICK_HOOK CHIP_DEVICE_CONFIG_ENABLE_WPA -#define configUSE_TICKLESS_IDLE 0 -#define configUSE_DAEMON_TASK_STARTUP_HOOK 0 -#define configCPU_CLOCK_HZ (SystemCoreClock) -#define configTICK_RATE_HZ ((TickType_t) 1000) -#define configMAX_PRIORITIES (10) - -/* stack size increased for NVM/LITTLE_FS save in idle task */ -#define configMINIMAL_STACK_SIZE ((uint16_t) 2048) -#ifndef configTOTAL_HEAP_SIZE -#define configTOTAL_HEAP_SIZE ((size_t) (126 * 1024)) -#endif -#define configAPPLICATION_ALLOCATED_HEAP 1 -#define configSUPPORT_STATIC_ALLOCATION 0 -#define configSUPPORT_DYNAMIC_ALLOCATION 1 -#define configFRTOS_MEMORY_SCHEME 4 -#define configMAX_TASK_NAME_LEN (16) -#define configUSE_TRACE_FACILITY 1 -#define configUSE_16_BIT_TICKS 0 -#define configIDLE_SHOULD_YIELD 1 -#define configUSE_MUTEXES 1 -#define configQUEUE_REGISTRY_SIZE 8 -#define configCHECK_FOR_STACK_OVERFLOW 0 -#define configUSE_RECURSIVE_MUTEXES 1 -#define configUSE_MALLOC_FAILED_HOOK 0 -#define configUSE_APPLICATION_TASK_TAG 0 -#define configUSE_COUNTING_SEMAPHORES 1 -#define configGENERATE_RUN_TIME_STATS 0 -#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION 0 -#define configRECORD_STACK_HIGH_ADDRESS 1 -/* Define to 0 to be able to get task information in MCUXpresso */ -#define configENABLE_BACKWARD_COMPATIBILITY 1 - -/* Co-routine definitions. */ -#define configUSE_CO_ROUTINES 0 -#define configMAX_CO_ROUTINE_PRIORITIES (2) - -/* Software timer definitions. */ -#define configUSE_TIMERS 1 -#define configTIMER_TASK_PRIORITY (configMAX_PRIORITIES - 3) -#define configTIMER_QUEUE_LENGTH 10 - -/* set to fixed value as configMINIMAL_STACK_SIZE was increased */ -#define configTIMER_TASK_STACK_DEPTH (2048) - -/* Set the following definitions to 1 to include the API function, or zero - * to exclude the API function. */ -#define INCLUDE_vTaskPrioritySet 1 -#define INCLUDE_uxTaskPriorityGet 1 -#define INCLUDE_vTaskDelete 1 -#define INCLUDE_vTaskCleanUpResources 0 -#define INCLUDE_vTaskSuspend 1 -#define INCLUDE_vTaskDelayUntil 1 -#define INCLUDE_vTaskDelay 1 -#define INCLUDE_xTaskGetSchedulerState 1 -#define INCLUDE_xTimerPendFunctionCall 1 -#define INCLUDE_xSemaphoreGetMutexHolder 1 -#define INCLUDE_uxTaskGetStackHighWaterMark 1 - -/* Tasks.c additions (e.g. Thread Aware Debug capability) */ -#define configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H 1 - -/* Normal assert() semantics without relying on the provision of an assert.h - * header file. */ -#define configASSERT(x) \ - if ((x) == 0) \ - { \ - taskDISABLE_INTERRUPTS(); \ - for (;;) \ - { \ - ; \ - } \ - } - -/* Map the FreeRTOS printf() to the logging task printf. */ -#define configPRINTF(x) vLoggingPrintf x - -/* Map the logging task's printf to the board specific output function. */ -#define configPRINT_STRING print_string - -/* Sets the length of the buffers into which logging messages are written - so - * also defines the maximum length of each log message. */ -#define configLOGGING_MAX_MESSAGE_LENGTH 256 - -/* Set to 1 to prepend each log message with a message number, the task name, - * and a time stamp. */ -#define configLOGGING_INCLUDE_TIME_AND_TASK_NAME 1 - -#define configPRE_STOP_PROCESSING vMainPreStopProcessing -#define configPOST_STOP_PROCESSING vMainPostStopProcessing - -#ifndef configENABLE_FPU -#define configENABLE_FPU 1 -#endif -#ifndef configENABLE_MPU -#define configENABLE_MPU 0 -#endif -#ifndef configENABLE_TRUSTZONE -#define configENABLE_TRUSTZONE 0 -#endif -#ifndef configRUN_FREERTOS_SECURE_ONLY -#define configRUN_FREERTOS_SECURE_ONLY 1 -#endif - -#if defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__) -/* Clock manager provides in this variable system core clock frequency */ -#include -extern uint32_t SystemCoreClock; -#endif - -/* Interrupt nesting behaviour configuration. Cortex-M specific. */ -#ifdef __NVIC_PRIO_BITS -/* __BVIC_PRIO_BITS will be specified when CMSIS is being used. */ -#define configPRIO_BITS __NVIC_PRIO_BITS -#else -#define configPRIO_BITS 4 /* 15 priority levels */ -#endif - -/* The lowest interrupt priority that can be used in a call to a "set priority" -function. */ -#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY ((1U << (configPRIO_BITS)) - 1) - -/* The highest interrupt priority that can be used by any interrupt service -routine that makes calls to interrupt safe FreeRTOS API functions. DO NOT CALL -INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A HIGHER -PRIORITY THAN THIS! (higher priorities are lower numeric values. */ -#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 2 - -/* Interrupt priorities used by the kernel port layer itself. These are generic -to all Cortex-M ports, and do not rely on any particular library functions. */ -#define configKERNEL_INTERRUPT_PRIORITY (configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS)) -/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!! -See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */ -#define configMAX_SYSCALL_INTERRUPT_PRIORITY (configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS)) - -/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS -standard names. */ -#define vPortSVCHandler SVC_Handler -#define xPortPendSVHandler PendSV_Handler -#define xPortSysTickHandler SysTick_Handler - -#endif /* FREERTOS_CONFIG_H */ diff --git a/examples/platform/nxp/rt/rw61x/app/project_include/openthread/OpenThreadConfig.h b/examples/platform/nxp/rt/rw61x/app/project_include/openthread/OpenThreadConfig.h deleted file mode 100644 index 2e27c4efb95076..00000000000000 --- a/examples/platform/nxp/rt/rw61x/app/project_include/openthread/OpenThreadConfig.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * - * Copyright (c) 2020 Google LLC. - * Copyright 2023 NXP - * All rights reserved. - * - * 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. - */ - -/** - * @file - * Overrides to default OpenThread configuration. - * - */ - -#pragma once - -// When operating in a less than ideal RF environment, having a more forgiving configuration -// of OpenThread makes thread a great deal more reliable. -#define OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_MAX_RETRY_DELAY 120 // default is 28800 -#define OPENTHREAD_CONFIG_MAC_DEFAULT_MAX_FRAME_RETRIES_DIRECT 30 // default is 3 -#define OPENTHREAD_CONFIG_MAC_DEFAULT_MAX_FRAME_RETRIES_INDIRECT 1 // default is 0 -#define OPENTHREAD_CONFIG_MAC_MAX_TX_ATTEMPTS_INDIRECT_POLLS 16 // default is 4 - -// Enable periodic parent search to speed up finding a better parent. -#define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1 // default is 0 -#define OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD -45 // default is -65 -#define OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH 1 // default is 0 - -// Use smaller maximum interval to speed up reattaching. -#define OPENTHREAD_CONFIG_MLE_ATTACH_BACKOFF_MAXIMUM_INTERVAL (60 * 10 * 1000) // default 1200000 ms - -// disable unused features -#define OPENTHREAD_CONFIG_COAP_API_ENABLE 0 -#define OPENTHREAD_CONFIG_JOINER_ENABLE 0 -#define OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE 0 -#define OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE 0 -#define OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE 0 -#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE 0 - -#ifndef OPENTHREAD_CONFIG_COMMISSIONER_ENABLE -#define OPENTHREAD_CONFIG_COMMISSIONER_ENABLE 0 -#endif -#ifndef OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE -#define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 0 -#endif - -// Enable usage of external heap allocator for ot -#define OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 1 - -// Disable TCP -#define OPENTHREAD_CONFIG_TCP_ENABLE 0 - -#define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 -#define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1 -#define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 - -#ifndef OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE -#define OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE 0 -#endif /* OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE */ - -/* - * "ot-nxp/src/rw/rw612/platform/radio.c" has a dependency on - * "examples/platforms/utils/link_metrics.cpp" which is not built in the Matter build system - * for this reason, currently we are disabling this feature - */ -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE 0 -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 0 - -// Use the NXP-supplied default platform configuration for remainder -// of OpenThread config options. -// -// NB: This file gets included during the build of OpenThread. Hence -// it cannot use "openthread" in the path to the included file. -// -#include "openthread-core-rw612-config.h" diff --git a/examples/platform/nxp/rt/rw61x/board/board.c b/examples/platform/nxp/rt/rw61x/board/board.c deleted file mode 100644 index 8d378b550477f3..00000000000000 --- a/examples/platform/nxp/rt/rw61x/board/board.c +++ /dev/null @@ -1,395 +0,0 @@ -/* - * Copyright 2021-2023 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include "board.h" -#include "fsl_cache.h" -#include "fsl_clock.h" -#include "fsl_common.h" -#include "fsl_debug_console.h" -#include "fsl_flexspi.h" -#include "fsl_io_mux.h" - -/******************************************************************************* - * Definitions - ******************************************************************************/ -#define BOARD_FLEXSPI_DLL_LOCK_RETRY (10) - -/******************************************************************************* - * Variables - ******************************************************************************/ - -/******************************************************************************* - * Prototypes - ******************************************************************************/ - -/******************************************************************************* - * Code - ******************************************************************************/ -/* Initialize debug console. */ -void BOARD_InitDebugConsole(void) -{ - uint32_t uartClkSrcFreq = 0; - - /* attach FRG0 clock to FLEXCOMM3 (debug console) */ - CLOCK_SetFRGClock(BOARD_DEBUG_UART_FRG_CLK); - CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH); - - uartClkSrcFreq = BOARD_DEBUG_UART_CLK_FREQ; - DbgConsole_Init(BOARD_DEBUG_UART_INSTANCE, BOARD_DEBUG_UART_BAUDRATE, BOARD_DEBUG_UART_TYPE, uartClkSrcFreq); -} - -static status_t flexspi_hyper_ram_read_id(FLEXSPI_Type * base, uint16_t * buffer) -{ - flexspi_transfer_t flashXfer; - status_t status; - - /* Write data */ - flashXfer.deviceAddress = 0x00; - flashXfer.port = kFLEXSPI_PortB1; - flashXfer.cmdType = kFLEXSPI_Read; - flashXfer.SeqNumber = 1; - flashXfer.seqIndex = 15; - flashXfer.data = (uint32_t *) buffer; - flashXfer.dataSize = 2; - - status = FLEXSPI_TransferBlocking(base, &flashXfer); - - return status; -} - -static status_t flexspi_hyper_ram_read_register(FLEXSPI_Type * base, uint32_t address, uint16_t * buffer) -{ - flexspi_transfer_t flashXfer; - status_t status; - - /* Write data */ - flashXfer.deviceAddress = address; - flashXfer.port = kFLEXSPI_PortB1; - flashXfer.cmdType = kFLEXSPI_Read; - flashXfer.SeqNumber = 1; - flashXfer.seqIndex = 13; - flashXfer.data = (uint32_t *) buffer; - flashXfer.dataSize = 2; - - status = FLEXSPI_TransferBlocking(base, &flashXfer); - - return status; -} - -static status_t flexspi_hyper_ram_write_register(FLEXSPI_Type * base, uint32_t address, uint16_t * buffer) -{ - flexspi_transfer_t flashXfer; - status_t status; - - /* Write data */ - flashXfer.deviceAddress = address; - flashXfer.port = kFLEXSPI_PortB1; - flashXfer.cmdType = kFLEXSPI_Write; - flashXfer.SeqNumber = 1; - flashXfer.seqIndex = 14; - flashXfer.data = (uint32_t *) buffer; - flashXfer.dataSize = 2; - - status = FLEXSPI_TransferBlocking(base, &flashXfer); - - return status; -} - -/* Initialize psram. */ -status_t BOARD_InitPsRam(void) -{ - flexspi_device_config_t deviceconfig = { - .flexspiRootClk = 320000000, /* 320MHZ SPI serial clock, DDR serial clock 160M */ - .isSck2Enabled = false, - .flashSize = 0x1000, /* 32Mb/KByte */ - .addressShift = true, - .CSIntervalUnit = kFLEXSPI_CsIntervalUnit1SckCycle, - .CSInterval = 5, - .CSHoldTime = 2, - .CSSetupTime = 3, - .dataValidTime = 1, - .columnspace = 9 + 5, /* CA:9 + CA_SHIFT:5 */ - .enableWordAddress = false, - .AWRSeqIndex = 12, - .AWRSeqNumber = 1, - .ARDSeqIndex = 11, - .ARDSeqNumber = 1, - .AHBWriteWaitUnit = kFLEXSPI_AhbWriteWaitUnit2AhbCycle, - .AHBWriteWaitInterval = 0, - .enableWriteMask = true, - }; - - uint32_t customLUT[20] = { - /* Read Data */ - [0] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DDR, kFLEXSPI_4PAD, 0xAA, kFLEXSPI_Command_DDR, kFLEXSPI_4PAD, 0x00), - [1] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_RADDR_DDR, kFLEXSPI_4PAD, 16, kFLEXSPI_Command_CADDR_DDR, kFLEXSPI_4PAD, 16), - [2] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DUMMY_DDR, kFLEXSPI_4PAD, 28, kFLEXSPI_Command_READ_DDR, kFLEXSPI_4PAD, 0x01), - - /* Write Data */ - [4] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DDR, kFLEXSPI_4PAD, 0x22, kFLEXSPI_Command_DDR, kFLEXSPI_4PAD, 0x00), - [5] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_RADDR_DDR, kFLEXSPI_4PAD, 16, kFLEXSPI_Command_CADDR_DDR, kFLEXSPI_4PAD, 16), - [6] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DUMMY_DDR, kFLEXSPI_4PAD, 28, kFLEXSPI_Command_WRITE_DDR, kFLEXSPI_4PAD, 0x01), - - /* Read Register */ - [8] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DDR, kFLEXSPI_4PAD, 0xCC, kFLEXSPI_Command_DDR, kFLEXSPI_4PAD, 0x00), - [9] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_RADDR_DDR, kFLEXSPI_4PAD, 16, kFLEXSPI_Command_CADDR_DDR, kFLEXSPI_4PAD, 16), - [10] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DUMMY_DDR, kFLEXSPI_4PAD, 12, kFLEXSPI_Command_READ_DDR, kFLEXSPI_4PAD, 0x01), - - /* Write Register */ - [12] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_DDR, kFLEXSPI_4PAD, 0x66, kFLEXSPI_Command_DDR, kFLEXSPI_4PAD, 0x00), - [13] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_RADDR_DDR, kFLEXSPI_4PAD, 16, kFLEXSPI_Command_CADDR_DDR, kFLEXSPI_4PAD, 16), - [14] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_WRITE_DDR, kFLEXSPI_4PAD, 0x01, kFLEXSPI_Command_STOP, kFLEXSPI_1PAD, 0x00), - - /* Read ID */ - [16] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_4PAD, 0xE0, kFLEXSPI_Command_RADDR_DDR, kFLEXSPI_4PAD, 16), - [17] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_CADDR_DDR, kFLEXSPI_4PAD, 16, kFLEXSPI_Command_DUMMY_RWDS_DDR, kFLEXSPI_4PAD, 0x08), - [18] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_READ_DDR, kFLEXSPI_4PAD, 0x01, kFLEXSPI_Command_STOP, kFLEXSPI_1PAD, 0x00), - }; - - flexspi_config_t config; -#if BOARD_ENABLE_PSRAM_CACHE - cache64_config_t cacheCfg; -#endif - status_t status = kStatus_Success; - - if (!BOARD_IS_XIP()) /* FlexSPI not initialized */ - { - CLOCK_EnableClock(kCLOCK_Flexspi); - RESET_ClearPeripheralReset(kFLEXSPI_RST_SHIFT_RSTn); - BOARD_SetFlexspiClock(FLEXSPI, 5U, 1U); - - /* Get FLEXSPI default settings and configure the flexspi. */ - FLEXSPI_GetDefaultConfig(&config); - - /* Init FLEXSPI. */ - config.rxSampleClock = kFLEXSPI_ReadSampleClkExternalInputFromDqsPad; - config.rxSampleClockPortB = kFLEXSPI_ReadSampleClkExternalInputFromDqsPad; - config.rxSampleClockDiff = true; - /*Set AHB buffer size for reading data through AHB bus. */ - config.ahbConfig.enableAHBPrefetch = true; - config.ahbConfig.enableAHBBufferable = true; - config.ahbConfig.enableAHBCachable = true; - config.ahbConfig.enableReadAddressOpt = true; - for (uint8_t i = 1; i < FSL_FEATURE_FLEXSPI_AHB_BUFFER_COUNT - 1; i++) - { - config.ahbConfig.buffer[i].bufferSize = 0; - } - /* FlexSPI has total 1KB RX buffer. - * Set DMA0 master to use AHB Rx Buffer0. - */ - config.ahbConfig.buffer[0].masterIndex = 10; /* GDMA */ - config.ahbConfig.buffer[0].bufferSize = 512; /* Allocate 512B bytes for DMA0 */ - config.ahbConfig.buffer[0].enablePrefetch = true; - config.ahbConfig.buffer[0].priority = 0; - /* All other masters use last buffer with 512B bytes. */ - config.ahbConfig.buffer[FSL_FEATURE_FLEXSPI_AHB_BUFFER_COUNT - 1].bufferSize = 512; -#if !(defined(FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_COMBINATIONEN) && FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_COMBINATIONEN) - config.enableCombination = false; -#endif - FLEXSPI_Init(BOARD_FLEXSPI_PSRAM, &config); - } - - /* Configure flash settings according to serial flash feature. */ - FLEXSPI_SetFlashConfig(BOARD_FLEXSPI_PSRAM, &deviceconfig, kFLEXSPI_PortB1); - - /* Update bottom LUT table (44-63). */ - FLEXSPI_UpdateLUT(BOARD_FLEXSPI_PSRAM, 44U, customLUT, ARRAY_SIZE(customLUT)); - - /* Do software reset. */ - FLEXSPI_SoftwareReset(BOARD_FLEXSPI_PSRAM); - - /* Read identification: the Manufacturer ID of ISSI's PSRAM(IS66/67WVQ8M4DALL) is 0x03U */ - uint16_t identification = 0x00U; - uint16_t registerVal = 0x00U; - status = flexspi_hyper_ram_read_id(BOARD_FLEXSPI_PSRAM, &identification); - if ((status != kStatus_Success) || (identification & 0x03U) != 0x03U) - { - status = kStatus_Fail; - } - - /* Read configuration register: the default setting is 0xF052(see table 6.1 Configuration Register in - PSRAM's(IS66/67WVQ8M4DALL) datasheet), which Latency code(CR[7:4]) is 0101b, which supported max frequency is - 200MHz.*/ - status = flexspi_hyper_ram_read_register(BOARD_FLEXSPI_PSRAM, 0x04U << 9, ®isterVal); - if ((status != kStatus_Success) || registerVal != 0xF052) - { - status = kStatus_Fail; - } - - /* Initial access latency configuration, which is located in bit3 of CR. */ - registerVal |= 0x01UL << 3; - - /* Write configuration register: */ - status = flexspi_hyper_ram_write_register(BOARD_FLEXSPI_PSRAM, 0x04U << 9, ®isterVal); - if ((status != kStatus_Success) || registerVal != 0xF05A) - { - status = kStatus_Fail; - } - - /* Reset */ - registerVal = 0x00U; - - /* Read configuration register: changes default Variable Latency into Fixed Latency: 0xF05A. - Note: FlexSPI only supports fixed latency mode for ISSI's psram. */ - status = flexspi_hyper_ram_read_register(BOARD_FLEXSPI_PSRAM, 0x04U << 9, ®isterVal); - if ((status != kStatus_Success) || registerVal != 0xF05A) - { - status = kStatus_Fail; - } - -#if BOARD_ENABLE_PSRAM_CACHE - CACHE64_GetDefaultConfig(&cacheCfg); - /* Suppose: - Flash on PC bus starting from 0x08000000, controlled by cache 0. - PSRAM on PS bus starting from 0x28000000, controlled by cache 1. - */ - CACHE64_Init(CACHE64_POLSEL1, &cacheCfg); - CACHE64_EnableWriteBuffer(CACHE64_CTRL1, true); - CACHE64_EnableCache(CACHE64_CTRL1); -#endif - - return status; -} - -void BOARD_InitSleepPinConfig(void) -{ - int32_t i; - - /* Set all non-AON pins output low level in sleep mode. */ - for (i = 0; i < 22; i++) - { - IO_MUX_SetPinOutLevelInSleep(i, IO_MUX_SleepPinLevelLow); - } - for (i = 28; i < 64; i++) - { - IO_MUX_SetPinOutLevelInSleep(i, IO_MUX_SleepPinLevelLow); - } - - /* Set RF_CNTL 0-3 output low level in sleep mode. */ - for (i = 0; i < 4; i++) - { - IO_MUX_SetRfPinOutLevelInSleep(i, IO_MUX_SleepPinLevelLow); - } -} - -void BOARD_DeinitFlash(FLEXSPI_Type * base) -{ - /* Enable FLEXSPI clock again */ - CLKCTL0->PSCCTL0_SET = CLKCTL0_PSCCTL0_SET_FLEXSPI0_MASK; - - /* Enable FLEXSPI module */ - base->MCR0 &= ~FLEXSPI_MCR0_MDIS_MASK; - - /* Wait until FLEXSPI is not busy */ - while (!((base->STS0 & FLEXSPI_STS0_ARBIDLE_MASK) && (base->STS0 & FLEXSPI_STS0_SEQIDLE_MASK))) - { - } - /* Disable module during the reset procedure */ - base->MCR0 |= FLEXSPI_MCR0_MDIS_MASK; -} - -void BOARD_InitFlash(FLEXSPI_Type * base) -{ - uint32_t status; - uint32_t lastStatus; - uint32_t retry; - - /* Loopback from DQS pad can maximize RD board flash speed. */ - if ((base->MCR0 & FLEXSPI_MCR0_RXCLKSRC_MASK) != FLEXSPI_MCR0_RXCLKSRC(1)) - { - base->MCR0 = (base->MCR0 & ~FLEXSPI_MCR0_RXCLKSRC_MASK) | FLEXSPI_MCR0_RXCLKSRC(1); - } - /* If serial root clock is >= 100 MHz, DLLEN set to 1, OVRDEN set to 0, then SLVDLYTARGET setting of 0x0 is - * recommended. */ - base->DLLCR[0] = 0x1U; - - /* Enable FLEXSPI module */ - base->MCR0 &= ~FLEXSPI_MCR0_MDIS_MASK; - - base->MCR0 |= FLEXSPI_MCR0_SWRESET_MASK; - while (base->MCR0 & FLEXSPI_MCR0_SWRESET_MASK) - { - } - - /* Need to wait DLL locked if DLL enabled */ - if (0U != (base->DLLCR[0] & FLEXSPI_DLLCR_DLLEN_MASK)) - { - lastStatus = base->STS2; - retry = BOARD_FLEXSPI_DLL_LOCK_RETRY; - /* Wait slave delay line locked and slave reference delay line locked. */ - do - { - status = base->STS2; - if ((status & (FLEXSPI_STS2_AREFLOCK_MASK | FLEXSPI_STS2_ASLVLOCK_MASK)) == - (FLEXSPI_STS2_AREFLOCK_MASK | FLEXSPI_STS2_ASLVLOCK_MASK)) - { - /* Locked */ - retry = 100; - break; - } - else if (status == lastStatus) - { - /* Same delay cell number in calibration */ - retry--; - } - else - { - retry = BOARD_FLEXSPI_DLL_LOCK_RETRY; - lastStatus = status; - } - } while (retry > 0); - /* According to ERR011377, need to delay at least 100 NOPs to ensure the DLL is locked. */ - for (; retry > 0U; retry--) - { - __NOP(); - } - } -} - -/* BOARD_SetFlexspiClock run in RAM used to configure FlexSPI clock source and divider when XIP. */ -void BOARD_SetFlexspiClock(FLEXSPI_Type * base, uint32_t src, uint32_t divider) -{ - if ((CLKCTL0->FLEXSPIFCLKSEL != CLKCTL0_FLEXSPIFCLKSEL_SEL(src)) || - ((CLKCTL0->FLEXSPIFCLKDIV & CLKCTL0_FLEXSPIFCLKDIV_DIV_MASK) != (divider - 1))) - { - /* Always deinit FLEXSPI and init FLEXSPI for the flash to make sure the flash works correctly after the - FLEXSPI root clock changed as the default FLEXSPI configuration may does not work for the new root clock - frequency. */ - BOARD_DeinitFlash(base); - - /* Disable clock before changing clock source */ - CLKCTL0->PSCCTL0_CLR = CLKCTL0_PSCCTL0_CLR_FLEXSPI0_MASK; - /* Update flexspi clock. */ - CLKCTL0->FLEXSPIFCLKSEL = CLKCTL0_FLEXSPIFCLKSEL_SEL(src); - CLKCTL0->FLEXSPIFCLKDIV |= CLKCTL0_FLEXSPIFCLKDIV_RESET_MASK; /* Reset the divider counter */ - CLKCTL0->FLEXSPIFCLKDIV = CLKCTL0_FLEXSPIFCLKDIV_DIV(divider - 1); - while ((CLKCTL0->FLEXSPIFCLKDIV) & CLKCTL0_FLEXSPIFCLKDIV_REQFLAG_MASK) - { - } - /* Enable FLEXSPI clock again */ - CLKCTL0->PSCCTL0_SET = CLKCTL0_PSCCTL0_SET_FLEXSPI0_MASK; - - BOARD_InitFlash(base); - } -} - -/* This function is used to change FlexSPI clock to a stable source before clock sources(Such as PLL and Main clock) - * updating in case XIP(execute code on FLEXSPI memory.) */ -void BOARD_FlexspiClockSafeConfig(void) -{ - /* Move FLEXSPI clock source to T3 256m / 2 to avoid instruction/data fetch issue in XIP when - * updating PLL and main clock. - */ - BOARD_SetFlexspiClock(FLEXSPI, 6U, 2U); -} - -void BOARD_CLIAttachClk(void) -{ - /* attach FRG3 clock to FLEXCOMM3 (debug console) */ - CLOCK_SetFRGClock(BOARD_CLI_FRG_CLK); - CLOCK_AttachClk(BOARD_CLI_CLK_ATTACH); -} diff --git a/examples/platform/nxp/rt/rw61x/board/board.h b/examples/platform/nxp/rt/rw61x/board/board.h deleted file mode 100644 index d24ffc3c347dbe..00000000000000 --- a/examples/platform/nxp/rt/rw61x/board/board.h +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Copyright 2021-2023 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef _BOARD_H_ -#define _BOARD_H_ - -#include "clock_config.h" -#include "fsl_common.h" -#include "fsl_gpio.h" - -/******************************************************************************* - * Definitions - ******************************************************************************/ -/*! @brief The board name */ -#define BOARD_NAME "RD-RW61X-BGA" - -#ifndef DEBUG_CONSOLE_UART_INDEX -#define DEBUG_CONSOLE_UART_INDEX 3 -#endif - -/*! @brief Macro to judge XIP */ -#define BOARD_IS_XIP() \ - ((((uint32_t) BOARD_InitDebugConsole >= 0x08000000U) && ((uint32_t) BOARD_InitDebugConsole < 0x10000000U)) || \ - (((uint32_t) BOARD_InitDebugConsole >= 0x18000000U) && ((uint32_t) BOARD_InitDebugConsole < 0x20000000U))) - -/*! @brief The UART to use for debug messages. */ -#define BOARD_DEBUG_UART_TYPE kSerialPort_Uart -#if DEBUG_CONSOLE_UART_INDEX == 0 -#define BOARD_DEBUG_UART_BASEADDR (uint32_t) FLEXCOMM0 -#define BOARD_DEBUG_UART_INSTANCE 0U -#define BOARD_DEBUG_UART USART0 -#define BOARD_DEBUG_UART_CLK_FREQ CLOCK_GetFlexCommClkFreq(0) -#define BOARD_DEBUG_UART_FRG_CLK \ - (&(const clock_frg_clk_config_t){ 0, kCLOCK_FrgPllDiv, 255, 0 }) /*!< Select FRG0 mux as frg_pll \ - */ -#define BOARD_DEBUG_UART_CLK_ATTACH kFRG_to_FLEXCOMM0 -#define BOARD_DEBUG_UART_RST kFC0_RST_SHIFT_RSTn -#define BOARD_DEBUG_UART_CLKSRC kCLOCK_Flexcomm0 -#define BOARD_UART_IRQ_HANDLER FLEXCOMM0_IRQHandler -#define BOARD_UART_IRQ FLEXCOMM0_IRQn -#elif DEBUG_CONSOLE_UART_INDEX == 3 -#define BOARD_DEBUG_UART_BASEADDR (uint32_t) FLEXCOMM3 -#define BOARD_DEBUG_UART_INSTANCE 3U -#define BOARD_DEBUG_UART USART3 -#define BOARD_DEBUG_UART_CLK_FREQ CLOCK_GetFlexCommClkFreq(3) -#define BOARD_DEBUG_UART_FRG_CLK \ - (&(const clock_frg_clk_config_t){ 3, kCLOCK_FrgPllDiv, 255, 0 }) /*!< Select FRG3 mux as frg_pll \ - */ -#define BOARD_DEBUG_UART_CLK_ATTACH kFRG_to_FLEXCOMM3 -#define BOARD_DEBUG_UART_RST kFC3_RST_SHIFT_RSTn -#define BOARD_DEBUG_UART_CLKSRC kCLOCK_Flexcomm3 -#define BOARD_UART_IRQ_HANDLER FLEXCOMM3_IRQHandler -#define BOARD_UART_IRQ FLEXCOMM3_IRQn -#else -#error "UART not supported" -#endif - -#ifndef BOARD_DEBUG_UART_BAUDRATE -#define BOARD_DEBUG_UART_BAUDRATE 115200 -#endif /* BOARD_DEBUG_UART_BAUDRATE */ - -#define BOARD_FLEXSPI_PSRAM FLEXSPI -#ifndef BOARD_ENABLE_PSRAM_CACHE -#define BOARD_ENABLE_PSRAM_CACHE 1 -#endif - -/* Board I2C for codec */ -#define BOARD_CODEC_I2C_BASEADDR I2C2 -#define BOARD_CODEC_I2C_CLOCK_FREQ CLOCK_GetFlexCommClkFreq(2U) -#define BOARD_CODEC_I2C_INSTANCE 2 -#define BOARD_CODEC_I2C_SDA_PORT 0 -#define BOARD_CODEC_I2C_SCL_PORT 0 -#define BOARD_CODEC_I2C_SDA_PIN 16 -#define BOARD_CODEC_I2C_SCL_PIN 17 - -/* Board led color mapping */ -#define LOGIC_LED_ON 1U -#define LOGIC_LED_OFF 0U - -/* A fake led on GPIO header */ -#ifndef BOARD_LED_BLUE_GPIO -#define BOARD_LED_BLUE_GPIO GPIO -#endif -#define BOARD_LED_BLUE_GPIO_PORT 0U -#ifndef BOARD_LED_BLUE_GPIO_PIN -#define BOARD_LED_BLUE_GPIO_PIN 2U -#endif - -#define LED_BLUE_INIT(output) \ - GPIO_PinInit(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PORT, BOARD_LED_BLUE_GPIO_PIN, \ - &(gpio_pin_config_t){ kGPIO_DigitalOutput, (output) }) /*!< Enable target LED_BLUE */ -#define LED_BLUE_ON() \ - GPIO_PortSet(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PORT, 1U << BOARD_LED_BLUE_GPIO_PIN) /*!< Turn on target LED_BLUE */ -#define LED_BLUE_OFF() \ - GPIO_PortClear(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PORT, 1U << BOARD_LED_BLUE_GPIO_PIN) /*!< Turn off target LED_BLUE */ -#define LED_BLUE_TOGGLE() \ - GPIO_PortToggle(BOARD_LED_BLUE_GPIO, BOARD_LED_BLUE_GPIO_PORT, 1U << BOARD_LED_BLUE_GPIO_PIN) /*!< Toggle on target LED_BLUE \ - */ - -/* Board SW PIN */ -#ifndef BOARD_SW1_GPIO -#define BOARD_SW1_GPIO GPIO -#endif -#define BOARD_SW1_GPIO_PORT 0U -#ifndef BOARD_SW1_GPIO_PIN -#define BOARD_SW1_GPIO_PIN 13U -#endif - -#ifndef BOARD_SW2_GPIO -#define BOARD_SW2_GPIO GPIO -#endif -#define BOARD_SW2_GPIO_PORT 0U -#ifndef BOARD_SW2_GPIO_PIN -#define BOARD_SW2_GPIO_PIN 14U -#endif - -#ifndef BOARD_SW3_GPIO -#define BOARD_SW3_GPIO GPIO -#endif -#define BOARD_SW3_GPIO_PORT 0U -#ifndef BOARD_SW3_GPIO_PIN -#define BOARD_SW3_GPIO_PIN 24U -#endif - -#ifndef BOARD_SW4_GPIO -#define BOARD_SW4_GPIO GPIO -#endif -#define BOARD_SW4_GPIO_PORT 0U -#ifndef BOARD_SW4_GPIO_PIN -#define BOARD_SW4_GPIO_PIN 25U -#endif - -#define BOARD_ENET0_PHY_ADDRESS (0x02U) - -/*! @brief The USIM SMARTCARD PHY configuration. */ -#define BOARD_SMARTCARD_MODULE (USIM) /*!< SMARTCARD communicational module instance */ -#define BOARD_SMARTCARD_MODULE_IRQ (USIM_IRQn) /*!< SMARTCARD communicational module IRQ handler */ -#define BOARD_SMARTCARD_CLOCK_MODULE_CLK_FREQ (CLOCK_GetUsimClkFreq()) -#define BOARD_SMARTCARD_CLOCK_VALUE (4000000U) /*!< SMARTCARD clock frequency (4Mhz) */ -#define BOARD_SMARTCARD_IRQ_PORT (0) -#define BOARD_SMARTCARD_IRQ_PIN (19) -#define BOARD_SMARTCARD_TS_TIMER_IRQ (CTIMER0_IRQn) - -/* CLI clock config */ -#define BOARD_CLI_FRG_CLK (&(const clock_frg_clk_config_t){ 3, kCLOCK_FrgPllDiv, 255, 0 }) /*!< Select FRG3 mux as frg_pll */ -#define BOARD_CLI_CLK_ATTACH kFRG_to_FLEXCOMM3 - -#if defined(__cplusplus) -extern "C" { -#endif /* __cplusplus */ - -/******************************************************************************* - * API - ******************************************************************************/ - -void BOARD_InitDebugConsole(void); -status_t BOARD_InitPsRam(void); -void BOARD_InitSleepPinConfig(void); -void BOARD_FlexspiClockSafeConfig(void); -void BOARD_CLIAttachClk(void); -AT_QUICKACCESS_SECTION_CODE(void BOARD_SetFlexspiClock(FLEXSPI_Type * base, uint32_t src, uint32_t divider)); -AT_QUICKACCESS_SECTION_CODE(void BOARD_DeinitFlash(FLEXSPI_Type * base)); -AT_QUICKACCESS_SECTION_CODE(void BOARD_InitFlash(FLEXSPI_Type * base)); - -#if defined(__cplusplus) -} -#endif /* __cplusplus */ - -#endif /* _BOARD_H_ */ diff --git a/examples/platform/nxp/rt/rw61x/board/clock_config.c b/examples/platform/nxp/rt/rw61x/board/clock_config.c deleted file mode 100644 index 5713fa2a9eeb03..00000000000000 --- a/examples/platform/nxp/rt/rw61x/board/clock_config.c +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright 2021 NXP - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include "clock_config.h" -#include "board.h" -#include "fsl_clock.h" -#include "fsl_power.h" - -/******************************************************************************* - * Definitions - ******************************************************************************/ - -/******************************************************************************* - * Variables - ******************************************************************************/ -const clock_avpll_config_t g_avpllConfig_BOARD_BootClockRUN = { .ch1Freq = kCLOCK_AvPllChFreq12p288m, - .ch2Freq = kCLOCK_AvPllChFreq64m, - .enableCali = true }; - -/*FUNCTION********************************************************************** - * - * Function Name : BOARD_FlexspiClockSafeConfig - * Description : FLEXSPI clock source safe configuration weak function. - * Called before clock source(Such as PLL, Main clock) configuration. - * Note : Users need override this function to change FLEXSPI clock source to stable source when executing - * code on FLEXSPI memory(XIP). If XIP, the function should runs in RAM and move the FLEXSPI clock - *source to an stable clock to avoid instruction/data fetch issue during clock updating. - *END**************************************************************************/ -__attribute__((weak)) void BOARD_FlexspiClockSafeConfig(void) {} - -/*FUNCTION********************************************************************** - * - * Function Name : BOARD_SetFlexspiClock - * Description : This function should be overridden if executing code on FLEXSPI memory(XIP). - * To Change FLEXSPI clock, should move to run from RAM and then configure FLEXSPI clock source. - * After the clock is changed and stable, move back to run on FLEXSPI. - * Param base : FLEXSPI peripheral base address. - * Param src : FLEXSPI clock source. - * Param divider : FLEXSPI clock divider. - *END**************************************************************************/ -__attribute__((weak)) void BOARD_SetFlexspiClock(FLEXSPI_Type * base, uint32_t src, uint32_t divider) -{ - CLKCTL0->FLEXSPIFCLKSEL = CLKCTL0_FLEXSPIFCLKSEL_SEL(src); - CLKCTL0->FLEXSPIFCLKDIV |= CLKCTL0_FLEXSPIFCLKDIV_RESET_MASK; /* Reset the divider counter */ - CLKCTL0->FLEXSPIFCLKDIV = CLKCTL0_FLEXSPIFCLKDIV_DIV(divider - 1); - while ((CLKCTL0->FLEXSPIFCLKDIV) & CLKCTL0_FLEXSPIFCLKDIV_REQFLAG_MASK) - { - } -} - -/******************************************************************************* - ************************ BOARD_InitBootClocks function ************************ - ******************************************************************************/ -void BOARD_InitBootClocks(void) -{ - BOARD_BootClockRUN(); -} - -/******************************************************************************* - ********************** Configuration BOARD_BootClockRUN *********************** - ******************************************************************************/ -/******************************************************************************* - * Variables for BOARD_BootClockRUN configuration - ******************************************************************************/ - -/******************************************************************************* - * Code for BOARD_BootClockRUN configuration - ******************************************************************************/ -void BOARD_BootClockRUN(void) -{ - if ((PMU->CAU_SLP_CTRL & PMU_CAU_SLP_CTRL_SOC_SLP_RDY_MASK) == 0U) - { - /* LPOSC not enabled, enable it */ - CLOCK_EnableClock(kCLOCK_RefClkCauSlp); - } - if ((SYSCTL2->SOURCE_CLK_GATE & SYSCTL2_SOURCE_CLK_GATE_REFCLK_SYS_CG_MASK) != 0U) - { - /* REFCLK_SYS not enabled, enable it */ - CLOCK_EnableClock(kCLOCK_RefClkSys); - } - - /* Initialize T3 clocks and t3pll_mci_48_60m_irc configured to 48.3MHz */ - CLOCK_InitT3RefClk(kCLOCK_T3MciIrc48m); - /* Enable FFRO */ - CLOCK_EnableClock(kCLOCK_T3PllMciIrcClk); - /* Enable T3 256M clock and SFRO */ - CLOCK_EnableClock(kCLOCK_T3PllMci256mClk); - - if (BOARD_IS_XIP()) - { - /* Call function BOARD_FlexspiClockSafeConfig() to move FlexSPI clock to a stable clock source to avoid - instruction/data fetch issue when updating PLL and Main clock if XIP(execute code on FLEXSPI memory). */ - BOARD_FlexspiClockSafeConfig(); - } - - /* First let M33 run on SOSC */ - CLOCK_AttachClk(kSYSOSC_to_MAIN_CLK); - CLOCK_SetClkDiv(kCLOCK_DivSysCpuAhbClk, 1); - - /* tcpu_mci_clk configured to 260MHz, tcpu_mci_flexspi_clk 312MHz. */ - CLOCK_InitTcpuRefClk(3120000000UL, kCLOCK_TcpuFlexspiDiv10); - /* Enable tcpu_mci_clk 260MHz. Keep tcpu_mci_flexspi_clk gated. */ - CLOCK_EnableClock(kCLOCK_TcpuMciClk); - - /* tddr_mci_flexspi_clk 320MHz */ - CLOCK_InitTddrRefClk(kCLOCK_TddrFlexspiDiv10); - CLOCK_EnableClock(kCLOCK_TddrMciFlexspiClk); /* 320MHz */ - - /* Enable AUX0 PLL to 260MHz. */ - CLOCK_SetClkDiv(kCLOCK_DivAux0PllClk, 1U); - - /* Init AVPLL and enable both channels. */ - CLOCK_InitAvPll(&g_avpllConfig_BOARD_BootClockRUN); - CLOCK_SetClkDiv(kCLOCK_DivAudioPllClk, 1U); - - /* Configure MainPll to 260MHz, then let CM33 run on Main PLL. */ - CLOCK_SetClkDiv(kCLOCK_DivSysCpuAhbClk, 1U); - CLOCK_SetClkDiv(kCLOCK_DivMainPllClk, 1U); - CLOCK_AttachClk(kMAIN_PLL_to_MAIN_CLK); - - /* Set SYSTICKFCLKDIV divider to value 1 */ - CLOCK_SetClkDiv(kCLOCK_DivSystickClk, 1U); - CLOCK_AttachClk(kSYSTICK_DIV_to_SYSTICK_CLK); - - if (BOARD_IS_XIP()) - { - /* Call function BOARD_SetFlexspiClock() to set clock source to aux0_pll_clk. */ - BOARD_SetFlexspiClock(FLEXSPI, 2U, 2U); - } - - /* Set PLL FRG clock to 20MHz. */ - CLOCK_SetClkDiv(kCLOCK_DivPllFrgClk, 13U); - - /* Measure main_clk on CLKOUT. Set CLKOUTFCLKDIV divider to value 100 */ - CLOCK_AttachClk(kMAIN_CLK_to_CLKOUT); - SOCCTRL->TST_TSTBUS_CTRL2 = - (SOCCTRL->TST_TSTBUS_CTRL2 & ~(SOCCIU_TST_TSTBUS_CTRL2_CLK_OUT_PAGE_SEL_MASK | SOCCIU_TST_TSTBUS_CTRL2_CLK_OUT_SEL_MASK)) | - SOCCIU_TST_TSTBUS_CTRL2_CLK_OUT_PAGE_SEL(3) | SOCCIU_TST_TSTBUS_CTRL2_CLK_OUT_SEL(14); - CLOCK_SetClkDiv(kCLOCK_DivClockOut, 100U); - - /* Set SystemCoreClock variable. */ - SystemCoreClock = BOARD_BOOTCLOCKRUN_CORE_CLOCK; -} - -/******************************************************************************* - ********************** Configuration BOARD_BootClockLPR *********************** - ******************************************************************************/ -/******************************************************************************* - * Variables for BOARD_BootClockLPR configuration - ******************************************************************************/ - -/******************************************************************************* - * Code for BOARD_BootClockLPR configuration - ******************************************************************************/ -void BOARD_BootClockLPR(void) -{ - CLOCK_DisableClock(kCLOCK_Pkc); - CLOCK_DisableClock(kCLOCK_Els); - CLOCK_DisableClock(kCLOCK_ElsApb); - CLOCK_DisableClock(kCLOCK_Otp); - CLOCK_DisableClock(kCLOCK_Wwdt0); - CLOCK_DisableClock(kCLOCK_Flexcomm0); - CLOCK_DisableClock(kCLOCK_Flexcomm2); - CLOCK_DisableClock(kCLOCK_Flexcomm3); - CLOCK_DisableClock(kCLOCK_Crc); - CLOCK_DisableClock(kCLOCK_Itrc); - - RESET_SetPeripheralReset(kPKC_RST_SHIFT_RSTn); - // RESET_SetPeripheralReset(kELS_RST_SHIFT_RSTn); - RESET_SetPeripheralReset(kELS_APB_RST_SHIFT_RSTn); - RESET_SetPeripheralReset(kELS_GDET_REF_RST_SHIFT_RSTn); - RESET_SetPeripheralReset(kOTP_RST_SHIFT_RSTn); - RESET_SetPeripheralReset(kWWDT_RST_SHIFT_RSTn); - RESET_SetPeripheralReset(kFC0_RST_SHIFT_RSTn); - RESET_SetPeripheralReset(kFC2_RST_SHIFT_RSTn); - RESET_SetPeripheralReset(kFC3_RST_SHIFT_RSTn); - RESET_SetPeripheralReset(kCRC_RST_SHIFT_RSTn); - - if ((PMU->CAU_SLP_CTRL & PMU_CAU_SLP_CTRL_SOC_SLP_RDY_MASK) == 0U) - { - /* LPOSC not enabled, enable it */ - CLOCK_EnableClock(kCLOCK_RefClkCauSlp); - } - if ((SYSCTL2->SOURCE_CLK_GATE & SYSCTL2_SOURCE_CLK_GATE_REFCLK_SYS_CG_MASK) != 0U) - { - /* REFCLK_SYS not enabled, enable it */ - CLOCK_EnableClock(kCLOCK_RefClkSys); - } - - if (BOARD_IS_XIP()) - { - /* Initialize T3 clocks and t3pll_mci_48_60m_irc configured to 48.3MHz */ - CLOCK_InitT3RefClk(kCLOCK_T3MciIrc48m); - /* Enable T3 256M clock and SFRO */ - CLOCK_EnableClock(kCLOCK_T3PllMci256mClk); - - /* Call function BOARD_FlexspiClockSafeConfig() to move FlexSPI clock to a stable clock source to avoid - instruction/data fetch issue when updating PLL and Main clock if XIP(execute code on FLEXSPI memory). */ - BOARD_FlexspiClockSafeConfig(); - } - else - { - RESET_ClearPeripheralReset(kFLEXSPI_RST_SHIFT_RSTn); - BOARD_DeinitFlash(FLEXSPI); - CLOCK_AttachClk(kNONE_to_FLEXSPI_CLK); - CLOCK_DisableClock(kCLOCK_Flexspi); - RESET_SetPeripheralReset(kFLEXSPI_RST_SHIFT_RSTn); - } - - /* Deinitialize TDDR clocks */ - CLOCK_DeinitTddrRefClk(); - - /* First let M33 run on SOSC */ - CLOCK_AttachClk(kSYSOSC_to_MAIN_CLK); - CLOCK_SetClkDiv(kCLOCK_DivSysCpuAhbClk, 1); - - /* tcpu_mci_clk configured to 260MHz, tcpu_mci_flexspi_clk 312MHz. */ - CLOCK_InitTcpuRefClk(3120000000UL, kCLOCK_TcpuFlexspiDiv10); - /* Enable tcpu_mci_clk 260MHz. Keep tcpu_mci_flexspi_clk gated. */ - CLOCK_EnableClock(kCLOCK_TcpuMciClk); - - /* Enable AUX0 PLL to 260MHz. */ - CLOCK_SetClkDiv(kCLOCK_DivAux0PllClk, 1U); - - /* Configure MainPll to 260MHz, then let CM33 run on Main PLL. */ - CLOCK_SetClkDiv(kCLOCK_DivSysCpuAhbClk, 1U); - CLOCK_SetClkDiv(kCLOCK_DivMainPllClk, 1U); - CLOCK_AttachClk(kMAIN_PLL_to_MAIN_CLK); - - /* Set SYSTICKFCLKDIV divider to value 1 */ - CLOCK_SetClkDiv(kCLOCK_DivSystickClk, 1U); - CLOCK_AttachClk(kSYSTICK_DIV_to_SYSTICK_CLK); - - if (BOARD_IS_XIP()) - { - /* Call function BOARD_SetFlexspiClock() to set clock source to aux0_pll_clk. */ - BOARD_SetFlexspiClock(FLEXSPI, 2U, 2U); - } - - /* Set PLL FRG clock to 20MHz. */ - CLOCK_SetClkDiv(kCLOCK_DivPllFrgClk, 13U); - - /* Deinitialize T3 clocks */ - CLOCK_DeinitT3RefClk(); - - /* Deinitialize AVPLL clocks */ - CLOCK_DeinitAvPll(); - - /* Set SystemCoreClock variable. */ - SystemCoreClock = BOARD_BOOTCLOCKRUN_CORE_CLOCK; -} diff --git a/examples/platform/nxp/rt/rw61x/board/clock_config.h b/examples/platform/nxp/rt/rw61x/board/clock_config.h deleted file mode 100644 index e5ecfed533844d..00000000000000 --- a/examples/platform/nxp/rt/rw61x/board/clock_config.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2021 NXP - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef _CLOCK_CONFIG_H_ -#define _CLOCK_CONFIG_H_ - -#include "fsl_common.h" - -/******************************************************************************* - * Definitions - ******************************************************************************/ - -/******************************************************************************* - ************************ BOARD_InitBootClocks function ************************ - ******************************************************************************/ - -#if defined(__cplusplus) -extern "C" { -#endif /* __cplusplus*/ - -/*! - * @brief This function executes default configuration of clocks. - * - */ -void BOARD_InitBootClocks(void); - -#if defined(__cplusplus) -} -#endif /* __cplusplus*/ - -/******************************************************************************* - ********************** Configuration BOARD_BootClockRUN *********************** - ******************************************************************************/ -/******************************************************************************* - * Definitions for BOARD_BootClockRUN configuration - ******************************************************************************/ -#define BOARD_BOOTCLOCKRUN_CORE_CLOCK 260000000U /*!< Core clock frequency: 260000000Hz */ - -/******************************************************************************* - * API for BOARD_BootClockRUN configuration - ******************************************************************************/ -#if defined(__cplusplus) -extern "C" { -#endif /* __cplusplus*/ - -/*! - * @brief This function executes configuration of clocks. - * - */ -void BOARD_BootClockRUN(void); - -/*! - * @brief This function executes configuration of clocks for low power run. - * - */ -void BOARD_BootClockLPR(void); - -#if defined(__cplusplus) -} -#endif /* __cplusplus*/ - -#endif /* _CLOCK_CONFIG_H_ */ diff --git a/examples/platform/nxp/rt/rw61x/board/hardware_init.c b/examples/platform/nxp/rt/rw61x/board/hardware_init.c deleted file mode 100644 index 1d7963d6ddb7e1..00000000000000 --- a/examples/platform/nxp/rt/rw61x/board/hardware_init.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2020, 2023 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -/*${header:start}*/ -#include "board.h" -#include "clock_config.h" -#include "fsl_device_registers.h" -#include "pin_mux.h" -/*${header:end}*/ - -static gpio_pin_config_t pinConfig = { - kGPIO_DigitalOutput, - 0, -}; - -/*${function:start}*/ -void BOARD_InitHardware(void) -{ - BOARD_InitBootPins(); - BOARD_InitBootClocks(); - BOARD_InitDebugConsole(); - - CLOCK_EnableClock(kCLOCK_Flexspi); - RESET_ClearPeripheralReset(kFLEXSPI_RST_SHIFT_RSTn); - - /* Use aux0_pll_clk / 2 */ - BOARD_SetFlexspiClock(FLEXSPI, 2U, 2U); -} -/*${function:end}*/ diff --git a/examples/platform/nxp/rt/rw61x/board/peripherals.c b/examples/platform/nxp/rt/rw61x/board/peripherals.c deleted file mode 100644 index 5fc55eee46fdc4..00000000000000 --- a/examples/platform/nxp/rt/rw61x/board/peripherals.c +++ /dev/null @@ -1,149 +0,0 @@ -/*********************************************************************************************************************** - * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file - * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. - **********************************************************************************************************************/ - -/* clang-format off */ -/* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* -!!GlobalInfo -product: Peripherals v11.0 -processor: MIMXRT1062xxxxA -package_id: MIMXRT1062DVL6A -mcu_data: ksdk2_0 -processor_version: 11.0.1 -board: MIMXRT1060-EVKB -functionalGroups: -- name: BOARD_InitPeripherals - UUID: 96c1cec6-3bd3-47a2-8301-f38e4b0dd25f - called_from_default_init: true - selectedCore: core0 - * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ - -/* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* -component: -- type: 'system' -- type_id: 'system' -- global_system_definitions: - - user_definitions: 'extern uint32_t NV_STORAGE_START_ADDRESS_OFFSET[];\nextern uint32_t NV_STORAGE_MAX_SECTORS[];\n\n\n#define LITTLEFS_START_ADDR (uint32_t)(NV_STORAGE_START_ADDRESS_OFFSET)\n' - - user_includes: '\n' - * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ - -/* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* -component: -- type: 'uart_cmsis_common' -- type_id: 'uart_cmsis_common_9cb8e302497aa696fdbb5a4fd622c2a8' -- global_USART_CMSIS_common: - - quick_selection: 'default' - * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ - -/* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* -component: -- type: 'gpio_adapter_common' -- type_id: 'gpio_adapter_common_57579b9ac814fe26bf95df0a384c36b6' -- global_gpio_adapter_common: - - quick_selection: 'default' - * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ -/* clang-format on */ - -/*********************************************************************************************************************** - * Included files - **********************************************************************************************************************/ -#include "peripherals.h" - -/*********************************************************************************************************************** - * BOARD_InitPeripherals functional group - **********************************************************************************************************************/ -/*********************************************************************************************************************** - * LittleFS initialization code - **********************************************************************************************************************/ -/* clang-format off */ -/* TEXT BELOW IS USED AS SETTING FOR TOOLS ************************************* -instance: -- name: 'LittleFS' -- type: 'littlefs' -- mode: 'general' -- custom_name_enabled: 'false' -- type_id: 'littlefs_7e89bf6c938031bfd17176a3aacf1bc3' -- functional_group: 'BOARD_InitPeripherals' -- config_sets: - - general_config: - - moduleInclude: 'fwk_platform_flash.h' - - lfsConfig: - - enableUserContext: 'true' - - userContext: - - contextVar: '(void*)&LittleFS_ctx' - - contextDef: 'extern struct lfs_mflash_ctx LittleFS_ctx;' - - userCallbacks: - - read: 'lfs_mflash_read' - - prog: 'lfs_mflash_prog' - - erase: 'lfs_mflash_erase' - - sync: 'lfs_mflash_sync' - - lock: 'lfs_mutex_lock' - - unlock: 'lfs_mutex_unlock' - - readSize: '16' - - progSize: '256' - - blockSize: '4096' - - firstBlock: '(uint32_t)(NV_STORAGE_START_ADDRESS_OFFSET)' - - blockCount: '(uint32_t)(NV_STORAGE_MAX_SECTORS)' - - blockCycles: '100' - - cacheSize: '256' - - lookaheadSize: '16' - - enableReadBuff: 'false' - - readBuffer: - - customBuffer: 'false' - - enableProgBuff: 'false' - - progBuffer: - - customBuffer: 'false' - - enableLookaheadBuff: 'false' - - lookaheadBuffer: - - customBuffer: 'false' - - enableOptionalSizes: 'false' - - optionalSizes: - - name_max: '255' - - file_max: '0x7FFFFFFF' - - attr_max: '1022' - - metadata_max: '4096' - - initLFS: 'false' - - initConfig: - - lfsObj: 'LittleFS_system' - - mountLFS: 'disable' - * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR TOOLS **********/ -/* clang-format on */ -/* LittleFS context */ -extern struct lfs_mflash_ctx LittleFS_ctx; -const struct lfs_config LittleFS_config = { .context = (void *) &LittleFS_ctx, - .read = lfs_mflash_read, - .prog = lfs_mflash_prog, - .erase = lfs_mflash_erase, - .sync = lfs_mflash_sync, -#ifdef LFS_THREADSAFE - .lock = lfs_mutex_lock, - .unlock = lfs_mutex_unlock, -#endif - .read_size = LITTLEFS_READ_SIZE, - .prog_size = LITTLEFS_PROG_SIZE, - .block_size = LITTLEFS_BLOCK_SIZE, - .block_count = LITTLEFS_BLOCK_COUNT, - .block_cycles = LITTLEFS_BLOCK_CYCLES, - .cache_size = LITTLEFS_CACHE_SIZE, - .lookahead_size = LITTLEFS_LOOKAHEAD_SIZE }; - -/* Empty initialization function (commented out) -static void LittleFS_init(void) { -} */ - -/*********************************************************************************************************************** - * Initialization functions - **********************************************************************************************************************/ -void BOARD_InitPeripherals(void) -{ - /* Initialize components */ -} - -/*********************************************************************************************************************** - * BOARD_InitBootPeripherals function - **********************************************************************************************************************/ -void BOARD_InitBootPeripherals(void) -{ - BOARD_InitPeripherals(); -} diff --git a/examples/platform/nxp/rt/rw61x/board/peripherals.h b/examples/platform/nxp/rt/rw61x/board/peripherals.h deleted file mode 100644 index 6c50bc87364ccf..00000000000000 --- a/examples/platform/nxp/rt/rw61x/board/peripherals.h +++ /dev/null @@ -1,102 +0,0 @@ -/*********************************************************************************************************************** - * This file was generated by the MCUXpresso Config Tools. Any manual edits made to this file - * will be overwritten if the respective MCUXpresso Config Tools is used to update this file. - **********************************************************************************************************************/ - -#ifndef _PERIPHERALS_H_ -#define _PERIPHERALS_H_ - -#define CHIP_PLAT_NO_NVM 0 -#define CHIP_PLAT_NVM_FWK 1 -#define CHIP_PLAT_LITTLEFS 2 -#define CHIP_PLAT_KEY_STORAGE 3 - -#ifndef CHIP_PLAT_NVM_SUPPORT -#define CHIP_PLAT_NVM_SUPPORT CHIP_PLAT_NO_NVM -#endif - -/*********************************************************************************************************************** - * Included files - **********************************************************************************************************************/ -#include "fsl_common.h" - -#if (CHIP_PLAT_NVM_SUPPORT == CHIP_PLAT_NVM_FWK || CHIP_PLAT_NVM_SUPPORT == CHIP_PLAT_LITTLEFS) -#include "fwk_platform_flash.h" -#elif (CHIP_PLAT_NVM_SUPPORT == CHIP_PLAT_KEY_STORAGE) -#include "fwk_lfs_mflash.h" -#endif - -#include "lfs.h" - -#if defined(__cplusplus) -extern "C" { -#endif /* __cplusplus */ - -/*********************************************************************************************************************** - * User definitions - **********************************************************************************************************************/ -extern uint32_t NV_STORAGE_START_ADDRESS_OFFSET[]; -extern uint32_t NV_STORAGE_MAX_SECTORS[]; - -#define LITTLEFS_START_ADDR (uint32_t)(NV_STORAGE_START_ADDRESS_OFFSET) - -/*********************************************************************************************************************** - * Definitions - **********************************************************************************************************************/ -/* Definitions for BOARD_InitPeripherals functional group */ -/* Maximum block read size definition */ -#define LITTLEFS_READ_SIZE 16 -/* Maximum block program size definition */ -#define LITTLEFS_PROG_SIZE 256 -/* Erasable block size definition */ -#define LITTLEFS_BLOCK_SIZE 4096 -/* Block count definition */ -#define LITTLEFS_BLOCK_COUNT (uint32_t)(NV_STORAGE_MAX_SECTORS) -/* Block cycles definition */ -#define LITTLEFS_BLOCK_CYCLES 100 -/* Minimum block cache size definition */ -#define LITTLEFS_CACHE_SIZE 256 -/* Minimum lookahead buffer size definition */ -#define LITTLEFS_LOOKAHEAD_SIZE 16 -/* Block starting address definition */ -#define LITTLEFS_START_ADDR (uint32_t)(NV_STORAGE_START_ADDRESS_OFFSET) - -/*********************************************************************************************************************** - * Global variables - **********************************************************************************************************************/ -/* LittleFS configuration */ -extern const struct lfs_config LittleFS_config; - -/*********************************************************************************************************************** - * Callback functions - **********************************************************************************************************************/ -/* LittleFS read a block region callback*/ -extern int lfs_mflash_read(const struct lfs_config *, lfs_block_t, lfs_off_t, void *, lfs_size_t); -/* LittleFS program a block region callback*/ -extern int lfs_mflash_prog(const struct lfs_config *, lfs_block_t, lfs_off_t, const void *, lfs_size_t); -/* LittleFS erase a block callback*/ -extern int lfs_mflash_erase(const struct lfs_config *, lfs_block_t); -/* LittleFS state sync callback*/ -extern int lfs_mflash_sync(const struct lfs_config *); -/* LittleFS state lock callback*/ -extern int lfs_mutex_lock(const struct lfs_config *); -/* LittleFS state unlock callback*/ -extern int lfs_mutex_unlock(const struct lfs_config *); - -/*********************************************************************************************************************** - * Initialization functions - **********************************************************************************************************************/ - -void BOARD_InitPeripherals(void); - -/*********************************************************************************************************************** - * BOARD_InitBootPeripherals function - **********************************************************************************************************************/ - -void BOARD_InitBootPeripherals(void); - -#if defined(__cplusplus) -} -#endif - -#endif /* _PERIPHERALS_H_ */ diff --git a/examples/platform/nxp/rt/rw61x/board/pin_mux.c b/examples/platform/nxp/rt/rw61x/board/pin_mux.c deleted file mode 100644 index 8ab48ff62e8d0f..00000000000000 --- a/examples/platform/nxp/rt/rw61x/board/pin_mux.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2021, 2023 NXP. - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include "pin_mux.h" -#include "fsl_common.h" -#include "fsl_io_mux.h" - -/* FUNCTION ************************************************************************************************************ - * - * Function Name : BOARD_InitBootPins - * Description : Calls initialization functions. - * - * END ****************************************************************************************************************/ -void BOARD_InitBootPins(void) -{ - BOARD_InitPins(); -} - -/* FUNCTION ************************************************************************************************************ - * - * Function Name : BOARD_InitPins - * Description : Configures pin routing and optionally pin electrical features. - * - * END ****************************************************************************************************************/ -void BOARD_InitPins(void) -{ /*!< Function assigned for the core: Cortex-M33[cm33] */ - IO_MUX_SetPinMux(IO_MUX_FC3_USART_DATA); - IO_MUX_SetPinMux(IO_MUX_GPIO25); - /* FLEXCOMM0 TX for logging*/ - IO_MUX_SetPinMux(IO_MUX_FC0_USART_DATA); -} - -/*********************************************************************************************************************** - * EOF - **********************************************************************************************************************/ diff --git a/examples/platform/nxp/rt/rw61x/board/pin_mux.h b/examples/platform/nxp/rt/rw61x/board/pin_mux.h deleted file mode 100644 index d01bc202b03184..00000000000000 --- a/examples/platform/nxp/rt/rw61x/board/pin_mux.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2021 NXP. - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef _PIN_MUX_H_ -#define _PIN_MUX_H_ - -/*********************************************************************************************************************** - * Definitions - **********************************************************************************************************************/ - -/*! - * @addtogroup pin_mux - * @{ - */ - -/*********************************************************************************************************************** - * API - **********************************************************************************************************************/ - -#if defined(__cplusplus) -extern "C" { -#endif - -/*! - * @brief Calls initialization functions. - * - */ -void BOARD_InitBootPins(void); - -/*! - * @brief Configures pin routing and optionally pin electrical features. - * - */ -void BOARD_InitPins(void); /*!< Function assigned for the core: Cortex-M4[cm4] */ - -#if defined(__cplusplus) -} -#endif - -/*! - * @} - */ -#endif /* _PIN_MUX_H_ */ - -/*********************************************************************************************************************** - * EOF - **********************************************************************************************************************/ diff --git a/examples/thermostat/nxp/rt/rw61x/BUILD.gn b/examples/thermostat/nxp/rt/rw61x/BUILD.gn index 3b7b8d181e3939..409fa9efbbce0a 100644 --- a/examples/thermostat/nxp/rt/rw61x/BUILD.gn +++ b/examples/thermostat/nxp/rt/rw61x/BUILD.gn @@ -49,7 +49,8 @@ declare_args() { setup_discriminator = 3840 } -example_platform_dir = "${chip_root}/examples/platform/nxp/${nxp_platform}" +example_platform_dir = + "${nxp_sdk_matter_support_root}/examples/platform/${nxp_platform}" common_example_dir = "${chip_root}/examples/platform/nxp/common" if (tcp_download == true && wifi_connect == true) { diff --git a/scripts/setup/nxp/update_nxp_sdk.py b/scripts/setup/nxp/update_nxp_sdk.py new file mode 100755 index 00000000000000..da948306f887d7 --- /dev/null +++ b/scripts/setup/nxp/update_nxp_sdk.py @@ -0,0 +1,120 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2024 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 argparse +import logging +import os +import shutil +import subprocess +import sys +from dataclasses import dataclass + +CHIP_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../..')) + + +@dataclass(init=False) +class NxpSdk: + sdk_name: str + sdk_target_location: str + sdk_manifest_path: str + + def __init__(self, name, sdk_target_location): + self.sdk_name = name + self.sdk_target_location = sdk_target_location + self.sdk_manifest_path = os.path.abspath(os.path.join(sdk_target_location, 'manifest')) + + +def NxpSdk_k32w0(): + rel_path_k32w0 = 'third_party/nxp/nxp_matter_support/github_sdk/k32w0' + sdk = NxpSdk('k32w0', os.path.abspath(os.path.join(CHIP_ROOT, rel_path_k32w0))) + return sdk + + +ALL_PLATFORM_SDK = [ + NxpSdk_k32w0(), +] + +ALL_PLATFORM_NAME = [p.sdk_name for p in ALL_PLATFORM_SDK] + + +def clean_sdk_local_changes(sdk_location): + logging.warning("SDK will be cleaned all local modification(s) will be lost") + # Cleaning all local modifications + git_clean_command = "git reset --hard && git clean -xdf" + command = ['west', 'forall', '-c', git_clean_command, '-a'] + subprocess.run(command, cwd=sdk_location, check=True) + + +def init_nxp_sdk_version(nxp_sdk, force): + print("Init SDK in: " + nxp_sdk.sdk_target_location) + west_path = os.path.join(nxp_sdk.sdk_target_location, '.west') + if os.path.exists(west_path): + if not force: + logging.error("SDK is already initialized, use --force to force init") + sys.exit(1) + shutil.rmtree(west_path) + + command = ['west', 'init', '-l', nxp_sdk.sdk_manifest_path, '--mf', 'west.yml'] + subprocess.run(command, check=True) + update_nxp_sdk_version(nxp_sdk, force) + + +def update_nxp_sdk_version(nxp_sdk, force): + print("Update SDK in " + nxp_sdk.sdk_target_location) + if not os.path.exists(os.path.join(nxp_sdk.sdk_target_location, '.west')): + logging.error("--update-only error SDK is not initialized") + sys.exit(1) + command = ['west', 'update', '--fetch', 'smart'] + try: + subprocess.run(command, cwd=nxp_sdk.sdk_target_location, check=True) + except (RuntimeError, subprocess.CalledProcessError) as exception: + if force: + if nxp_sdk.sdk_name == 'k32w0': + logging.error('Force update not yet supported for %s platform', nxp_sdk.sdk_name) + else: + # In case of force update option and in case of update failure: + # 1. try to clean all local modications if any + # 2. Retry the west update command. It should be successfull now as all local modifications have been cleaned + clean_sdk_local_changes(nxp_sdk.sdk_target_location) + subprocess.run(command, cwd=nxp_sdk.sdk_target_location, check=True) + else: + logging.exception( + 'Error SDK cannot be updated, local changes should be cleaned manually or use --force to force update %s', exception) + + +def main(): + + parser = argparse.ArgumentParser(description='Checkout or update relevant NXP SDK') + parser.add_argument( + "--update-only", help="Update NXP SDK to the correct version. Would fail if the SDK does not exist", action="store_true") + parser.add_argument('--platform', nargs='+', choices=ALL_PLATFORM_NAME, default=ALL_PLATFORM_NAME, + help='Allows to select which SDK for a particular NXP platform to initialize') + parser.add_argument('--force', action='store_true', + help='Force SDK initialization, hard clean will be done in case of failure - WARNING -- All local SDK modification(s) will be lost') + + args = parser.parse_args() + + for current_plat in args.platform: + nxp_sdk = [p for p in ALL_PLATFORM_SDK if p.sdk_name == current_plat][0] + if args.update_only: + update_nxp_sdk_version(nxp_sdk, args.force) + else: + init_nxp_sdk_version(nxp_sdk, args.force) + + +if __name__ == '__main__': + main() diff --git a/src/platform/nxp/k32w/k32w0/args.gni b/src/platform/nxp/k32w/k32w0/args.gni index 404daaa3e916db..5f90c8248e207a 100644 --- a/src/platform/nxp/k32w/k32w0/args.gni +++ b/src/platform/nxp/k32w/k32w0/args.gni @@ -23,7 +23,8 @@ nxp_use_lwip = false nxp_use_mbedtls_port = false if (getenv("NXP_K32W0_SDK_ROOT") == "") { - k32w0_sdk_root = "${chip_root}/third_party/nxp/k32w0_sdk/repo/core" + k32w0_sdk_root = + "${nxp_sdk_matter_support_root}/github_sdk/k32w0_sdk/repo/core" } else { k32w0_sdk_root = getenv("NXP_K32W0_SDK_ROOT") } diff --git a/third_party/nxp/BUILD.gn b/third_party/nxp/BUILD.gn deleted file mode 100644 index f35b5f9c852ba5..00000000000000 --- a/third_party/nxp/BUILD.gn +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright (c) 2022 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/nxp_sdk.gni") -import("${nxp_sdk_build_root}/nxp_sdk.gni") - -group("nxp_sdk") { - public_deps = [ "${nxp_sdk_build_root}/${nxp_sdk_name}:nxp_sdk" ] -} - -if (nxp_use_lwip) { - group("nxp_lwip") { - public_deps = [ "${nxp_sdk_build_root}/${nxp_sdk_name}:nxp_lwip" ] - } -} - -if (nxp_use_mbedtls_port) { - group("nxp_mbedtls") { - public_deps = [ "${nxp_sdk_build_root}/${nxp_sdk_name}:nxp_mbedtls" ] - } -} diff --git a/third_party/nxp/k32w0_sdk/BUILD.gn b/third_party/nxp/k32w0_sdk/BUILD.gn deleted file mode 100644 index 6052497bd43145..00000000000000 --- a/third_party/nxp/k32w0_sdk/BUILD.gn +++ /dev/null @@ -1,104 +0,0 @@ -# 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/chip.gni") -import("//build_overrides/mbedtls.gni") -import("//build_overrides/nxp_sdk.gni") - -import("${mbedtls_root}/mbedtls.gni") -import("${nxp_sdk_build_root}/nxp_sdk.gni") - -import("${nxp_sdk_build_root}/${nxp_sdk_name}/${nxp_sdk_name}.gni") - -declare_args() { - # Build target to use for k32w0 SDK. Use this to set global SDK defines. - k32w0_sdk_target = "" -} - -assert(k32w0_sdk_target != "", "k32w0_sdk_target must be specified") - -group("nxp_sdk") { - public_deps = [ k32w0_sdk_target ] -} - -config("mbedtls_k32w0_config") { - defines = [ - "MBEDTLS_CONFIG_FILE=", - "MBEDTLS_USER_CONFIG_FILE=", - - # These options should really be in the config.h... - "MBEDTLS_FREESCALE_FREERTOS_CALLOC_ALT=1", - "MBEDTLS_THREADING_C=1", - "MBEDTLS_THREADING_ALT=1", - "MBEDTLS_X509_CSR_WRITE_C", - "MBEDTLS_X509_CREATE_C", - "MBEDTLS_PEM_WRITE_C", - "MBEDTLS_HKDF_C", - "MBEDTLS_PKCS5_C", - ] - - if (chip_mdns == "none") { - defines += [ - "MBEDTLS_PK_WRITE_C", - "MBEDTLS_OID_C", - "MBEDTLS_BASE64_C", - ] - } - - if (chip_with_factory_data == 1) { - defines += [ - "MBEDTLS_X509_CRT_PARSE_C", - "MBEDTLS_X509_USE_C", - ] - } - - if (chip_crypto == "platform" && chip_crypto_flavor == "tinycrypt") { - defines += [ - "MBEDTLS_USE_TINYCRYPT", - "MBEDTLS_OPTIMIZE_TINYCRYPT_ASM", - ] - } - - include_dirs = [ chip_root ] - - if (chip_crypto == "platform" && chip_crypto_flavor == "tinycrypt") { - include_dirs += [ - "${chip_root}/third_party/openthread/ot-nxp/third_party/tinycrypt/inc", - ] - } -} - -mbedtls_target("mbedtls") { - sources = [ - "${k32w0_sdk_root}/middleware/mbedtls/port/ksdk/aes_alt.c", - "${k32w0_sdk_root}/middleware/mbedtls/port/matter/ksdk_mbedtls.c", - ] - - if (chip_crypto == "platform" && chip_crypto_flavor == "tinycrypt") { - sources += [ - "${chip_root}/third_party/openthread/ot-nxp/third_party/tinycrypt/src/ecc.c", - "${chip_root}/third_party/openthread/ot-nxp/third_party/tinycrypt/src/ecc_dh.c", - "${chip_root}/third_party/openthread/ot-nxp/third_party/tinycrypt/src/ecc_dsa.c", - "${chip_root}/third_party/openthread/ot-nxp/third_party/tinycrypt/src/tinycrypt_util.c", - ] - } - - public_configs = [ ":mbedtls_k32w0_config" ] - - public_deps = [ - ":nxp_sdk", - "${chip_root}/third_party/openthread/platforms/nxp/k32w/k32w0:openthread_mbedtls_config_k32w0", - ] -} diff --git a/third_party/nxp/k32w0_sdk/k32w0_sdk.gni b/third_party/nxp/k32w0_sdk/k32w0_sdk.gni deleted file mode 100644 index 509a4584316a9f..00000000000000 --- a/third_party/nxp/k32w0_sdk/k32w0_sdk.gni +++ /dev/null @@ -1,744 +0,0 @@ -# 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/build.gni") -import("//build_overrides/chip.gni") -import("//build_overrides/mbedtls.gni") -import("//build_overrides/nxp_sdk.gni") -import("//build_overrides/openthread.gni") - -import("${build_root}/config/compiler/compiler.gni") -import("${chip_root}/src/crypto/crypto.gni") -import("${chip_root}/src/lib/core/core.gni") -import("${chip_root}/src/platform/device.gni") -import("${chip_root}/src/platform/nxp/${nxp_platform}/args.gni") - -declare_args() { - # Location of the k32w0 SDK. - k32w0_sdk_root = getenv("NXP_K32W0_SDK_ROOT") - chip_with_DK6 = true - chip_with_OM15082 = 0 - chip_with_ot_cli = 0 - chip_with_low_power = 0 - build_for_k32w061 = 1 - build_for_k32w041am = 0 - build_for_k32w041a = 0 - build_for_k32w041 = 0 - device = "K32W061" - board = "k32w061dk6" - chip_with_ntag = 1 - chip_with_high_power = 0 - use_fro_32k = 0 - use_custom_factory_provider = 0 - chip_crypto_flavor = "NXP-Ultrafast-P256" - chip_reduce_ssbl_size = false - chip_enable_ota_firmware_processor = 1 - chip_enable_ota_factory_data_processor = 0 - chip_with_pdm_encryption = 1 - ota_custom_entry_address = "0x000C1000" - use_antenna_diversity = 0 - - chip_with_ota_encryption = 0 - chip_with_ota_key = "1234567890ABCDEFA1B2C3D4E5F6F1B4" - chip_with_sdk_package = 1 -} - -assert(k32w0_sdk_root != "", "k32w0_sdk_root must be specified") - -if (chip_crypto == "platform") { - assert(chip_crypto_flavor == "tinycrypt" || - chip_crypto_flavor == "NXP-Ultrafast-P256", - "choose tinycrypt or NXP-Ultrafast-P256 as crypto platform") -} - -# Defines an k32w SDK build target. -# -# Parameters: -# k32w0_sdk_root - The location of the k32w SDK. -# sources - Extra source files to build. -template("k32w0_sdk") { - if (defined(invoker.k32w0_sdk_root)) { - k32w0_sdk_root = invoker.k32w0_sdk_root - } - - if (defined(invoker.override_is_DK6)) { - chip_with_DK6 = invoker.override_is_DK6 - } - - assert(k32w0_sdk_root != "", "k32w0_sdk_root must be specified") - assert(chip_with_OM15082 == 0 || chip_with_DK6, - "OM15082 expansion board is only supported on DK6 board") - assert( - chip_with_low_power == 0 || - (chip_with_low_power == 1 && chip_with_OM15082 == 0 && - chip_with_ot_cli == 0 && chip_with_se05x == 0), - "Please disable low power if expansion board, openthread CLI or SE is needed!") - - assert( - use_custom_factory_provider == 0 || chip_with_factory_data == 1, - "Please set chip_with_factory_data=1 if using custom factory provider.") - - assert( - chip_enable_ota_factory_data_processor == 0 || - chip_enable_ota_firmware_processor == 1, - "Please set chip_enable_ota_firmware_processor=1 if using default factory data processor.") - - assert( - chip_enable_ota_factory_data_processor == 0 || - chip_with_factory_data == 1, - "Please set chip_with_factory_data=1 if using default factory data processor.") - - assert( - chip_enable_ota_factory_data_processor == 0 || - chip_enable_ota_firmware_processor == 1, - "Please set chip_enable_ota_firmware_processor=1 if using default factory data processor.") - - assert( - chip_enable_ota_factory_data_processor == 0 || - chip_with_factory_data == 1, - "Please set chip_with_factory_data=1 if using default factory data processor.") - - if (build_for_k32w041am == 1 || build_for_k32w041a == 1 || - build_for_k32w041 == 1) { - build_for_k32w061 = 0 - } - - if (build_for_k32w061 == 1) { - assert(build_for_k32w061 == 1 && build_for_k32w041am == 0 && - build_for_k32w041a == 0 && build_for_k32w041 == 0, - "Please build for only one platform") - device = "K32W061" - board = "k32w061dk6" - chip_with_ntag = 0 - } - if (build_for_k32w041am == 1) { - assert(build_for_k32w041am == 1 && build_for_k32w061 == 0 && - build_for_k32w041a == 0 && build_for_k32w041 == 0, - "Please build for only one platform") - device = "K32W041AM" - board = "k32w041amdk6" - chip_with_ntag = 0 - } - if (build_for_k32w041a == 1) { - assert(build_for_k32w041a == 1 && build_for_k32w061 == 0 && - build_for_k32w041am == 0 && build_for_k32w041 == 0, - "Please build for only one platform") - device = "K32W041A" - board = "k32w041adk6" - chip_with_ntag = 0 - } - if (build_for_k32w041 == 1) { - assert(build_for_k32w041 == 1 && build_for_k32w061 == 0 && - build_for_k32w041am == 0 && build_for_k32w041a == 0, - "Please build for only one platform") - device = "K32W041" - board = "k32w041dk6" - chip_with_ntag = 0 - } - - if (k32w0_sdk_root == "${chip_root}/third_party/nxp/k32w0_sdk/repo/core" || - k32w0_sdk_root == "/opt/sdk/core") { - chip_with_sdk_package = 0 - } else { - chip_with_sdk_package = 1 - } - print("device:", device) - print("board:", board) - print("ntag:", chip_with_ntag) - print("increased TX power:", chip_with_high_power) - print("FRO32k: ", use_fro_32k) - print("low power: ", chip_with_low_power) - print("OTA default firmware processor: ", chip_enable_ota_firmware_processor) - print("OTA default factory data processor: ", - chip_enable_ota_factory_data_processor) - print("PDM Encryption: ", chip_with_pdm_encryption) - print("Antenna Diversity enabled: ", use_antenna_diversity) - - if (chip_with_low_power == 1 && chip_logging == true) { - print( - "WARNING: enabling logs in low power might break the LP timings. Use at your own risk!") - print("WARNING: set chip_logging=false to disable logging.") - } - - if (chip_crypto == "platform") { - print("ECC crypto lib: ", chip_crypto_flavor) - } - - print("chip_with_sdk_package:", chip_with_sdk_package) - device_lowercase = string_replace(board, "dk6", "") - - 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 = [] - - # Directories specified with -isystem options are scanned in left-to-right order. - # sha256_alt.h is present in both these paths, but the one from port/matter will - # be selected, which is intended. Both paths are needed, because some header - # files are not overwritten (e.g. aes_alt.h). - _sdk_include_dirs += [ - "${k32w0_sdk_root}/middleware/mbedtls/port/matter", - "${k32w0_sdk_root}/middleware/mbedtls/port/ksdk", - ] - - if (chip_with_DK6) { - if (chip_with_low_power != 0) { - _sdk_include_dirs += [ "${k32w0_sdk_root}/boards/${board}/wireless_examples/openthread/lped/bm" ] - } else { - _sdk_include_dirs += [ "${k32w0_sdk_root}/boards/${board}/wireless_examples/openthread/reed/bm" ] - } - } - - if (chip_with_low_power != 0) { - _sdk_include_dirs += [ "${k32w0_sdk_root}/boards/${board}/wireless_examples/hybrid/ble_ot/lped_ble_wuart/ble_802_15_4_common" ] - } - - if (chip_with_ntag != 0) { - _sdk_include_dirs += [ - "${k32w0_sdk_root}/middleware/ntag_i2c_plus/HAL_I2C/inc", - "${k32w0_sdk_root}/middleware/ntag_i2c_plus/HAL_NTAG/inc", - "${k32w0_sdk_root}/middleware/ntag_i2c_plus/inc", - "${k32w0_sdk_root}/middleware/ntag_i2c_plus/HAL_TMR/inc", - ] - } - - _sdk_include_dirs += [ - "${chip_root}/src/platform/nxp/k32w/k32w0", - "${k32w0_sdk_root}/CMSIS/Include", - "${k32w0_sdk_root}/components/serial_manager", - "${k32w0_sdk_root}/components/uart", - "${k32w0_sdk_root}/devices/${device}", - - "${k32w0_sdk_root}/utilities/debug_console/str", - "${k32w0_sdk_root}/utilities/debug_console", - "${k32w0_sdk_root}/devices/${device}/utilities", - "${k32w0_sdk_root}/devices/${device}/utilities/debug_console", - "${k32w0_sdk_root}/devices/${device}/utilities/str", - "${k32w0_sdk_root}/middleware/wireless/ble_controller/interface", - "${k32w0_sdk_root}/middleware/wireless/bluetooth/application/common", - "${k32w0_sdk_root}/middleware/wireless/bluetooth/application/common/gatt_db", - "${k32w0_sdk_root}/middleware/wireless/bluetooth/application/common/gatt_db/macros", - "${k32w0_sdk_root}/middleware/wireless/bluetooth/host/config", - "${k32w0_sdk_root}/middleware/wireless/bluetooth/host/interface", - "${k32w0_sdk_root}/middleware/wireless/framework/Common", - "${k32w0_sdk_root}/middleware/wireless/framework/Flash/External/Interface", - "${k32w0_sdk_root}/middleware/wireless/framework/Flash/Internal", - "${k32w0_sdk_root}/middleware/wireless/framework/FunctionLib", - "${k32w0_sdk_root}/middleware/wireless/framework/GPIO", - "${k32w0_sdk_root}/middleware/wireless/framework/Logging/Interface", - "${k32w0_sdk_root}/middleware/wireless/framework/Keyboard/Interface", - "${k32w0_sdk_root}/middleware/wireless/framework/LED/Interface", - "${k32w0_sdk_root}/middleware/wireless/framework/Lists", - "${k32w0_sdk_root}/middleware/wireless/framework/LowPower/Interface/${board}", - "${k32w0_sdk_root}/middleware/wireless/framework/MemManager/Interface", - "${k32w0_sdk_root}/middleware/wireless/framework/Messaging/Interface", - "${k32w0_sdk_root}/middleware/wireless/framework/ModuleInfo", - "${k32w0_sdk_root}/middleware/wireless/framework/OSAbstraction/Interface", - "${k32w0_sdk_root}/middleware/wireless/framework/OtaSupport/Interface/", - "${k32w0_sdk_root}/middleware/wireless/framework/Panic/Interface", - "${k32w0_sdk_root}/middleware/wireless/framework/PDM/Include", - "${k32w0_sdk_root}/middleware/wireless/framework/RNG/Interface", - "${k32w0_sdk_root}/middleware/wireless/framework/SecLib", - "${k32w0_sdk_root}/middleware/wireless/framework/SerialManager/Interface", - "${k32w0_sdk_root}/middleware/wireless/framework/SerialManager/Source", - "${k32w0_sdk_root}/middleware/wireless/framework/TimersManager/Interface", - "${k32w0_sdk_root}/middleware/wireless/framework/TimersManager/Source", - "${k32w0_sdk_root}/middleware/wireless/framework/XCVR/DK6", - "${k32w0_sdk_root}/middleware/wireless/framework/XCVR/DK6/Build/Include", - "${k32w0_sdk_root}/middleware/wireless/ieee-802.15.4/MacDynamic/Include", - "${k32w0_sdk_root}/middleware/wireless/ieee-802.15.4/uMac/Include", - "${k32w0_sdk_root}/rtos/amazon-freertos/lib/FreeRTOS/portable/GCC/ARM_CM3", - "${k32w0_sdk_root}/rtos/amazon-freertos/lib/include", - "${k32w0_sdk_root}/rtos/amazon-freertos/lib/include/private", - "${k32w0_sdk_root}/rtos/amazon-freertos/lib/third_party/unity/src", - ] - if (chip_with_sdk_package == 1) { - _sdk_include_dirs += [ "${k32w0_sdk_root}/devices/${device}/drivers" ] - } else { - _sdk_include_dirs += [ - "${k32w0_sdk_root}/devices/K32W061/drivers", - "${k32w0_sdk_root}/drivers/common", - "${k32w0_sdk_root}/drivers/lpc_gpio", - "${k32w0_sdk_root}/drivers/aes", - "${k32w0_sdk_root}/drivers/jn_iocon", - "${k32w0_sdk_root}/drivers/lpc_adc", - "${k32w0_sdk_root}/drivers/aes", - "${k32w0_sdk_root}/drivers/jn_flash", - "${k32w0_sdk_root}/drivers/sha", - "${k32w0_sdk_root}/drivers/flexcomm", - "${k32w0_sdk_root}/drivers/lpc_dma", - "${k32w0_sdk_root}/drivers/pint", - "${k32w0_sdk_root}/drivers/inputmux", - "${k32w0_sdk_root}/drivers/spifi", - "${k32w0_sdk_root}/drivers/jn_rtc", - "${k32w0_sdk_root}/drivers/fmeas", - "${k32w0_sdk_root}/drivers/jn_rng", - "${k32w0_sdk_root}/drivers/ctimer", - "${k32w0_sdk_root}/drivers/wwdt", - "${k32w0_sdk_root}/drivers/gint", - ] - } - - libs = [ - "${k32w0_sdk_root}/middleware/wireless/ble_controller/lib/lib_ble_controller_peripheral_commissioning.a", - "${k32w0_sdk_root}//middleware/wireless/bluetooth/host/lib/lib_ble_5-0_host_matter_cm4_noFP.a", - "${k32w0_sdk_root}/middleware/wireless/ieee-802.15.4/lib/libMiniMac_Sched.a", - "${k32w0_sdk_root}/middleware/wireless/framework/PDM/Library/libPDM_extFlash.a", - "${k32w0_sdk_root}/middleware/wireless/framework/XCVR/lib/libRadio.a", - "${k32w0_sdk_root}/middleware/wireless/framework/SecLib/lib_crypto_m4.a", - ] - - defines = [ - "gMainThreadPriority_c=5", - "CPU_JN518X", - "CPU_JN518X_REV=2", - "JENNIC_CHIP_FAMILY_NAME=_JN518x", - "MAC_PROTO_TAG=1", - "JENNIC_CHIP_FAMILY_JN518x", - "gPWR_LDOMEM_0_9V_PD=0", - "SDK_DEBUGCONSOLE=DEBUGCONSOLE_REDIRECT_TO_SDK", - "PRINTF_ADVANCED_ENABLE", - "NO_SYSCORECLK_UPD=0", - "USE_RTOS=1", - "USE_SDK_OSA=0", - "gSerialManagerMaxInterfaces_c=2", - "FSL_RTOS_FREE_RTOS=1", - "gTotalHeapSize_c=0xF000", - "DEBUG_SERIAL_INTERFACE_INSTANCE=0", - "APP_SERIAL_INTERFACE_INSTANCE=1", - "gOTA_externalFlash_d=1", - "gEepromPostedOperations_d=1", - "gOtaEepromPostedOperations_d=1", - "gOtaVerifyWrite_d=0", - "gExternalFlashIsCiphered_d=1", - "PDM_USE_DYNAMIC_MEMORY=1", - "PDM_SAVE_IDLE=1", - "gBootData_None_c=1", - "PROGRAM_PAGE_SZ=256", - "configFRTOS_MEMORY_SCHEME=4", - "osCustomStartup=1", - "ENABLE_RAM_VECTOR_TABLE=1", - "gTMR_Enabled_d=1", - "gTimestamp_Enabled_d=0", - "CHIP_ENABLE_OPENTHREAD=1", - "gOtaMemPoolId_c=1", - "PoolsDetails_c=_block_size_ 32 _number_of_blocks_ 6 _pool_id_(0) _eol_ _block_size_ 256 _number_of_blocks_ 3 _pool_id_(0) _eol_ _block_size_ 512 _number_of_blocks_ 2 _pool_id_(0) _eol_ _block_size_ 768 _number_of_blocks_ 1 _pool_id_(0) _eol_ _block_size_ 268 _number_of_blocks_ 8 _pool_id_(gOtaMemPoolId_c) _eol_", - "SUPPORT_FOR_15_4=1", - "gAppMaxConnections_c=1", - "gAppUseBonding_d=0", - "gAppUsePairing_d=0", - "gAppUsePrivacy_d=0", - "gController_ReducedRxThoughput=1", - "gPasskeyValue_c=999999", - "gSupportBle=1", - "SUPPORT_FOR_BLE=1", - "gEnableBleInactivityTimeNotify=1", - "gConnPhyUpdateReqTxPhySettings_c=(gLePhy2MFlag_c)", - "gConnPhyUpdateReqRxPhySettings_c=(gLePhy2MFlag_c)", - "gConnPhyUpdateReqPhyOptions_c=(gLeCodingNoPreference_c)", - "BLE_HIGH_TX_POWER=0", - "gAdvertisingPowerLeveldBm_c=0", - "gConnectPowerLeveldBm_c=0", - "DUAL_MODE_APP=1", - "gMainThreadStackSize_c=5096", - "HEAP_SIZE=gTotalHeapSize_c", - "gLoggingActive_d=0", - "gLogRingPlacementOffset_c=0xF000", - "gSecLibUseSha256Alt_d=1", - "gOTA_UseSecLibAes=1", - "gResetSystemReset_d=1", - - # TODO: move these platform specific defines to args.gni - "NXP_OT_IDLE_INTERVAL=${nxp_ot_idle_interval_ms}", - "NXP_OT_ACTIVE_INTERVAL=${nxp_ot_active_interval_ms}", - "NXP_ICD_ENABLED=1", - "NXP_ACTIVE_MODE_THRESHOLD=${nxp_active_mode_threshold_ms}", - "NXP_ACTIVE_MODE_DURATION_MS=${nxp_active_mode_duration_ms}", - "NXP_IDLE_MODE_DURATION_SEC=${nxp_idle_mode_duration_s}", - "NXP_ICD_SUPPORTED_CLIENTS_PER_FABRIC=${nxp_icd_supported_clients_per_fabric}", - ] - - if (use_antenna_diversity == 1) { - print("Check ADO/ADE pin configuration when using Antenna Diversity.") - defines += [ "ANTENNA_DIVERSITY_ENABLE" ] - } - - # If OTA default processors are enabled, then OTA custom entry structure - # will be saved in external flash: gOTACustomOtaEntryMemory=OTACustomStorage_ExtFlash (1) - if (chip_enable_ota_firmware_processor == 1) { - defines += [ - "gOTAAllowCustomStartAddress=1", - "gOTAUseCustomOtaEntry=1", - "gOTACustomOtaEntryMemory=1", - "OTA_ENTRY_TOP_ADDR=${ota_custom_entry_address}", - ] - - if (chip_enable_ota_factory_data_processor == 1) { - defines += [ "CONFIG_CHIP_K32W0_OTA_FACTORY_DATA_PROCESSOR=1" ] - } - } - - if (chip_crypto == "platform" && - chip_crypto_flavor == "NXP-Ultrafast-P256") { - defines += [ "EC_P256_DSPEXT=1" ] - } - - if (use_fro_32k == 1) { - defines += [ - "gClkUseFro32K=1", - "gPWR_CpuClk_48MHz=0", - ] - } else { - defines += [ - "gClkUseFro32K=0", - "gPWR_CpuClk_48MHz=1", - ] - } - - if (chip_with_pdm_encryption == 1) { - defines += [ "PDM_ENCRYPTION=1" ] - } else { - defines += [ "PDM_ENCRYPTION=0" ] - } - - if (chip_with_pdm_encryption == 1) { - defines += [ "PDM_ENCRYPTION=1" ] - } else { - defines += [ "PDM_ENCRYPTION=0" ] - } - - if (chip_with_ota_encryption == 1) { - defines += [ - "OTA_ENCRYPTION_ENABLE=1", - "OTA_ENCRYPTION_KEY=\"${chip_with_ota_key}\"", - ] - } else { - defines += [ "OTA_ENCRYPTION_ENABLE=0" ] - } - - if (chip_mdns == "platform") { - defines += [ - "OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE=1", - "OPENTHREAD_CONFIG_ECDSA_ENABLE=1", - "OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE=1", - "OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1", - ] - } - - if (chip_with_se05x == 1) { - defines += [ - "MBEDTLS_FREESCALE_FREERTOS_CALLOC_ALT=1", - "CHIP_DEVICE_CONFIG_CHIP_TASK_STACK_SIZE=9216", - ] - } - - if (chip_with_DK6) { - defines += [ - "gUsePdm_d=1", - "PDM_EXT_FLASH=1", - "gEepromType_d=gEepromDevice_MX25R8035F_c", - "gPdmNbSegments=63", - "gRadioUsePdm_d=1", - ] - - if (chip_with_OM15082 != 0) { - defines += [ - "OM15082=1", - "gKeyBoardSupported_d=1", - "gKBD_KeysCount_c=4", - ] - } else { - defines += [ - "gKeyBoardSupported_d=1", - "gKBD_KeysCount_c=2", - ] - } - - if (chip_with_low_power == 0) { - defines += [ - "gLEDSupported_d=1", - "gLEDsOnTargetBoardCnt_c=2", - "gLED_InvertedMode_d=1", - ] - } - } - - if (chip_with_ot_cli == 1) { - defines += [ "CHIP_DEVICE_CONFIG_THREAD_ENABLE_CLI=1" ] - } - - if (chip_with_low_power == 1) { - defines += [ - "chip_with_low_power=1", - "cPWR_UsePowerDownMode=1", - "cPWR_FullPowerDownMode=1", - "DBG_PostStepTickAssess=0", - "gPWR_FreqScalingWFI=0", - "mAppUseTickLessMode_c=1", - "cPWR_DiscardRunningTimerForPowerDown=1", - ] - - if (chip_logging == false) { - defines += [ - "K32W_LOG_ENABLED=0", - "gUartDebugConsole_d=0", - ] - } else { - defines += [ - "K32W_LOG_ENABLED=1", - "gUartDebugConsole_d=1", - ] - } - } else { - defines += [ - "cPWR_UsePowerDownMode=0", - "cPWR_FullPowerDownMode=0", - "K32W_LOG_ENABLED=1", - "gUartDebugConsole_d=1", - ] - } - - if (build_for_k32w061 == 1) { - defines += [ "CPU_K32W061HN" ] - } else if (build_for_k32w041am == 1) { - defines += [ "CPU_K32W041AMZ" ] - } else if (build_for_k32w041a == 1) { - defines += [ "CPU_K32W041AZ" ] - } else if (build_for_k32w041 == 1) { - defines += [ "CPU_K32W041HN" ] - } - - if (chip_with_high_power == 1) { - defines += [ - "K32WMCM_APP_BUILD", - "JENNIC_CHIP_FAMILY_JN518x", - ] - _sdk_include_dirs += [ - "${k32w0_sdk_root}/middleware/wireless/ieee-802.15.4/Include", - "${k32w0_sdk_root}/middleware/wireless/ieee-802.15.4/mMac/Include", - ] - } - - if (chip_with_ntag == 1) { - defines += [ - "CONFIG_CHIP_NFC_COMMISSIONING=1", - "CHIP_DEVICE_CONFIG_ENABLE_NFC=1", - ] - } - - if (chip_with_factory_data == 1) { - defines += [ "CONFIG_CHIP_LOAD_REAL_FACTORY_DATA=1" ] - } - - if (defined(invoker.defines)) { - defines += invoker.defines - } - - cflags = [ - "-Wno-unused-function", - "-Wno-conversion", - "-Wno-sign-compare", - "-Wno-clobbered", - "-Wno-implicit-fallthrough", - "-Wno-shadow", - "-mthumb", - "-MMD", - "-MP", - ] - - if (is_clang) { - cflags += [ - "-Wno-self-assign", - "-Wno-parentheses-equality", - ] - } else { - cflags += [ - "-fno-optimize-strlen", - - # TODO After upgrading the compiler we started to see new error from address - # warning. To allow PR that rolls up compiler we have suppress this warning - # as an error temporarily. - # see https://github.com/project-chip/connectedhomeip/issues/26221 - "-Wno-error=address", - ] - } - - # 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 += [ - "${k32w0_sdk_root}/components/serial_manager/serial_manager.c", - "${k32w0_sdk_root}/components/serial_manager/serial_port_uart.c", - "${k32w0_sdk_root}/components/uart/usart_adapter.c", - "${k32w0_sdk_root}/devices/${device}/mcuxpresso/startup_${device_lowercase}.c", - "${k32w0_sdk_root}/devices/${device}/system_${device}.c", - "${k32w0_sdk_root}/middleware/wireless/ble_controller/config/controller_config.c", - "${k32w0_sdk_root}/middleware/wireless/bluetooth/application/common/ble_conn_manager.c", - "${k32w0_sdk_root}/middleware/wireless/bluetooth/application/common/ble_host_tasks.c", - "${k32w0_sdk_root}/middleware/wireless/bluetooth/host/config/ble_globals.c", - "${k32w0_sdk_root}/middleware/wireless/framework/Common/MicroInt_arm_sdk2.c", - "${k32w0_sdk_root}/middleware/wireless/framework/Flash/External/Source/Eeprom_MX25R8035F.c", - "${k32w0_sdk_root}/middleware/wireless/framework/Flash/Internal/Flash_Adapter.c", - "${k32w0_sdk_root}/middleware/wireless/framework/FunctionLib/FunctionLib.c", - "${k32w0_sdk_root}/middleware/wireless/framework/GPIO/GPIO_Adapter.c", - "${k32w0_sdk_root}/middleware/wireless/framework/Keyboard/Source/Keyboard.c", - "${k32w0_sdk_root}/middleware/wireless/framework/LED/Source/LED.c", - "${k32w0_sdk_root}/middleware/wireless/framework/Lists/GenericList.c", - "${k32w0_sdk_root}/middleware/wireless/framework/Logging/Source/dbg_logging.c", - "${k32w0_sdk_root}/middleware/wireless/framework/LowPower/Source/${board}/PWR.c", - "${k32w0_sdk_root}/middleware/wireless/framework/LowPower/Source/${board}/PWRLib.c", - "${k32w0_sdk_root}/middleware/wireless/framework/LowPower/Source/${board}/PWR_setjmp.S", - "${k32w0_sdk_root}/middleware/wireless/framework/MemManager/Source/MemManager.c", - "${k32w0_sdk_root}/middleware/wireless/framework/Messaging/Source/Messaging.c", - "${k32w0_sdk_root}/middleware/wireless/framework/OSAbstraction/Source/fsl_os_abstraction_free_rtos.c", - "${k32w0_sdk_root}/middleware/wireless/framework/OtaSupport/Source/OtaSupport.c", - "${k32w0_sdk_root}/middleware/wireless/framework/OtaSupport/Source/OtaUtils.c", - "${k32w0_sdk_root}/middleware/wireless/framework/PDM/pdm_port.c", - "${k32w0_sdk_root}/middleware/wireless/framework/Panic/Source/Panic.c", - "${k32w0_sdk_root}/middleware/wireless/framework/RNG/Source/RNG.c", - "${k32w0_sdk_root}/middleware/wireless/framework/Reset/Reset.c", - "${k32w0_sdk_root}/middleware/wireless/framework/SecLib/SecLib.c", - "${k32w0_sdk_root}/middleware/wireless/framework/SecLib/SecLib_ecp256_sw.c", - "${k32w0_sdk_root}/middleware/wireless/framework/SerialManager/Source/SerialManager.c", - "${k32w0_sdk_root}/middleware/wireless/framework/SerialManager/Source/UART_Serial_Adapter.c", - "${k32w0_sdk_root}/middleware/wireless/framework/TimersManager/Source/TMR_Adapter.c", - "${k32w0_sdk_root}/middleware/wireless/framework/TimersManager/Source/TimersManager.c", - "${k32w0_sdk_root}/middleware/wireless/framework/XCVR/DK6/fsl_xcvr.c", - "${k32w0_sdk_root}/rtos/amazon-freertos/lib/FreeRTOS/event_groups.c", - "${k32w0_sdk_root}/rtos/amazon-freertos/lib/FreeRTOS/list.c", - "${k32w0_sdk_root}/rtos/amazon-freertos/lib/FreeRTOS/portable/GCC/ARM_CM3/port.c", - "${k32w0_sdk_root}/rtos/amazon-freertos/lib/FreeRTOS/portable/MemMang/heap_4.c", - "${k32w0_sdk_root}/rtos/amazon-freertos/lib/FreeRTOS/queue.c", - "${k32w0_sdk_root}/rtos/amazon-freertos/lib/FreeRTOS/tasks.c", - "${k32w0_sdk_root}/rtos/amazon-freertos/lib/FreeRTOS/timers.c", - ] - if (chip_with_sdk_package == 1) { - sources += [ - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_adc.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_aes.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_clock.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_common.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_ctimer.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_flash.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_flexcomm.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_fmeas.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_gpio.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_i2c.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_i2c_freertos.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_inputmux.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_pint.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_power.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_reset.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_rng.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_rtc.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_sha.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_spifi.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_usart.c", - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_wtimer.c", - "${k32w0_sdk_root}/devices/${device}/utilities/debug_console/fsl_debug_console.c", - "${k32w0_sdk_root}/devices/${device}/utilities/str/fsl_str.c", - ] - } else { - sources += [ - "${k32w0_sdk_root}/devices/K32W061/drivers/fsl_clock.c", - "${k32w0_sdk_root}/devices/K32W061/drivers/fsl_power.c", - "${k32w0_sdk_root}/devices/K32W061/drivers/fsl_reset.c", - "${k32w0_sdk_root}/devices/K32W061/drivers/fsl_wtimer.c", - "${k32w0_sdk_root}/drivers/aes/fsl_aes.c", - "${k32w0_sdk_root}/drivers/common/fsl_common.c", - "${k32w0_sdk_root}/drivers/ctimer/fsl_ctimer.c", - "${k32w0_sdk_root}/drivers/flexcomm/fsl_flexcomm.c", - "${k32w0_sdk_root}/drivers/flexcomm/fsl_i2c.c", - "${k32w0_sdk_root}/drivers/flexcomm/fsl_i2c_freertos.c", - "${k32w0_sdk_root}/drivers/flexcomm/fsl_usart.c", - "${k32w0_sdk_root}/drivers/fmeas/fsl_fmeas.c", - "${k32w0_sdk_root}/drivers/inputmux/fsl_inputmux.c", - "${k32w0_sdk_root}/drivers/jn_flash/fsl_flash.c", - "${k32w0_sdk_root}/drivers/jn_rng/fsl_rng.c", - "${k32w0_sdk_root}/drivers/jn_rtc/fsl_rtc.c", - "${k32w0_sdk_root}/drivers/lpc_adc/fsl_adc.c", - "${k32w0_sdk_root}/drivers/lpc_gpio/fsl_gpio.c", - "${k32w0_sdk_root}/drivers/pint/fsl_pint.c", - "${k32w0_sdk_root}/drivers/sha/fsl_sha.c", - "${k32w0_sdk_root}/drivers/spifi/fsl_spifi.c", - "${k32w0_sdk_root}/utilities/debug_console/fsl_debug_console.c", - "${k32w0_sdk_root}/utilities/debug_console/str/fsl_str.c", - ] - } - - if (chip_with_DK6) { - sources += [ - "${k32w0_sdk_root}/boards/${board}/wireless_examples/openthread/reed/bm/board.c", - "${k32w0_sdk_root}/boards/${board}/wireless_examples/openthread/reed/bm/board_utility.c", - "${k32w0_sdk_root}/boards/${board}/wireless_examples/openthread/reed/bm/hardware_init.c", - ] - - if (chip_with_se05x != 0) { - sources += [ - "${chip_root}/third_party/simw-top-mini/repo/demos/ksdk/common/boards/DK6/wireless_examples/chip/clock_config.c", - "${chip_root}/third_party/simw-top-mini/repo/demos/ksdk/common/boards/DK6/wireless_examples/chip/pin_mux.c", - ] - } else { - sources += [ - "${k32w0_sdk_root}/boards/${board}/wireless_examples/openthread/reed/bm/clock_config.c", - "${k32w0_sdk_root}/boards/${board}/wireless_examples/openthread/reed/bm/pin_mux.c", - ] - } - } - - if (chip_with_low_power != 0) { - sources += [ "${k32w0_sdk_root}/boards/${board}/wireless_examples/hybrid/ble_ot/lped_ble_wuart/ble_802_15_4_common/app_dual_mode_low_power.c" ] - } - - if (chip_with_ntag != 0) { - sources += [ - "${k32w0_sdk_root}/devices/${device}/drivers/fsl_ntag.c", - "${k32w0_sdk_root}/middleware/ntag_i2c_plus/HAL_I2C/i2c_jn_fsl.c", - "${k32w0_sdk_root}/middleware/ntag_i2c_plus/HAL_NTAG/ntag_driver.c", - "${k32w0_sdk_root}/middleware/ntag_i2c_plus/HAL_TMR/timer_driver_jn.c", - ] - } - - if (!defined(public_deps)) { - public_deps = [] - } - - public_deps += [ "${openthread_root}/src/core:libopenthread_core_headers" ] - - if (!defined(public_configs)) { - public_configs = [] - } - - public_configs += [ ":${sdk_target_name}_config" ] - } -} diff --git a/third_party/nxp/k32w0_sdk/nxp_arm.gni b/third_party/nxp/k32w0_sdk/nxp_arm.gni deleted file mode 100644 index 5afd55a8b3129f..00000000000000 --- a/third_party/nxp/k32w0_sdk/nxp_arm.gni +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (c) 2023 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/nxp_sdk.gni") -import("${nxp_sdk_build_root}/nxp_sdk.gni") - -assert(nxp_platform == "k32w/k32w0", "${nxp_platform} must be k32w/k32w0.") - -arm_float_abi = "soft" -arm_cpu = "cortex-m4" -arm_arch = "armv7e-m" diff --git a/third_party/nxp/k32w0_sdk/nxp_executable.gni b/third_party/nxp/k32w0_sdk/nxp_executable.gni deleted file mode 100644 index 3f4b148fc11646..00000000000000 --- a/third_party/nxp/k32w0_sdk/nxp_executable.gni +++ /dev/null @@ -1,34 +0,0 @@ -# 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/build.gni") -import("//build_overrides/chip.gni") - -import("${build_root}/toolchain/flashable_executable.gni") - -template("k32w0_executable") { - output_base_name = get_path_info(invoker.output_name, "name") - objcopy_image_name = output_base_name + ".hex" - objcopy_image_format = "srec" - objcopy = "arm-none-eabi-objcopy" - - # Copy flashing dependencies to the output directory so that the output - # is collectively self-contained; this allows flashing to work reliably - # even if the build and flashing steps take place on different machines - # or in different containers. - - flashable_executable(target_name) { - forward_variables_from(invoker, "*") - } -} diff --git a/third_party/nxp/k32w0_sdk/repo/.gitignore b/third_party/nxp/k32w0_sdk/repo/.gitignore deleted file mode 100644 index 16b30e08a957c7..00000000000000 --- a/third_party/nxp/k32w0_sdk/repo/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -core -.west diff --git a/third_party/nxp/k32w0_sdk/repo/manifest/west.yml b/third_party/nxp/k32w0_sdk/repo/manifest/west.yml deleted file mode 100644 index 0febc2e377bd1e..00000000000000 --- a/third_party/nxp/k32w0_sdk/repo/manifest/west.yml +++ /dev/null @@ -1,43 +0,0 @@ -# The west manifest file (west.yml) for MCUXpresso SDK delivery. -# -# See the west documentation for more information: -# -# https://docs.zephyrproject.org/latest/guides/west/index.html -manifest: - remotes: - - name: nxpmicro - url-base: https://github.com/NXPmicro - defaults: - remote: nxpmicro - projects: - - name: mcux-sdk - revision: 7219c54f5dbd5a8636242f9f1771ddb70be146c9 - path: core - - name: amazon-freertos - url: https://github.com/NXP/amazon-freertos.git - path: core/rtos/amazon-freertos - revision: fb74168634e716fb5f0a61714e5c0d1ac6246ba - - name: mbedtls - url: https://github.com/nxp-mcuxpresso/mbedtls.git - path: core/middleware/mbedtls - revision: 15458495823165de372f62c3dad621a8da6c86e3 - - name: framework - url: https://github.com/NXP/mcux-sdk-middleware-connectivity-framework.git - revision: 2ccc3df70ee5b73c451fceee13e6172518412518 - path: core/middleware/wireless/framework - - name: ble_controller - url: https://github.com/NXP/mcux-sdk-middleware-bluetooth-controller.git - revision: 0e4effc707a0d5569160b9335bc2e57c17255f01 - path: core/middleware/wireless/ble_controller - - name: bluetooth - url: https://github.com/NXP/mcux-sdk-middleware-bluetooth-host.git - revision: e5a1b7b9e3b44b49c6c0318edfc3acac74b342d8 - path: core/middleware/wireless/bluetooth - - name: ieee-802.15.4 - url: https://github.com/NXP/mcux-sdk-middleware-ieee_802.15.4.git - revision: e8c96197346a7e37ce3a872096a22bf4aee47e3d - path: core/middleware/wireless/ieee-802.15.4 - - name: examples - url: https://github.com/nxp-mcuxpresso/mcux-sdk-examples.git - revision: 6735550f5a41dfb997d4dd3ce6eebfe1f1d41054 - path: core/boards diff --git a/third_party/nxp/k32w0_sdk/sdk_fixes/patch_k32w_sdk.sh b/third_party/nxp/k32w0_sdk/sdk_fixes/patch_k32w_sdk.sh deleted file mode 100755 index c9e048d64a4f39..00000000000000 --- a/third_party/nxp/k32w0_sdk/sdk_fixes/patch_k32w_sdk.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -if [[ ! -d $NXP_K32W0_SDK_ROOT ]]; then - echo "NXP_K32W0_SDK_ROOT is not set" - exit 1 -fi - -board=$(ls "$NXP_K32W0_SDK_ROOT"/boards) - -convert_to_dos() { - - [[ $(file -b - <$1) != *"CRLF"* ]] && sed -i 's/$/\r/' "$1" -} - -SOURCE=${BASH_SOURCE[0]} -SOURCE_DIR=$(cd "$(dirname "$SOURCE")" >/dev/null 2>&1 && pwd) - -echo "K32W0 SDK 2.6.11 no patch needed!" -exit 0 diff --git a/third_party/nxp/k32w1_sdk/BUILD.gn b/third_party/nxp/k32w1_sdk/BUILD.gn deleted file mode 100644 index 9a6cf009555de3..00000000000000 --- a/third_party/nxp/k32w1_sdk/BUILD.gn +++ /dev/null @@ -1,91 +0,0 @@ -# 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/nxp_sdk.gni") - -import("//build_overrides/mbedtls.gni") - -import("${nxp_sdk_build_root}/nxp_sdk.gni") - -import("${nxp_sdk_build_root}/${nxp_sdk_name}/${nxp_sdk_name}.gni") - -import("${mbedtls_root}/mbedtls.gni") - -declare_args() { - # Build target to use for k32w1 SDK. Use this to set global SDK defines. - k32w1_sdk_target = "" -} - -assert(k32w1_sdk_target != "", "k32w1_sdk_target must be specified") - -group("nxp_sdk") { - public_deps = [ k32w1_sdk_target ] -} - -config("mbedtls_k32w1_config") { - defines = [ - "MBEDTLS_CONFIG_FILE=", - "MBEDTLS_USER_CONFIG_FILE=", - - # These options should really be in the config.h... - "MBEDTLS_FREESCALE_FREERTOS_CALLOC_ALT=1", - "MBEDTLS_THREADING_C=1", - "MBEDTLS_THREADING_ALT=1", - "MBEDTLS_X509_CSR_WRITE_C", - "MBEDTLS_X509_CREATE_C", - "MBEDTLS_PEM_WRITE_C", - "MBEDTLS_HKDF_C", - "MBEDTLS_ERROR_C", - "MBEDTLS_PKCS5_C", - - "MBEDTLS_ECP_FIXED_POINT_OPTIM=0", # To reduce peak memory usage - "MBEDTLS_MPI_WINDOW_SIZE=1", - "MBEDTLS_ECP_WINDOW_SIZE=2", - "MBEDTLS_MPI_MAX_SIZE=32", # Maximum number of bytes for usable MPIs. - "MBEDTLS_ECP_MAX_BITS=256", # Maximum bit size of groups */ - "MBEDTLS_ENTROPY_MAX_SOURCES=1", # Maximum number of sources supported - - "MBEDTLS_ENTROPY_HARDWARE_ALT", - ] - - if (chip_mdns == "none") { - defines += [ - "MBEDTLS_PK_WRITE_C", - "MBEDTLS_OID_C", - "MBEDTLS_BASE64_C", - ] - } - - if (chip_crypto == "platform") { - defines += [ - # "MBEDTLS_CCM_ALT", - ] - } - - include_dirs = [ chip_root ] -} - -mbedtls_target("mbedtls") { - sources = [ - "${k32w1_sdk_root}/middleware/mbedtls/port/sssapi/ccm_alt.c", - "${k32w1_sdk_root}/middleware/mbedtls/port/sssapi/entropy_poll_alt.c", - ] - - public_configs = [ ":mbedtls_k32w1_config" ] - - public_deps = [ - ":nxp_sdk", - "${chip_root}/third_party/openthread/platforms/nxp/k32w/k32w1:openthread_mbedtls_config_k32w1", - ] -} diff --git a/third_party/nxp/k32w1_sdk/Jlink_Script/K32W1.jlink b/third_party/nxp/k32w1_sdk/Jlink_Script/K32W1.jlink deleted file mode 100644 index 9d9e4264c1b7d9..00000000000000 --- a/third_party/nxp/k32w1_sdk/Jlink_Script/K32W1.jlink +++ /dev/null @@ -1,6 +0,0 @@ -r -h -loadfile chip-k32w1-light-example.srec -r -g -q \ No newline at end of file diff --git a/third_party/nxp/k32w1_sdk/k32w1_executable.gni b/third_party/nxp/k32w1_sdk/k32w1_executable.gni deleted file mode 100644 index bc78dfc13bf95c..00000000000000 --- a/third_party/nxp/k32w1_sdk/k32w1_executable.gni +++ /dev/null @@ -1,34 +0,0 @@ -# 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/build.gni") -import("//build_overrides/chip.gni") - -import("${build_root}/toolchain/flashable_executable.gni") - -template("k32w1_executable") { - output_base_name = get_path_info(invoker.output_name, "name") - objcopy_image_name = output_base_name + ".srec" - objcopy_image_format = "srec" - objcopy = "arm-none-eabi-objcopy" - - # Copy flashing dependencies to the output directory so that the output - # is collectively self-contained; this allows flashing to work reliably - # even if the build and flashing steps take place on different machines - # or in different containers. - - flashable_executable(target_name) { - forward_variables_from(invoker, "*") - } -} diff --git a/third_party/nxp/k32w1_sdk/k32w1_sdk.gni b/third_party/nxp/k32w1_sdk/k32w1_sdk.gni deleted file mode 100644 index 5a9e37991e149c..00000000000000 --- a/third_party/nxp/k32w1_sdk/k32w1_sdk.gni +++ /dev/null @@ -1,579 +0,0 @@ -# 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/build.gni") -import("//build_overrides/chip.gni") - -import("//build_overrides/nxp_sdk.gni") - -import("//build_overrides/mbedtls.gni") -import("//build_overrides/openthread.gni") - -import("${build_root}/config/compiler/compiler.gni") -import("${chip_root}/src/crypto/crypto.gni") - -import("${chip_root}/src/platform/device.gni") - -import("${chip_root}/src/lib/core/core.gni") -import("${chip_root}/src/platform/nxp/${nxp_platform}/args.gni") - -import("${chip_root}/examples/common/pigweed/pigweed_rpcs.gni") - -declare_args() { - # Location of the k32w1 SDK. - k32w1_sdk_root = getenv("NXP_K32W1_SDK_ROOT") - use_smu2_static = false - use_smu2_dynamic = false - use_hw_sha256 = false - use_hw_aes = false - chip_config_dimmable_led = false -} - -openthread_nxp_root = "${chip_root}/third_party/openthread/ot-nxp" - -assert(k32w1_sdk_root != "", "k32w1_sdk_root must be specified") - -assert(!((use_smu2_static && !chip_openthread_ftd) || - (use_smu2_dynamic && !chip_openthread_ftd)), - "SMU2 can be used as system memory only with OT-FTD suppport") - -# Defines an k32w1 SDK build target. -# -# Parameters: -# k32w1_sdk_root - The location of the k32w1 SDK. -# sources - Extra source files to build. -template("k32w1_sdk") { - if (defined(invoker.k32w1_sdk_root)) { - k32w1_sdk_root = invoker.k32w1_sdk_root - } - - assert(chip_with_low_power == 0 || - (chip_with_low_power == 1 && chip_with_ot_cli == 0), - "Please disable low power if openthread CLI is needed!") - - 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 = [ - "${k32w1_sdk_root}/devices/K32W1480", - "${k32w1_sdk_root}/CMSIS/Core/Include", - "${k32w1_sdk_root}/platform/drivers/elemu", - "${k32w1_sdk_root}/platform/drivers/spc", - "${k32w1_sdk_root}/platform/drivers/ccm32k", - "${k32w1_sdk_root}/platform/drivers/wuu", - "${k32w1_sdk_root}/platform/drivers/cmc", - "${k32w1_sdk_root}/platform/drivers/lpspi", - "${k32w1_sdk_root}/components/osa", - "${k32w1_sdk_root}/components/lists", - "${k32w1_sdk_root}/components/messaging", - "${k32w1_sdk_root}/components/mem_manager", - "${k32w1_sdk_root}/components/panic", - "${k32w1_sdk_root}/components/serial_manager", - "${k32w1_sdk_root}/components/uart", - "${k32w1_sdk_root}/components/gpio", - "${k32w1_sdk_root}/components/led", - "${k32w1_sdk_root}/components/button", - "${k32w1_sdk_root}/components/timer_manager", - "${k32w1_sdk_root}/components/time_stamp", - "${k32w1_sdk_root}/components/timer", - "${k32w1_sdk_root}/components/rpmsg", - "${k32w1_sdk_root}/components/internal_flash", - "${k32w1_sdk_root}/components/reset", - "${k32w1_sdk_root}/components/flash/nor/lpspi", - "${k32w1_sdk_root}/components/flash/nor", - "${k32w1_sdk_root}/components/power_manager/boards", - "${k32w1_sdk_root}/components/power_manager/boards/K32W148-EVK", - "${k32w1_sdk_root}/components/power_manager/core", - - "${k32w1_sdk_root}/middleware/wireless/framework/DBG", - "${k32w1_sdk_root}/middleware/wireless/framework/Common", - "${k32w1_sdk_root}/middleware/wireless/framework/FunctionLib", - "${k32w1_sdk_root}/middleware/wireless/framework/HWParameter", - "${k32w1_sdk_root}/middleware/wireless/framework/SecLib", - "${k32w1_sdk_root}/middleware/wireless/framework/RNG", - "${k32w1_sdk_root}/middleware/wireless/framework/Sensors", - "${k32w1_sdk_root}/middleware/wireless/framework/LowPower", - "${k32w1_sdk_root}/middleware/wireless/framework/NVM/Source", - "${k32w1_sdk_root}/middleware/wireless/framework/NVM/Interface", - "${k32w1_sdk_root}/middleware/wireless/framework/ModuleInfo", - "${k32w1_sdk_root}/middleware/wireless/framework/OtaSupport/Interface", - "${k32w1_sdk_root}/middleware/wireless/framework/OtaSupport/Source", - "${k32w1_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1", - "${k32w1_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/K32W1480", - "${k32w1_sdk_root}/middleware/wireless/framework/platform/kw45_k32w1", - "${k32w1_sdk_root}/middleware/wireless/framework/platform/include", - "${k32w1_sdk_root}/middleware/wireless/framework/platform/kw45_k32w1/configs", - "${openthread_nxp_root}/third_party/k32w1_sdk", - - "${k32w1_sdk_root}/middleware/multicore/rpmsg_lite/lib/include", - "${k32w1_sdk_root}/middleware/multicore/rpmsg_lite/lib/include/platform/k32w1", - "${k32w1_sdk_root}/middleware/multicore/rpmsg_lite/lib/include/environment/freertos", - "${k32w1_sdk_root}/middleware/multicore/mcmgr/src", - - "${k32w1_sdk_root}/middleware/wireless/ble_controller/interface", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/hci_transport/interface", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/port", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/application/common", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/application/common/gatt_db", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/application/common/gatt_db/macros", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/host/config", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/host/interface", - - "${k32w1_sdk_root}/middleware/mbedtls/port/sssapi", - "${k32w1_sdk_root}/middleware/mbedtls/port/ksdk", - "${k32w1_sdk_root}/middleware/mbedtls/include/mbedtls", - "${k32w1_sdk_root}/middleware/mbedtls/include", - "${k32w1_sdk_root}/middleware/secure-subsystem/inc", - "${k32w1_sdk_root}/middleware/secure-subsystem/inc/elemu", - "${k32w1_sdk_root}/middleware/secure-subsystem/port/kw45_k4w1", - - "${k32w1_sdk_root}/middleware/wireless/XCVR/drv", - "${k32w1_sdk_root}/middleware/wireless/XCVR/drv/nb2p4ghz", - "${k32w1_sdk_root}/middleware/wireless/XCVR/drv/nb2p4ghz/configs/gen45", - "${k32w1_sdk_root}/middleware/wireless/ieee-802.15.4/ieee_802_15_4/phy/interface", - "${k32w1_sdk_root}/middleware/wireless/ieee-802.15.4/utils", - - "${k32w1_sdk_root}/rtos/freertos/freertos_kernel/include", - "${k32w1_sdk_root}/rtos/freertos/libraries/3rdparty/mbedtls_config", - "${k32w1_sdk_root}/rtos/freertos/freertos_kernel/portable/GCC/ARM_CM33_NTZ/non_secure", - - "${chip_root}/src/platform/nxp/k32w/k32w1", - ] - - if (chip_config_dimmable_led) { - _sdk_include_dirs += [ "${k32w1_sdk_root}/components/pwm" ] - } - - if (sdk_release == 1) { - _sdk_include_dirs += [ - "${k32w1_sdk_root}/middleware/wireless/bluetooth/application/common/matter", - "${k32w1_sdk_root}/devices/K32W1480/drivers", - "${k32w1_sdk_root}/devices/K32W1480/utilities", - "${k32w1_sdk_root}/devices/K32W1480/utilities/debug_console", - "${k32w1_sdk_root}/devices/K32W1480/utilities/str", - "${k32w1_sdk_root}/devices/K32W1480/utilities/format", - ] - } else { - _sdk_include_dirs += [ - "${k32w1_sdk_root}/devices/KW45B41Z83/drivers", - "${k32w1_sdk_root}/devices/KW45B41Z83/drivers/romapi", - "${k32w1_sdk_root}/platform/drivers/common", - "${k32w1_sdk_root}/platform/drivers/flash_k4", - "${k32w1_sdk_root}/platform/drivers/gpio", - "${k32w1_sdk_root}/platform/drivers/lpuart", - "${k32w1_sdk_root}/platform/drivers/ltc", - "${k32w1_sdk_root}/platform/drivers/port", - "${k32w1_sdk_root}/platform/drivers/lptmr", - "${k32w1_sdk_root}/platform/drivers/ccm32k", - "${k32w1_sdk_root}/platform/drivers/imu", - "${k32w1_sdk_root}/platform/drivers/crc", - "${k32w1_sdk_root}/platform/utilities/misc_utilities", - "${k32w1_sdk_root}/platform/utilities/debug_console", - "${k32w1_sdk_root}/platform/utilities/str", - ] - } - - libs = [ - "${k32w1_sdk_root}/middleware/wireless/bluetooth/host/lib/lib_ble_host_matter_cm33_gcc.a", - "${k32w1_sdk_root}/middleware/wireless/framework/SecLib/lib_crypto_m33.a", - ] - - defines = [ - "gMainThreadPriority_c=5", - "CPU_K32W1480VFTA", - "__STARTUP_CLEAR_BSS", - "SERIAL_MANAGER_NON_BLOCKING_MODE=1", - "SERIAL_USE_CONFIGURE_STRUCTURE=1", - "SDK_COMPONENT_INTEGRATION=1", - "gSerialManagerMaxInterfaces_c=1", - "SDK_OS_FREE_RTOS", - "gAppHighSystemClockFrequency_d=1", - - "USE_NBU=1", - "KW45_A0_SUPPORT=0", - "HAL_RPMSG_SELECT_ROLE=0", - "TM_ENABLE_TIME_STAMP=1", - "FSL_OSA_TASK_ENABLE=1", - "FSL_OSA_MAIN_FUNC_ENABLE=1", - "gAspCapability_d=1", - "gNvStorageIncluded_d=1", - "gUnmirroredFeatureSet_d=1", - "gNvFragmentation_Enabled_d=1", - "gAppButtonCnt_c=2", - "gAppLowpowerEnabled_d=1", - "BUTTON_SHORT_PRESS_THRESHOLD=1500", - "BUTTON_LONG_PRESS_THRESHOLD=2500", - "SSS_CONFIG_FILE=\"fsl_sss_config_elemu.h\"", - "SSCP_CONFIG_FILE=\"fsl_sscp_config_elemu.h\"", - - "SDK_DEBUGCONSOLE=1", - "NO_SYSCORECLK_UPD=0", - "USE_RTOS=1", - "USE_SDK_OSA=0", - "FSL_RTOS_FREE_RTOS=1", - "MinimalHeapSize_c=0x7C00", - "gMemManagerLightExtendHeapAreaUsage=0", - "DEBUG_SERIAL_INTERFACE_INSTANCE=0", - "APP_SERIAL_INTERFACE_INSTANCE=1", - - "configFRTOS_MEMORY_SCHEME=4", - "osCustomStartup=1", - - "ENABLE_RAM_VECTOR_TABLE=1", - - "CHIP_ENABLE_OPENTHREAD=1", - "gUseHciTransportDownward_d=1", - "gAppMaxConnections_c=1", - "gL2caMaxLeCbChannels_c=2", - "gGapSimultaneousEAChainedReports_c=0", - "gTmrStackTimers_c= 3 + gAppMaxConnections_c * 2 + gL2caMaxLeCbChannels_c + gGapSimultaneousEAChainedReports_c", - "gAppUseBonding_d=0", - "gAppUsePairing_d=0", - "gAppUsePrivacy_d=0", - "gGattUseUpdateDatabaseCopyProc_c=0", - "gBleBondIdentityHeaderSize_c=56", - "gPasskeyValue_c=999999", - "gMainThreadStackSize_c=3096", - "gHost_TaskStackSize_c=2400", - "gBleSetMacAddrFromVendorCommand_d=1", - "gLoggingActive_d=0", - "gLogRingPlacementOffset_c=0xF000", - "CHIP_PLAT_NVM_SUPPORT=1", - "mAdvertisingDefaultTxPower_c=0", # default advertising TX power - "mConnectionDefaultTxPower_c=0", # default connection TX power - "BLE_HIGH_TX_POWER=0", # when enabled overwrite default tx power with - # following values gAdvertisingPowerLeveldBm_c and - # gConnectPowerLeveldBm_c - "gAdvertisingPowerLeveldBm_c=0", - "gConnectPowerLeveldBm_c=0", - - #move these platform specific defines to args.gni - "NXP_OT_IDLE_INTERVAL=${nxp_ot_idle_interval_ms}", - "NXP_OT_ACTIVE_INTERVAL=${nxp_ot_active_interval_ms}", - "NXP_ICD_ENABLED=1", - "NXP_ACTIVE_MODE_THRESHOLD=${nxp_active_mode_threshold_ms}", - "NXP_ACTIVE_MODE_DURATION_MS=${nxp_active_mode_duration_ms}", - "NXP_IDLE_MODE_DURATION_SEC=${nxp_idle_mode_duration_s}", - "NXP_ICD_SUPPORTED_CLIENTS_PER_FABRIC=${nxp_icd_supported_clients_per_fabric}", - ] - - if (chip_enable_pw_rpc) { - defines += [ "SERIAL_PORT_TYPE_UART_DMA=1" ] - } else { - defines += [ "SERIAL_PORT_TYPE_UART=1" ] - } - - if (chip_with_low_power == 1 && chip_logging == true) { - print( - "WARNING: enabling logs in low power might break the LP timings. Use at your own risk!") - print("WARNING: set chip_logging=false to disable logging.") - } - - if (chip_mdns == "platform") { - defines += [ - "OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE=1", - "OPENTHREAD_CONFIG_ECDSA_ENABLE=1", - "OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE=1", - "OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1", - ] - } - - if (chip_with_ot_cli == 1) { - defines += [ "CHIP_DEVICE_CONFIG_THREAD_ENABLE_CLI=1" ] - } - - if (use_smu2_static) { - defines += [ - "__STARTUP_CLEAR_SMU2", - "USE_SMU2_AS_SYSTEM_MEMORY", - "USE_SMU2_STATIC", - ] - } - - if (use_smu2_dynamic) { - defines += [ - "USE_SMU2_AS_SYSTEM_MEMORY", - "USE_SMU2_DYNAMIC", - ] - } - - if (chip_with_factory_data == 1) { - defines += [ "CONFIG_CHIP_LOAD_REAL_FACTORY_DATA=1" ] - } - - if (chip_with_low_power == 1) { - defines += [ - "chip_with_low_power=1", - "cPWR_UsePowerDownMode=1", - "gAppLowpowerEnabled_d=1", - ] - - if (chip_logging == false) { - defines += [ - "K32W_LOG_ENABLED=0", - "gUartDebugConsole_d=0", - ] - } else { - defines += [ - "K32W_LOG_ENABLED=1", - "OSA_USED=1", - "gUartDebugConsole_d=1", - ] - } - } else { - defines += [ - "gAppLedCnt_c=2", - "K32W_LOG_ENABLED=1", - "gUartDebugConsole_d=1", - ] - } - - if (use_hw_sha256) { - defines += [ "USE_HW_SHA256" ] - } - - if (use_hw_aes) { - defines += [ "USE_HW_AES" ] - } - - 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 = [ - "-Wno-unused-function", - "-Wno-conversion", - "-Wno-sign-compare", - "-Wno-clobbered", - "-Wno-implicit-fallthrough", - "-fno-optimize-strlen", - "-mthumb", - "-MMD", - "-MP", - ] - - cflags += [ - # TODO After upgrading the compiler we started to see new error from address - # warning. To allow PR that rolls up compiler we have suppress this warning - # as an error temporarily. - # see https://github.com/project-chip/connectedhomeip/issues/26221 - "-Wno-error=address", - ] - - # 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 = [] - } - - if (sdk_release == 1) { - sources += [ - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_ccm32k.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_clock.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_cmc.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_crc.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_elemu.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_gpio.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_imu.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_k4_controller.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_k4_flash.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_lpspi.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_lptmr.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_lpuart.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_ltc.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_spc.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_wuu.c", - "${k32w1_sdk_root}/devices/K32W1480/utilities/debug_console/fsl_debug_console.c", - "${k32w1_sdk_root}/devices/K32W1480/utilities/fsl_assert.c", - "${k32w1_sdk_root}/devices/K32W1480/utilities/str/fsl_str.c", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/application/common/matter/ble_init.c", - ] - - if (chip_config_dimmable_led) { - sources += [ "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_tpm.c" ] - } - - if (chip_enable_pw_rpc) { - sources += [ - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_edma.c", - "${k32w1_sdk_root}/devices/K32W1480/drivers/fsl_lpuart_edma.c", - ] - } - } else { - sources += [ - "${k32w1_sdk_root}/devices/KW45B41Z83/drivers/fsl_clock.c", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/application/common/ble_init.c", - "${k32w1_sdk_root}/platform/drivers/ccm32k/fsl_ccm32k.c", - "${k32w1_sdk_root}/platform/drivers/cmc/fsl_cmc.c", - "${k32w1_sdk_root}/platform/drivers/crc/fsl_crc.c", - "${k32w1_sdk_root}/platform/drivers/elemu/fsl_elemu.c", - "${k32w1_sdk_root}/platform/drivers/flash_k4/fsl_k4_controller.c", - "${k32w1_sdk_root}/platform/drivers/flash_k4/fsl_k4_flash.c", - "${k32w1_sdk_root}/platform/drivers/gpio/fsl_gpio.c", - "${k32w1_sdk_root}/platform/drivers/imu/fsl_imu.c", - "${k32w1_sdk_root}/platform/drivers/lpspi/fsl_lpspi.c", - "${k32w1_sdk_root}/platform/drivers/lptmr/fsl_lptmr.c", - "${k32w1_sdk_root}/platform/drivers/lpuart/fsl_lpuart.c", - "${k32w1_sdk_root}/platform/drivers/ltc/fsl_ltc.c", - "${k32w1_sdk_root}/platform/drivers/spc/fsl_spc.c", - "${k32w1_sdk_root}/platform/drivers/wuu/fsl_wuu.c", - "${k32w1_sdk_root}/platform/utilities/assert/fsl_assert.c", - "${k32w1_sdk_root}/platform/utilities/debug_console/fsl_debug_console.c", - "${k32w1_sdk_root}/platform/utilities/str/fsl_str.c", - ] - - if (chip_enable_pw_rpc) { - sources += [ - "${k32w1_sdk_root}/platform/drivers/lpuart/fsl_edma.c", - "${k32w1_sdk_root}/platform/drivers/lpuart/fsl_lpuart_edma.c", - ] - } - } - - sources += [ - "${k32w1_sdk_root}/components/button/fsl_component_button.c", - "${k32w1_sdk_root}/components/flash//nor/lpspi/fsl_lpspi_mem_adapter.c", - "${k32w1_sdk_root}/components/flash//nor/lpspi/fsl_lpspi_nor_flash.c", - "${k32w1_sdk_root}/components/gpio/fsl_adapter_gpio.c", - "${k32w1_sdk_root}/components/internal_flash/fsl_adapter_k4_flash.c", - "${k32w1_sdk_root}/components/led/fsl_component_led.c", - "${k32w1_sdk_root}/components/lists/fsl_component_generic_list.c", - "${k32w1_sdk_root}/components/mem_manager/fsl_component_mem_manager_light.c", - "${k32w1_sdk_root}/components/messaging/fsl_component_messaging.c", - "${k32w1_sdk_root}/components/osa/fsl_os_abstraction_free_rtos.c", - "${k32w1_sdk_root}/components/panic/fsl_component_panic.c", - "${k32w1_sdk_root}/components/power_manager/boards/K32W148-EVK/fsl_pm_board.c", - "${k32w1_sdk_root}/components/power_manager/core/fsl_pm_core.c", - "${k32w1_sdk_root}/components/reset/fsl_adapter_reset.c", - "${k32w1_sdk_root}/components/rpmsg/fsl_adapter_rpmsg.c", - "${k32w1_sdk_root}/components/serial_manager/fsl_component_serial_manager.c", - "${k32w1_sdk_root}/components/serial_manager/fsl_component_serial_port_uart.c", - "${k32w1_sdk_root}/components/time_stamp/fsl_adapter_lptmr_time_stamp.c", - "${k32w1_sdk_root}/components/timer/fsl_adapter_lptmr.c", - "${k32w1_sdk_root}/components/timer_manager/fsl_component_timer_manager.c", - "${k32w1_sdk_root}/components/uart/fsl_adapter_lpuart.c", - "${k32w1_sdk_root}/devices/K32W1480/gcc/startup_K32W1480.S", - "${k32w1_sdk_root}/devices/K32W1480/system_K32W1480.c", - "${k32w1_sdk_root}/middleware/multicore/mcmgr/src/mcmgr.c", - "${k32w1_sdk_root}/middleware/multicore/mcmgr/src/mcmgr_imu_internal.c", - "${k32w1_sdk_root}/middleware/multicore/mcmgr/src/mcmgr_internal_core_api_k32w1.c", - "${k32w1_sdk_root}/middleware/multicore/rpmsg_lite/lib/common/llist.c", - "${k32w1_sdk_root}/middleware/multicore/rpmsg_lite/lib/rpmsg_lite/porting/environment/rpmsg_env_freertos.c", - "${k32w1_sdk_root}/middleware/multicore/rpmsg_lite/lib/rpmsg_lite/porting/platform/k32w1/rpmsg_platform.c", - "${k32w1_sdk_root}/middleware/multicore/rpmsg_lite/lib/rpmsg_lite/rpmsg_lite.c", - "${k32w1_sdk_root}/middleware/multicore/rpmsg_lite/lib/virtio/virtqueue.c", - "${k32w1_sdk_root}/middleware/secure-subsystem/port/kw45_k4w1/sss_aes.c", - "${k32w1_sdk_root}/middleware/secure-subsystem/port/kw45_k4w1/sss_aes_cmac.c", - "${k32w1_sdk_root}/middleware/secure-subsystem/port/kw45_k4w1/sss_ccm.c", - "${k32w1_sdk_root}/middleware/secure-subsystem/port/kw45_k4w1/sss_ecdh.c", - "${k32w1_sdk_root}/middleware/secure-subsystem/port/kw45_k4w1/sss_hmac_sha256.c", - "${k32w1_sdk_root}/middleware/secure-subsystem/port/kw45_k4w1/sss_init.c", - "${k32w1_sdk_root}/middleware/secure-subsystem/port/kw45_k4w1/sss_sha256.c", - "${k32w1_sdk_root}/middleware/secure-subsystem/src/sscp/fsl_sscp_mu.c", - "${k32w1_sdk_root}/middleware/secure-subsystem/src/sscp/fsl_sss_mgmt.c", - "${k32w1_sdk_root}/middleware/secure-subsystem/src/sscp/fsl_sss_sscp.c", - "${k32w1_sdk_root}/middleware/wireless/ble_controller/src/controller_api.c", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/application/common/ble_conn_manager.c", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/application/common/gatt_db/gatt_database.c", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/hci_transport/source/hcit_generic_adapter_interface.c", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/host/config/ble_globals.c", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/port/fwk_generic_list.c", - "${k32w1_sdk_root}/middleware/wireless/bluetooth/port/fwk_timer_manager.c", - "${k32w1_sdk_root}/middleware/wireless/framework/Common/rtos/freertos/heap_mem_manager.c", - "${k32w1_sdk_root}/middleware/wireless/framework/FunctionLib/FunctionLib.c", - "${k32w1_sdk_root}/middleware/wireless/framework/HWParameter/HWParameter.c", - "${k32w1_sdk_root}/middleware/wireless/framework/LowPower/PWR.c", - "${k32w1_sdk_root}/middleware/wireless/framework/LowPower/PWR_systicks.c", - "${k32w1_sdk_root}/middleware/wireless/framework/NVM/Source/NV_Flash.c", - "${k32w1_sdk_root}/middleware/wireless/framework/OtaSupport/Source/OtaExternalFlash.c", - "${k32w1_sdk_root}/middleware/wireless/framework/OtaSupport/Source/OtaSupport.c", - "${k32w1_sdk_root}/middleware/wireless/framework/RNG/RNG.c", - "${k32w1_sdk_root}/middleware/wireless/framework/SecLib/SecLib_sss.c", - "${k32w1_sdk_root}/middleware/wireless/framework/Sensors/sensors.c", - "${k32w1_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/K32W1480/clock_config.c", - "${k32w1_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/K32W1480/pin_mux.c", - "${k32w1_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/app_services_init.c", - "${k32w1_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/board.c", - "${k32w1_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/board_comp.c", - "${k32w1_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/board_dcdc.c", - "${k32w1_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/board_extflash.c", - "${k32w1_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/board_lp.c", - "${k32w1_sdk_root}/middleware/wireless/framework/boards/kw45_k32w1/hardware_init.c", - "${k32w1_sdk_root}/middleware/wireless/framework/platform/kw45_k32w1/fwk_platform.c", - "${k32w1_sdk_root}/middleware/wireless/framework/platform/kw45_k32w1/fwk_platform_ble.c", - "${k32w1_sdk_root}/middleware/wireless/framework/platform/kw45_k32w1/fwk_platform_extflash.c", - "${k32w1_sdk_root}/middleware/wireless/framework/platform/kw45_k32w1/fwk_platform_ics.c", - "${k32w1_sdk_root}/middleware/wireless/framework/platform/kw45_k32w1/fwk_platform_lowpower.c", - "${k32w1_sdk_root}/middleware/wireless/framework/platform/kw45_k32w1/fwk_platform_lowpower_timer.c", - "${k32w1_sdk_root}/middleware/wireless/framework/platform/kw45_k32w1/fwk_platform_ot.c", - "${k32w1_sdk_root}/middleware/wireless/framework/platform/kw45_k32w1/fwk_platform_ota.c", - "${k32w1_sdk_root}/middleware/wireless/ieee-802.15.4/ieee_802_15_4/phy/source/PhyTime.c", - "${k32w1_sdk_root}/middleware/wireless/ieee-802.15.4/ieee_802_15_4/phy/source/SerialDevice/ASP.c", - "${k32w1_sdk_root}/middleware/wireless/ieee-802.15.4/ieee_802_15_4/phy/source/SerialDevice/Phy.c", - "${k32w1_sdk_root}/rtos/freertos/freertos_kernel/croutine.c", - "${k32w1_sdk_root}/rtos/freertos/freertos_kernel/event_groups.c", - "${k32w1_sdk_root}/rtos/freertos/freertos_kernel/list.c", - "${k32w1_sdk_root}/rtos/freertos/freertos_kernel/portable/GCC/ARM_CM33_NTZ/non_secure/port.c", - "${k32w1_sdk_root}/rtos/freertos/freertos_kernel/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c", - "${k32w1_sdk_root}/rtos/freertos/freertos_kernel/queue.c", - "${k32w1_sdk_root}/rtos/freertos/freertos_kernel/stream_buffer.c", - "${k32w1_sdk_root}/rtos/freertos/freertos_kernel/tasks.c", - "${k32w1_sdk_root}/rtos/freertos/freertos_kernel/timers.c", - ] - - if (chip_config_dimmable_led) { - sources += [ "${k32w1_sdk_root}/components/pwm/fsl_adapter_pwm_tpm.c" ] - } - - if (chip_with_low_power == 1) { - sources += [] - } - - if (!defined(public_deps)) { - public_deps = [] - } - - public_deps += [ "${openthread_root}/src/core:libopenthread_core_headers" ] - - if (!defined(public_configs)) { - public_configs = [] - } - - public_configs += [ ":${sdk_target_name}_config" ] - } -} diff --git a/third_party/nxp/k32w1_sdk/nxp_arm.gni b/third_party/nxp/k32w1_sdk/nxp_arm.gni deleted file mode 100644 index 78d1036cc8536a..00000000000000 --- a/third_party/nxp/k32w1_sdk/nxp_arm.gni +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright (c) 2023 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/nxp_sdk.gni") -import("${nxp_sdk_build_root}/nxp_sdk.gni") - -assert(nxp_platform == "k32w/k32w1", "${nxp_platform} must be k32w/k32w1.") - -arm_arch = "armv8-m.main+dsp+fp" -arm_cpu = "cortex-m33" -arm_fpu = "fpv5-sp-d16" -arm_float_abi = "hard" diff --git a/third_party/nxp/k32w1_sdk/nxp_executable.gni b/third_party/nxp/k32w1_sdk/nxp_executable.gni deleted file mode 100644 index bc78dfc13bf95c..00000000000000 --- a/third_party/nxp/k32w1_sdk/nxp_executable.gni +++ /dev/null @@ -1,34 +0,0 @@ -# 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/build.gni") -import("//build_overrides/chip.gni") - -import("${build_root}/toolchain/flashable_executable.gni") - -template("k32w1_executable") { - output_base_name = get_path_info(invoker.output_name, "name") - objcopy_image_name = output_base_name + ".srec" - objcopy_image_format = "srec" - objcopy = "arm-none-eabi-objcopy" - - # Copy flashing dependencies to the output directory so that the output - # is collectively self-contained; this allows flashing to work reliably - # even if the build and flashing steps take place on different machines - # or in different containers. - - flashable_executable(target_name) { - forward_variables_from(invoker, "*") - } -} diff --git a/third_party/nxp/nxp_matter_support b/third_party/nxp/nxp_matter_support new file mode 160000 index 00000000000000..ac504a0cc38963 --- /dev/null +++ b/third_party/nxp/nxp_matter_support @@ -0,0 +1 @@ +Subproject commit ac504a0cc389632c0e26b4f04e65914d3a9ba8bd diff --git a/third_party/nxp/nxp_sdk.gni b/third_party/nxp/nxp_sdk.gni deleted file mode 100644 index cb27d5c7554c84..00000000000000 --- a/third_party/nxp/nxp_sdk.gni +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright (c) 2022 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. - -declare_args() { - # Indicates the name of the nxp platform targeted - nxp_platform = "" - - # Specifies the CHIP_DEVICE_LAYER_TARGET in src/platform/BUILD.gn - nxp_device_layer = "nxp/common" - - # Enables target nxp_lwip. Used by RT platforms. - nxp_use_lwip = true - - # Enables target nxp_mbedtls. Used by RT platforms. - nxp_use_mbedtls_port = true - - # Enables the support of the Matter CLI - chip_enable_matter_cli = false - - # Enables the support of factory data - chip_with_factory_data = 0 - - # Enables the auto pairing advertisement at boot - chip_enable_pairing_autostart = 1 - - # Indicates if the nxp SDK used has the SDK package format - is_sdk_package = false - - # Indicates if the nxp SDK used has the nxp SDK internal format - is_sdk_internal = false - - # Defines the current software version - nxp_software_version = 1 - - # Defines the current software string version - nxp_software_version_string = "1.3" - - # ICD Matter Configuration flags - nxp_ot_idle_interval_ms = 2000 # 2s Idle Intervals - nxp_ot_active_interval_ms = 500 # 500ms Active Intervals - - nxp_idle_mode_duration_s = 600 # 10min Idle Mode Interval - nxp_active_mode_duration_ms = 10000 # 10s Active Mode Interval - nxp_active_mode_threshold_ms = 5000 # 5s Active Mode Threshold - nxp_icd_supported_clients_per_fabric = 2 # 2 registration slots per fabric -} - -declare_args() { - nxp_sdk_name = "${nxp_platform}_sdk" -} - -assert(nxp_platform != "", "nxp_platform should be defined") diff --git a/third_party/nxp/rt_sdk/BUILD.gn b/third_party/nxp/rt_sdk/BUILD.gn deleted file mode 100644 index 0fd636441543b1..00000000000000 --- a/third_party/nxp/rt_sdk/BUILD.gn +++ /dev/null @@ -1,116 +0,0 @@ -# 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/nxp_sdk.gni") - -#allows to get common NXP SDK gn options -import("${nxp_sdk_build_root}/nxp_sdk.gni") - -# Allows to get various RT gn options -import("${nxp_sdk_build_root}/${nxp_sdk_name}/rt_sdk.gni") - -import( - "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}/${rt_platform}.gni") -import("${nxp_sdk_build_root}/${nxp_sdk_name}/bt_ble/bt_ble.gni") -import("${nxp_sdk_build_root}/${nxp_sdk_name}/lwip/lwip.gni") - -import("//build_overrides/openthread.gni") - -import("${chip_root}/src/platform/device.gni") -import("${chip_root}/src/platform/nxp/${nxp_platform}/args.gni") - -group("nxp_sdk") { - public_deps = [ - ":nxp_transceiver", - "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}:nxp_sdk", - nxp_sdk_driver_target, - nxp_sdk_target, - ] - - if (chip_enable_ble) { - public_deps += [ ":nxp_bt_ble" ] - } - - if (chip_enable_wifi) { - public_deps += [ ":nxp_wifi" ] - } - if (chip_enable_openthread) { - public_deps += [ "${openthread_root}/src/core:libopenthread_core_headers" ] - } -} - -group("nxp_mbedtls") { - public_deps = - [ "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}:nxp_mbedtls" ] -} - -config("lwip_rt_config") { - include_dirs = [ - "${rt_sdk_root}/middleware/lwip/src/include", - "${rt_sdk_root}/middleware/lwip/port", - "lwip/common", - ] - if (chip_enable_ethernet) { - include_dirs += [ "lwip/ethernet" ] - } else if (chip_enable_openthread && chip_enable_wifi) { - include_dirs += [ "lwip/wifi_openthread" ] - } else if (chip_enable_openthread) { - include_dirs += [ "lwip/openthread" ] - } else if (chip_enable_wifi) { - include_dirs += [ - "lwip/wifi", - "${rt_sdk_root}/middleware/wifi_nxp/port/lwip", - ] - } -} - -lwip_target("nxp_lwip") { - public = [] - sources = [ - #lwip port file - "${rt_sdk_root}/middleware/lwip/port/sys_arch.c", - ] - if (chip_enable_ethernet) { - sources += [ - "${rt_sdk_root}/middleware/lwip/port/enet_ethernetif.c", - "${rt_sdk_root}/middleware/lwip/port/enet_ethernetif_kinetis.c", - ] - } - - if (chip_enable_wifi) { - sources += [ - "${rt_sdk_root}/middleware/wifi_nxp/port/lwip/net.c", - "${rt_sdk_root}/middleware/wifi_nxp/port/lwip/wifi_netif.c", - ] - } - - public_configs = [ ":lwip_rt_config" ] - - public_deps = [ ":nxp_sdk" ] - rt_sdk_root = rt_sdk_root -} - -bt_ble_target("nxp_bt_ble") { - public_deps = [ nxp_sdk_target ] - rt_sdk_root = rt_sdk_root -} - -rt_transceiver("nxp_transceiver") { - public_deps = [ nxp_sdk_target ] -} - -rt_wifi("nxp_wifi") { - public_deps = [ nxp_sdk_target ] -} diff --git a/third_party/nxp/rt_sdk/bt_ble/bt_ble.gni b/third_party/nxp/rt_sdk/bt_ble/bt_ble.gni deleted file mode 100644 index 83d2495ed9808d..00000000000000 --- a/third_party/nxp/rt_sdk/bt_ble/bt_ble.gni +++ /dev/null @@ -1,236 +0,0 @@ -# Copyright (c) 2022 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/nxp_sdk.gni") - -#allows to get common NXP SDK gn options -import("${nxp_sdk_build_root}/nxp_sdk.gni") - -# Allows to get various RT gn options -import("${nxp_sdk_build_root}/${nxp_sdk_name}/rt_sdk.gni") -template("bt_ble_target") { - if (defined(invoker.rt_sdk_root)) { - rt_sdk_root = invoker.rt_sdk_root - } - - assert(rt_sdk_root != "", "rt_sdk_root must be specified") - bt_ble_target_name = target_name - - config("${bt_ble_target_name}_warnings") { - cflags = [ - "-Wno-maybe-uninitialized", - "-Wno-string-concatenation", - ] - } - - config("${bt_ble_target_name}_config") { - cflags = [] - defines = [] - if (defined(invoker.cflags)) { - cflags += invoker.cflags - } - - bt_ble_include_dirs = [ - #fatfs required for ethermind - "${rt_sdk_root}/middleware/fatfs/source", - - #edgefast_bluetooth - "${rt_sdk_root}/middleware/edgefast_bluetooth/include", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/porting", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/platform", - - #ethermind - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/export/include", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/export/eOSAL", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/export/extension", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/bluetooth", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/bluetooth/controller", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/ethal", - "${rt_sdk_root}/middleware/wireless/ethermind/port/osal/src/freertos", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/lib/mcux/default/config", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/protocols/sm", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/protocols/sdp", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/protocols/dbase", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/protocols/rfcomm", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/protocols/bnep", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/protocols/avdtp", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/protocols/avctp", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/protocols/smp", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/protocols/obex", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/protocols/mcap", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/protocols/att", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/protocols/hci_1.2", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/utils/aes_cmac", - - # Common edgeFast config file - "${rt_sdk_root}/middleware/edgefast_bluetooth/output/templates/config", - - # Transceiver - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/bluetooth/controller", - - # SDK hook requires to build the BLEManagerImpl.cpp from Zephyr - "${nxp_sdk_build_root}/${nxp_sdk_name}/sdk_hook", - ] - libs = [] - - if (hci_spinel_single_uart) { - # Allows to wrap hci_uart functions to another implementation. - # The goal is to have hci and spinel encapsulated in hdlc frames. - # To view the content of new implementations, the code of spinel_hci_hdlc.cpp should be checked - ldflags = [ - "-Wl,--defsym,hci_uart_write_data=__wrap_hci_uart_write_data", - "-Wl,--wrap=hci_uart_bt_init", - "-Wl,--wrap=hci_uart_bt_shutdown", - "-Wl,--wrap=hci_uart_init", - ] - bt_ble_include_dirs += [ - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal", - - # SDK hook to be able to undef the value of EM_HAVE_STATIC_DECL - # so that we can do an extern of the hci_uart_state variable - "${nxp_sdk_build_root}/${nxp_sdk_name}/sdk_hook/bt_pal", - ] - } else { - defines += [ "HAL_UART_DMA_ENABLE=1" ] - bt_ble_include_dirs += - [ "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux" ] - } - - if (is_sdk_2_15) { - bt_ble_include_dirs += [ - #sdk hook for fatfs config file required for ethermind include files - "${nxp_sdk_build_root}/${nxp_sdk_name}/sdk_hook/fatfs/config", - ] - } else { - bt_ble_include_dirs += [ "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/platform/configs" ] - } - - defines += [ - #BT config, - "CONFIG_BT_PERIPHERAL=1", - "CONFIG_BT_GATT_DYNAMIC_DB=1", - "CONFIG_BT_SETTINGS=0", - "CONFIG_BT_HOST_CRYPTO=1", - "CONFIG_BT_KEYS_OVERWRITE_OLDEST=1", - "BT_BLE_PLATFORM_INIT_ESCAPE", - "BT_CHIP_SUPPORT", - - #increase the Max transmission Unit (MTU) to 247 as defined in the Matter specific - # BT_L2CAP_RX_MTU = CONFIG_BT_BUF_ACL_RX_SIZE - BT_L2CAP_HDR_SIZE with BT_L2CAP_HDR_SIZE = 4 - # therefore define CONFIG_BT_BUF_ACL_RX_SIZE to 251 - "CONFIG_BT_BUF_ACL_RX_SIZE=251", - - #BT_L2CAP_TX_MTU = CONFIG_BT_L2CAP_TX_MTU - # so define CONFIG_BT_L2CAP_TX_MTU to 247 - "CONFIG_BT_L2CAP_TX_MTU=247", - ] - - #Define ZEPHYR to 1 to have the function MapErrorZephyr linked - defines += [ "__ZEPHYR__=1" ] - - # Now add our "system-header" include dirs - foreach(include_dir, bt_ble_include_dirs) { - cflags += [ "-isystem" + rebase_path(include_dir, root_build_dir) ] - } - } - - source_set(bt_ble_target_name) { - forward_variables_from(invoker, "*") - sources = [ - # SDK hook for ethermind - #"${nxp_sdk_build_root}/${nxp_sdk_name}/sdk_hook/btsnoop_pl.c", - #edgefast_bluetooth - "${nxp_sdk_build_root}/${nxp_sdk_name}/sdk_hook/littlefs_pl.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/bt_db_gen.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/common/addr.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_addr.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_adv.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_att.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_buf.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_conn.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_crypto.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_gatt.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_hci_core.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_id.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_l2cap.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_settings.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_smp.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_smp_null.c", - - #"${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_ecc.c", - #"${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_keys.c", - #"${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_keys_br.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/host/bt_pal_uuid.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/platform/bt_ble_platform.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/impl/ethermind/platform/bt_ble_settings.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/porting/atomic_c.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/porting/buf.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/porting/porting.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/porting/slist.c", - "${rt_sdk_root}/middleware/edgefast_bluetooth/source/porting/work_queue.c", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/export/extension/BT_common_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/export/extension/aes_cmac_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/export/extension/device_queue_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/export/extension/sm_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/export/extension/sm_ssp_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/export/extension/smp_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/port/osal/src/freertos/EM_serial.c", - "${rt_sdk_root}/middleware/wireless/ethermind/port/osal/src/freertos/EM_timer.c", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/bluetooth/BT_status_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/bluetooth/BT_storage_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/bluetooth/btsnoop_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/bluetooth/ht_read_task_pl.c", - - #ethermind files - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/bluetooth/sco_audio_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/bluetooth/write_task_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/ethal/ethal_config.c", - - #"${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/bluetooth/littlefs_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/ethal/ethal_debug.c", - - #"${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/ethal/ethal_fops.c", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/ethal/ethal_os.c", - ] - - if (!defined(configs)) { - configs = [] - } - - # Relax warnings for third_party code. - configs += [ - ":${bt_ble_target_name}_warnings", - - # Dependencies required to have the rand32.cpp file building - # A dependency to is required therefore add a dependency to below components - "${chip_root}/src:includes", - "${nxp_sdk_build_root}/${nxp_sdk_name}:lwip_rt_config", - "${chip_root}/third_party/nlassert:nlassert_config", - ] - - if (!defined(deps)) { - deps = [] - } - - defines = - [ "vApplicationMallocFailedHook=vApplicationMallocFailedHookBTBLE" ] - - if (!defined(public_configs)) { - public_configs = [] - } - - public_configs += [ ":${bt_ble_target_name}_config" ] - } -} diff --git a/third_party/nxp/rt_sdk/lwip/common/lwipopts_common.h b/third_party/nxp/rt_sdk/lwip/common/lwipopts_common.h deleted file mode 100644 index 14b8fad5823d85..00000000000000 --- a/third_party/nxp/rt_sdk/lwip/common/lwipopts_common.h +++ /dev/null @@ -1,603 +0,0 @@ -/* - * Copyright (c) 2020 Nest Labs, Inc. - * Copyright 2023 NXP - * All rights reserved. - * - * 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. - */ - -/** - * @file - * Compile-time configuration for LwIP on NXP platforms using the - * NXP SDK. - * - */ - -#ifndef __LWIPOPTS_COMMON_H__ -#define __LWIPOPTS_COMMON_H__ - -#if CHIP_HAVE_CONFIG_H -#include -#endif - -#include - -#define LWIP_PROVIDE_ERRNO - -#ifndef CONFIG_NETWORK_HIGH_PERF -#define CONFIG_NETWORK_HIGH_PERF 1 -#endif - -#if USE_RTOS - -/** - * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain - * critical regions during buffer allocation, deallocation and memory - * allocation and deallocation. - */ -#define SYS_LIGHTWEIGHT_PROT 1 - -/** - * NO_SYS==0: Use RTOS - */ -#define NO_SYS 0 -/** - * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c) - */ -#define LWIP_NETCONN 1 -/** - * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c) - */ -#define LWIP_SOCKET 1 - -/** - * LWIP_SO_RCVTIMEO==1: Enable receive timeout for sockets/netconns and - * SO_RCVTIMEO processing. - */ -#define LWIP_SO_RCVTIMEO 1 - -#else -/** - * NO_SYS==1: Bare metal lwIP - */ -#define NO_SYS 1 -/** - * LWIP_NETCONN==0: Disable Netconn API (require to use api_lib.c) - */ -#define LWIP_NETCONN 0 -/** - * LWIP_SOCKET==0: Disable Socket API (require to use sockets.c) - */ -#define LWIP_SOCKET 0 - -#endif - -/* ---------- Multicast DNS options ---------- */ -/* Multicast DNS module */ -#ifndef LWIP_MDNS_RESPONDER -#define LWIP_MDNS_RESPONDER 1 -#endif - -/** - * The maximum number of services per netif - * recommended to be two times greater than number of matter fabrics supported - */ -#ifndef MDNS_MAX_SERVICES -#define MDNS_MAX_SERVICES 10 -#endif - -/* Search over multicast DNS module */ -#ifndef LWIP_MDNS_SEARCH -#define LWIP_MDNS_SEARCH 0 -#endif - -/* Provide strncasecmp to lwIP so it does not provide it's own lwip_strnicmp implementation along the strncasecmp from toolchain */ -#ifndef lwip_strnicmp -#define lwip_strnicmp strncasecmp -#endif - -/* ---------- Core locking ---------- */ - -#ifdef __cplusplus -extern "C" { -#endif - -#define LWIP_TCPIP_CORE_LOCKING 1 - -void sys_lock_tcpip_core(void); -#define LOCK_TCPIP_CORE() sys_lock_tcpip_core() - -void sys_unlock_tcpip_core(void); -#define UNLOCK_TCPIP_CORE() sys_unlock_tcpip_core() - -// void sys_check_core_locking(void); -// #define LWIP_ASSERT_CORE_LOCKED() sys_check_core_locking() - -// void sys_mark_tcpip_thread(void); -// #define LWIP_MARK_TCPIP_THREAD() sys_mark_tcpip_thread() - -#ifdef __cplusplus -} -#endif - -#define LWIP_NETIF_HOSTNAME 1 - -/* ---------- Memory options ---------- */ -/** - * MEM_ALIGNMENT: should be set to the alignment of the CPU - * 4 byte alignment -> #define MEM_ALIGNMENT 4 - * 2 byte alignment -> #define MEM_ALIGNMENT 2 - */ -#ifndef MEM_ALIGNMENT -#define MEM_ALIGNMENT 4 -#endif - -/** - * MEM_SIZE: the size of the heap memory. If the application will send - * a lot of data that needs to be copied, this should be set high. - */ -#ifndef MEM_SIZE -#define MEM_SIZE (22 * 1024) -#endif - -/* MEMP_NUM_PBUF: the number of memp struct pbufs. If the application - sends a lot of data out of ROM (or other static memory), this - should be set high. */ -#ifndef MEMP_NUM_PBUF -#if CONFIG_NETWORK_HIGH_PERF -#define MEMP_NUM_PBUF 30 -#else -#define MEMP_NUM_PBUF 15 -#endif -#endif - -/** - * MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used - * for incoming packets. - * (only needed if you use tcpip.c) - */ -#ifndef MEMP_NUM_TCPIP_MSG_INPKT -#if CONFIG_NETWORK_HIGH_PERF -#define MEMP_NUM_TCPIP_MSG_INPKT 32 -#else -#define MEMP_NUM_TCPIP_MSG_INPKT 16 -#endif -#endif - -/** MEMP_NUM_TCPIP_MSG_*: the number of struct tcpip_msg, which is used - for sequential API communication and incoming packets. Used in - src/api/tcpip.c. */ -#ifndef MEMP_NUM_TCPIP_MSG_API -#if CONFIG_NETWORK_HIGH_PERF -#define MEMP_NUM_TCPIP_MSG_API 64 -#else -#define MEMP_NUM_TCPIP_MSG_API 16 -#endif -#endif - -/** - * MEMP_NUM_NETBUF: the number of struct netbufs. - * (only needed if you use the sequential API, like api_lib.c) - */ -#ifndef MEMP_NUM_NETBUF -#if CONFIG_NETWORK_HIGH_PERF -#define MEMP_NUM_NETBUF 32 -#else -#define MEMP_NUM_NETBUF 16 -#endif -#endif - -/* MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One - per active UDP "connection". */ -#ifndef MEMP_NUM_UDP_PCB -#define MEMP_NUM_UDP_PCB (6 + (LWIP_MDNS_RESPONDER)) -#endif -/* MEMP_NUM_TCP_PCB: the number of simultaneously active TCP - connections. */ -#ifndef MEMP_NUM_TCP_PCB -#define MEMP_NUM_TCP_PCB 10 -#endif -/* MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP - connections. */ -#ifndef MEMP_NUM_TCP_PCB_LISTEN -#define MEMP_NUM_TCP_PCB_LISTEN 6 -#endif -/* MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP - segments. */ -#ifndef MEMP_NUM_TCP_SEG -#if CONFIG_NETWORK_HIGH_PERF -#define MEMP_NUM_TCP_SEG 48 -#else -#define MEMP_NUM_TCP_SEG 22 -#endif -#endif -/* MEMP_NUM_SYS_TIMEOUT: the number of simulateously active - timeouts. */ -#ifndef MEMP_NUM_SYS_TIMEOUT -#define MEMP_NUM_SYS_TIMEOUT (10 + (7 * (LWIP_MDNS_RESPONDER))) -#endif - -/* ---------- Pbuf options ---------- */ -/* PBUF_POOL_SIZE: the number of buffers in the pbuf pool. */ -#ifndef PBUF_POOL_SIZE -#define PBUF_POOL_SIZE 40 -#endif - -/* PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. */ -/* Default value is defined in lwip\src\include\lwip\opt.h as - * LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_ENCAPSULATION_HLEN+PBUF_LINK_HLEN)*/ - -/* ---------- TCP options ---------- */ -#ifndef LWIP_TCP -#define LWIP_TCP 1 -#endif - -#ifndef TCP_TTL -#define TCP_TTL 255 -#endif - -/* Controls if TCP should queue segments that arrive out of - order. Define to 0 if your device is low on memory. */ -#ifndef TCP_QUEUE_OOSEQ -#define TCP_QUEUE_OOSEQ 0 -#endif - -/* TCP Maximum segment size. */ -#ifndef TCP_MSS -#define TCP_MSS (1500 - 40) /* TCP_MSS = (Ethernet MTU - IP header size - TCP header size) */ -#endif - -/* TCP sender buffer space (bytes). */ -#ifndef TCP_SND_BUF -#if CONFIG_NETWORK_HIGH_PERF -#define TCP_SND_BUF (12 * TCP_MSS) -#else -#define TCP_SND_BUF (6 * TCP_MSS) -#endif -#endif - -/* TCP sender buffer space (pbufs). This must be at least = 2 * - TCP_SND_BUF/TCP_MSS for things to work. */ -#ifndef TCP_SND_QUEUELEN -#define TCP_SND_QUEUELEN (3 * TCP_SND_BUF) / TCP_MSS -#endif - -/* TCP receive window. */ -#ifndef TCP_WND -#if CONFIG_NETWORK_HIGH_PERF -#define TCP_WND (15 * TCP_MSS) -#else -#define TCP_WND (2 * TCP_MSS) -#endif -#endif - -/* Enable backlog*/ -#ifndef TCP_LISTEN_BACKLOG -#define TCP_LISTEN_BACKLOG 1 -#endif - -/* ---------- Network Interfaces options ---------- */ -/* Support netif api (in netifapi.c). */ -#ifndef LWIP_NETIF_API -#define LWIP_NETIF_API 1 -#endif - -/* Support an extended callback function - * for several netif related event that supports multiple subscribers. */ -#ifndef LWIP_NETIF_EXT_STATUS_CALLBACK -#define LWIP_NETIF_EXT_STATUS_CALLBACK 1 -#endif - -/* Number of clients that may store data in client_data member array of struct netif (max. 256). */ -#ifndef LWIP_NUM_NETIF_CLIENT_DATA -#define LWIP_NUM_NETIF_CLIENT_DATA (LWIP_MDNS_RESPONDER) -#endif - -/* ---------- ICMP options ---------- */ -#ifndef LWIP_ICMP -#define LWIP_ICMP 1 -#endif - -/* ---------- DHCP options ---------- */ -/* Enable DHCP module. */ -#ifndef LWIP_DHCP -#define LWIP_DHCP 1 -#endif - -/* ---------- IGMP options ---------- */ -/** - * LWIP_IGMP==1: Turn on IGMP module. - */ -#define LWIP_IGMP 1 - -/* ---------- UDP options ---------- */ -#ifndef LWIP_UDP -#define LWIP_UDP 1 -#endif -#ifndef UDP_TTL -#define UDP_TTL 255 -#endif - -/* ---------- Statistics options ---------- */ -#ifndef LWIP_STATS -#define LWIP_STATS 0 -#endif -#ifndef LWIP_PROVIDE_ERRNO -#define LWIP_PROVIDE_ERRNO 1 -#endif - -/* - -------------------------------------- - ---------- Checksum options ---------- - -------------------------------------- -*/ - -/* -Some MCU allow computing and verifying the IP, UDP, TCP and ICMP checksums by hardware: - - To use this feature let the following define uncommented. - - To disable it and process by CPU comment the the checksum. -*/ -// #define CHECKSUM_BY_HARDWARE - -#ifdef CHECKSUM_BY_HARDWARE -/* CHECKSUM_GEN_IP==0: Generate checksums by hardware for outgoing IP packets.*/ -#define CHECKSUM_GEN_IP 0 -/* CHECKSUM_GEN_UDP==0: Generate checksums by hardware for outgoing UDP packets.*/ -#define CHECKSUM_GEN_UDP 0 -/* CHECKSUM_GEN_TCP==0: Generate checksums by hardware for outgoing TCP packets.*/ -#define CHECKSUM_GEN_TCP 0 -/* CHECKSUM_CHECK_IP==0: Check checksums by hardware for incoming IP packets.*/ -#define CHECKSUM_CHECK_IP 0 -/* CHECKSUM_CHECK_UDP==0: Check checksums by hardware for incoming UDP packets.*/ -#define CHECKSUM_CHECK_UDP 0 -/* CHECKSUM_CHECK_TCP==0: Check checksums by hardware for incoming TCP packets.*/ -#define CHECKSUM_CHECK_TCP 0 -#else -/* CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets.*/ -#define CHECKSUM_GEN_IP 1 -/* CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets.*/ -#define CHECKSUM_GEN_UDP 1 -/* CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets.*/ -#define CHECKSUM_GEN_TCP 1 -/* CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets.*/ -#define CHECKSUM_CHECK_IP 1 -/* CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets.*/ -#define CHECKSUM_CHECK_UDP 1 -/* CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets.*/ -#define CHECKSUM_CHECK_TCP 1 -#endif - -/** - * DEFAULT_THREAD_STACKSIZE: The stack size used by any other lwIP thread. - * The stack size value itself is platform-dependent, but is passed to - * sys_thread_new() when the thread is created. - */ -#ifndef DEFAULT_THREAD_STACKSIZE -#define DEFAULT_THREAD_STACKSIZE 3000 -#endif - -/** - * DEFAULT_THREAD_PRIO: The priority assigned to any other lwIP thread. - * The priority value itself is platform-dependent, but is passed to - * sys_thread_new() when the thread is created. - */ -#ifndef DEFAULT_THREAD_PRIO -#define DEFAULT_THREAD_PRIO 8 -#endif - -#define LWIP_TIMEVAL_PRIVATE (0) -#define LWIP_COMPAT_MUTEX (0) - -#define LWIP_SOCKET_SET_ERRNO 0 -#define IP_REASS_MAX_PBUFS 0 -#define IP_REASSEMBLY 0 -#define MEMP_NUM_REASSDATA 0 - -#define SO_REUSE (0) -#define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS (0) - -#define TCP_QUEUE_OOSEQ 0 -#define ARP_QUEUEING (0) - -// For Thread-only platforms this is unnecessary but Border router config needs to redefine to larger value -#define LWIP_RAW 1 -#ifndef MEMP_NUM_RAW_PCB -#define MEMP_NUM_RAW_PCB (1) -#endif - -// TODO: verify count - -#define LWIP_HAVE_LOOPIF (0) - -// TODO: not sure why this is disabled -#define LWIP_NETIF_LOOPBACK (0) - -#ifndef MEMP_NUM_NETCONN -#define MEMP_NUM_NETCONN (0) -#endif - -#ifndef LWIP_IPV4 -#define LWIP_IPV4 0 -#endif -// LWIP IPV6 is mandatory to build matter application -#define LWIP_IPV6 1 -#define LWIP_ARP (1) -#ifndef LWIP_DNS -#define LWIP_DNS (1) -#endif - -#if LWIP_IPV6 -// #define LWIP_IPV6_REASS (0) -// #define LWIP_IPV6_DHCP6 0 -// #define LWIP_IPV6_AUTOCONFIG (1) -// #define LWIP_IPV6_ROUTER_SUPPORT 0 -// #define LWIP_ND6_LISTEN_RA 0 - -// #define LWIP_ND6_NUM_NEIGHBORS (0) -// #define LWIP_ND6_NUM_DESTINATIONS (0) -// #define LWIP_ND6_NUM_PREFIXES (0) -// #define LWIP_ND6_NUM_ROUTERS (0) -// #define LWIP_ND6_MAX_MULTICAST_SOLICIT (0) -// #define LWIP_ND6_MAX_UNICAST_SOLICIT (0) -// #define LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT (0) -// #define LWIP_ND6_TCP_REACHABILITY_HINTS (0) -#endif /* LWIP_IPV6 */ - -#define MEMP_SEPARATE_POOLS (0) -#define LWIP_PBUF_FROM_CUSTOM_POOLS (0) -#define MEMP_USE_CUSTOM_POOLS (0) - -#define MEM_LIBC_MALLOC 1 -#define mem_clib_malloc pvPortMalloc -#define mem_clib_free vPortFree - -#define mem_clib_calloc pvPortCalloc - -#define PBUF_CUSTOM_POOL_IDX_START (MEMP_NUM_PBUF) -#define PBUF_CUSTOM_POOL_IDX_END (MEMP_NUM_PBUF) - -#define ETH_PAD_SIZE (0) -#define SUB_ETHERNET_HEADER_SPACE (0) -#define PBUF_LINK_HLEN (14) - -#if LWIP_IPV6 -#ifndef LWIP_IPV6_NUM_ADDRESSES -#define LWIP_IPV6_NUM_ADDRESSES 5 -#endif - -#define LWIP_IPV6_MLD 1 -#define LWIP_ND6_QUEUEING 0 - -#ifndef LWIP_IPV6_SCOPES -#define LWIP_IPV6_SCOPES 0 -#endif - -#endif /* LWIP_IPV6 */ - -#define LWIP_MULTICAST_PING 0 - -#define LWIP_DNS_FOUND_CALLBACK_TYPE dns_found_callback - -// TODO: make LWIP_DEBUG conditional on build type - -#define MEMP_OVERFLOW_CHECK (0) -#define MEMP_SANITY_CHECK (0) -#define MDNS_DEBUG (LWIP_DBG_OFF) -#define MEM_DEBUG (LWIP_DBG_OFF) -#define MEMP_DEBUG (LWIP_DBG_OFF) -#define PBUF_DEBUG (LWIP_DBG_OFF) -#define API_LIB_DEBUG (LWIP_DBG_OFF) -#define API_MSG_DEBUG (LWIP_DBG_OFF) -#define TCPIP_DEBUG (LWIP_DBG_OFF) -#define NETIF_DEBUG (LWIP_DBG_OFF) -#define SOCKETS_DEBUG (LWIP_DBG_OFF) -#define DEMO_DEBUG (LWIP_DBG_OFF) -#define DHCP_DEBUG (LWIP_DBG_OFF) -#define AUTOIP_DEBUG (LWIP_DBG_OFF) -#define ETHARP_DEBUG (LWIP_DBG_OFF) -#define IP_DEBUG (LWIP_DBG_OFF) -#define IP_REASS_DEBUG (LWIP_DBG_OFF) -#define IP6_DEBUG (LWIP_DBG_OFF) -#define RAW_DEBUG (LWIP_DBG_OFF) -#define ICMP_DEBUG (LWIP_DBG_OFF) -#define UDP_DEBUG (LWIP_DBG_OFF) -#define TCP_DEBUG (LWIP_DBG_OFF) -#define TCP_INPUT_DEBUG (LWIP_DBG_OFF) -#define TCP_OUTPUT_DEBUG (LWIP_DBG_OFF) -#define TCP_RTO_DEBUG (LWIP_DBG_OFF) -#define TCP_CWND_DEBUG (LWIP_DBG_OFF) -#define TCP_WND_DEBUG (LWIP_DBG_OFF) -#define TCP_FR_DEBUG (LWIP_DBG_OFF) -#define TCP_QLEN_DEBUG (LWIP_DBG_OFF) -#define TCP_RST_DEBUG (LWIP_DBG_OFF) -#define PPP_DEBUG (LWIP_DBG_OFF) - -#define LWIP_DBG_TYPES_ON \ - (LWIP_DBG_ON | LWIP_DBG_TRACE) /* (LWIP_DBG_ON|LWIP_DBG_TRACE|LWIP_DBG_STATE|LWIP_DBG_FRESH|LWIP_DBG_HALT) */ - -/* - ------------------------------------ - ---------- Debugging options ---------- - ------------------------------------ -*/ - -#ifdef LWIP_DEBUG -#define U8_F "c" -#define S8_F "c" -#define X8_F "02x" -#define U16_F "u" -#define S16_F "d" -#define X16_F "x" -#define U32_F "u" -#define S32_F "d" -#define X32_F "x" -#define SZT_F "u" -#endif - -#ifndef TCPIP_MBOX_SIZE -#if CONFIG_NETWORK_HIGH_PERF -#define TCPIP_MBOX_SIZE 64 -#else -#define TCPIP_MBOX_SIZE 32 -#endif -#endif - -#define TCPIP_THREAD_STACKSIZE 1024 -#define TCPIP_THREAD_PRIO 8 - -/** - * DEFAULT_RAW_RECVMBOX_SIZE: The mailbox size for the incoming packets on a - * NETCONN_RAW. The queue size value itself is platform-dependent, but is passed - * to sys_mbox_new() when the recvmbox is created. - */ -#define DEFAULT_RAW_RECVMBOX_SIZE 12 - -/** - * DEFAULT_UDP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a - * NETCONN_UDP. The queue size value itself is platform-dependent, but is passed - * to sys_mbox_new() when the recvmbox is created. - */ -#define DEFAULT_UDP_RECVMBOX_SIZE 12 - -/** - * DEFAULT_TCP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a - * NETCONN_TCP. The queue size value itself is platform-dependent, but is passed - * to sys_mbox_new() when the recvmbox is created. - */ -#define DEFAULT_TCP_RECVMBOX_SIZE 32 - -/** - * DEFAULT_ACCEPTMBOX_SIZE: The mailbox size for the incoming connections. - * The queue size value itself is platform-dependent, but is passed to - * sys_mbox_new() when the acceptmbox is created. - */ -#define DEFAULT_ACCEPTMBOX_SIZE 12 - -#if (LWIP_DNS || LWIP_IGMP || LWIP_IPV6) && !defined(LWIP_RAND) -/* When using IGMP or IPv6, LWIP_RAND() needs to be defined to a random-function returning an u32_t random value*/ -#include "lwip/arch.h" -u32_t lwip_rand(void); -#define LWIP_RAND() lwip_rand() -#endif - -/** - * DAC macro (initially defined in MIMXRT1176_cm7_features.h) must be undefined - * in the use case of RT1170 platform. - * This is due to DAC name being used by Matter, which causes a conflict - * resulting in a compilation failure. - */ -#ifdef MIMXRT1176_cm7_SERIES -#undef DAC -#endif - -#endif /* __LWIPOPTS_COMMON_H__ */ diff --git a/third_party/nxp/rt_sdk/lwip/common/lwippools.h b/third_party/nxp/rt_sdk/lwip/common/lwippools.h deleted file mode 100644 index 80a6e755709ec1..00000000000000 --- a/third_party/nxp/rt_sdk/lwip/common/lwippools.h +++ /dev/null @@ -1,30 +0,0 @@ -/* @file lwippools.h - * - * @brief This file contains custom LwIP memory pool definitions - * - * Copyright 2020 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef __LWIPPOOLS_H__ -#define __LWIPPOOLS_H__ - -#ifdef MEMP_USE_CUSTOM_POOLS - -#if CHIP_DEVICE_CONFIG_ENABLE_WPA - -/* - * We explicitly move certain large LwIP memory pools to the custom defined - * .wlan_data section in (flash) memory to avoid memory overflow in the - * m_data section (RAM). - */ -extern unsigned char __attribute__((section(".wlan_data"))) memp_memory_PBUF_POOL_base[]; -extern unsigned char __attribute__((section(".wlan_data"))) memp_memory_TCP_PCB_POOL_base[]; - -#endif /* CHIP_DEVICE_CONFIG_ENABLE_WPA */ - -#endif /* MEMP_USE_CUSTOM_POOLS */ - -#endif /* __LWIPPOOLS_H__ */ diff --git a/third_party/nxp/rt_sdk/lwip/ethernet/lwipopts.h b/third_party/nxp/rt_sdk/lwip/ethernet/lwipopts.h deleted file mode 100644 index 7e59f4c48df3ee..00000000000000 --- a/third_party/nxp/rt_sdk/lwip/ethernet/lwipopts.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * - * Copyright (c) 2020 Nest Labs, Inc. - * All rights reserved. - * - * 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. - */ - -/** - * @file - * Compile-time configuration for LwIP - */ - -#ifndef __LWIPOPTS_H__ -#define __LWIPOPTS_H__ - -#define LWIP_DISABLE_PBUF_POOL_SIZE_SANITY_CHECKS 1 -#define PBUF_POOL_SIZE 15 -#define TCP_MSS (1500 - 40) /* TCP_MSS = (Ethernet MTU - IP header size - TCP header size) */ -#define TCP_WND (8 * TCP_MSS) /* ENET_RXBD_NUM minus spare buffer */ -#define ENET_RXBUFF_NUM 14 -#define ENET_RXBD_NUM 9 - -#define LWIP_ETHERNET 1 -#define LWIP_IPV4 0 - -#include "lwipopts_common.h" - -#endif /* __LWIPOPTS_H__ */ diff --git a/third_party/nxp/rt_sdk/lwip/lwip.gni b/third_party/nxp/rt_sdk/lwip/lwip.gni deleted file mode 100644 index 22f9d64bb13f01..00000000000000 --- a/third_party/nxp/rt_sdk/lwip/lwip.gni +++ /dev/null @@ -1,252 +0,0 @@ -# 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. - -# Defines a lwIP build target. -# -# lwIP depends on external header files to compile. This template defines -# a combined build of the lwIP sources plus target configuration. -template("lwip_target") { - lwip_sdk_root = invoker.rt_sdk_root - - _lwip_root = "${lwip_sdk_root}/middleware/lwip" - - lwip_target_name = target_name - - # Apply overrides for lwIP features. - forward_variables_from(invoker, - [ - "lwip_ipv4", - "lwip_ipv6", - "lwip_api", - "lwip_ethernet", - "lwip_slip", - "lwip_6lowpan", - ]) - - if (!defined(lwip_ipv4)) { - lwip_ipv4 = true - } - if (!defined(lwip_ipv6)) { - lwip_ipv6 = true - } - if (!defined(lwip_api)) { - lwip_api = true - } - if (!defined(lwip_ethernet)) { - lwip_ethernet = true - } - if (!defined(lwip_slip)) { - lwip_slip = false - } - if (!defined(lwip_6lowpan)) { - lwip_6lowpan = false - } - - config("${lwip_target_name}_base_config") { - include_dirs = [ "${lwip_sdk_root}/middleware/lwip/src/include" ] - } - - source_set(lwip_target_name) { - forward_variables_from(invoker, - [ - "sources", - "public", - "public_configs", - "public_deps", - ]) - - # lwIP headers become empty if the relevant feature is disabled, so the - # whole interface can be public regardless of build options. - public += [ - "${_lwip_root}/src/include/lwip/acd.h", - "${_lwip_root}/src/include/lwip/altcp.h", - "${_lwip_root}/src/include/lwip/altcp_tcp.h", - "${_lwip_root}/src/include/lwip/altcp_tls.h", - "${_lwip_root}/src/include/lwip/api.h", - "${_lwip_root}/src/include/lwip/apps/mdns.h", - "${_lwip_root}/src/include/lwip/apps/mdns_domain.h", - "${_lwip_root}/src/include/lwip/apps/mdns_opts.h", - "${_lwip_root}/src/include/lwip/apps/mdns_out.h", - "${_lwip_root}/src/include/lwip/apps/mdns_priv.h", - "${_lwip_root}/src/include/lwip/arch.h", - "${_lwip_root}/src/include/lwip/autoip.h", - "${_lwip_root}/src/include/lwip/debug.h", - "${_lwip_root}/src/include/lwip/def.h", - "${_lwip_root}/src/include/lwip/dhcp.h", - "${_lwip_root}/src/include/lwip/dhcp6.h", - "${_lwip_root}/src/include/lwip/dns.h", - "${_lwip_root}/src/include/lwip/err.h", - "${_lwip_root}/src/include/lwip/errno.h", - "${_lwip_root}/src/include/lwip/etharp.h", - "${_lwip_root}/src/include/lwip/ethip6.h", - "${_lwip_root}/src/include/lwip/icmp.h", - "${_lwip_root}/src/include/lwip/icmp6.h", - "${_lwip_root}/src/include/lwip/if_api.h", - "${_lwip_root}/src/include/lwip/igmp.h", - "${_lwip_root}/src/include/lwip/inet.h", - "${_lwip_root}/src/include/lwip/inet_chksum.h", - "${_lwip_root}/src/include/lwip/init.h", - "${_lwip_root}/src/include/lwip/ip.h", - "${_lwip_root}/src/include/lwip/ip4.h", - "${_lwip_root}/src/include/lwip/ip4_addr.h", - "${_lwip_root}/src/include/lwip/ip4_frag.h", - "${_lwip_root}/src/include/lwip/ip6.h", - "${_lwip_root}/src/include/lwip/ip6_addr.h", - "${_lwip_root}/src/include/lwip/ip6_frag.h", - "${_lwip_root}/src/include/lwip/ip6_zone.h", - "${_lwip_root}/src/include/lwip/ip_addr.h", - "${_lwip_root}/src/include/lwip/mem.h", - "${_lwip_root}/src/include/lwip/memp.h", - "${_lwip_root}/src/include/lwip/mld6.h", - "${_lwip_root}/src/include/lwip/nd6.h", - "${_lwip_root}/src/include/lwip/netbuf.h", - "${_lwip_root}/src/include/lwip/netdb.h", - "${_lwip_root}/src/include/lwip/netif.h", - "${_lwip_root}/src/include/lwip/netifapi.h", - "${_lwip_root}/src/include/lwip/opt.h", - "${_lwip_root}/src/include/lwip/pbuf.h", - "${_lwip_root}/src/include/lwip/priv/tcp_priv.h", - "${_lwip_root}/src/include/lwip/priv/tcpip_priv.h", - "${_lwip_root}/src/include/lwip/prot/acd.h", - "${_lwip_root}/src/include/lwip/prot/autoip.h", - "${_lwip_root}/src/include/lwip/prot/dhcp.h", - "${_lwip_root}/src/include/lwip/prot/dhcp6.h", - "${_lwip_root}/src/include/lwip/prot/dns.h", - "${_lwip_root}/src/include/lwip/prot/etharp.h", - "${_lwip_root}/src/include/lwip/prot/ethernet.h", - "${_lwip_root}/src/include/lwip/prot/iana.h", - "${_lwip_root}/src/include/lwip/prot/icmp.h", - "${_lwip_root}/src/include/lwip/prot/icmp6.h", - "${_lwip_root}/src/include/lwip/prot/ieee.h", - "${_lwip_root}/src/include/lwip/prot/igmp.h", - "${_lwip_root}/src/include/lwip/prot/ip.h", - "${_lwip_root}/src/include/lwip/prot/ip4.h", - "${_lwip_root}/src/include/lwip/prot/ip6.h", - "${_lwip_root}/src/include/lwip/prot/mld6.h", - "${_lwip_root}/src/include/lwip/prot/nd6.h", - "${_lwip_root}/src/include/lwip/prot/tcp.h", - "${_lwip_root}/src/include/lwip/prot/udp.h", - "${_lwip_root}/src/include/lwip/raw.h", - "${_lwip_root}/src/include/lwip/sio.h", - "${_lwip_root}/src/include/lwip/snmp.h", - "${_lwip_root}/src/include/lwip/sockets.h", - "${_lwip_root}/src/include/lwip/stats.h", - "${_lwip_root}/src/include/lwip/sys.h", - "${_lwip_root}/src/include/lwip/tcp.h", - "${_lwip_root}/src/include/lwip/tcpbase.h", - "${_lwip_root}/src/include/lwip/tcpip.h", - "${_lwip_root}/src/include/lwip/timeouts.h", - "${_lwip_root}/src/include/lwip/udp.h", - ] - - sources += [ - "${_lwip_root}/src/apps/mdns/mdns.c", - "${_lwip_root}/src/apps/mdns/mdns_domain.c", - "${_lwip_root}/src/apps/mdns/mdns_out.c", - "${_lwip_root}/src/core/altcp.c", - "${_lwip_root}/src/core/altcp_alloc.c", - "${_lwip_root}/src/core/altcp_tcp.c", - "${_lwip_root}/src/core/def.c", - "${_lwip_root}/src/core/dns.c", - "${_lwip_root}/src/core/inet_chksum.c", - "${_lwip_root}/src/core/init.c", - "${_lwip_root}/src/core/ip.c", - "${_lwip_root}/src/core/mem.c", - "${_lwip_root}/src/core/memp.c", - "${_lwip_root}/src/core/netif.c", - "${_lwip_root}/src/core/pbuf.c", - "${_lwip_root}/src/core/raw.c", - "${_lwip_root}/src/core/stats.c", - "${_lwip_root}/src/core/sys.c", - "${_lwip_root}/src/core/tcp.c", - "${_lwip_root}/src/core/tcp_in.c", - "${_lwip_root}/src/core/tcp_out.c", - "${_lwip_root}/src/core/timeouts.c", - "${_lwip_root}/src/core/udp.c", - "${_lwip_root}/src/include/lwip/priv/altcp_priv.h", - "${_lwip_root}/src/include/lwip/priv/api_msg.h", - "${_lwip_root}/src/include/lwip/priv/api_msg.h", - "${_lwip_root}/src/include/lwip/priv/mem_priv.h", - "${_lwip_root}/src/include/lwip/priv/memp_priv.h", - "${_lwip_root}/src/include/lwip/priv/memp_std.h", - "${_lwip_root}/src/include/lwip/priv/nd6_priv.h", - "${_lwip_root}/src/include/lwip/priv/raw_priv.h", - "${_lwip_root}/src/include/lwip/priv/sockets_priv.h", - ] - - if (lwip_ipv4) { - sources += [ - "${_lwip_root}/src/core/ipv4/acd.c", - "${_lwip_root}/src/core/ipv4/autoip.c", - "${_lwip_root}/src/core/ipv4/dhcp.c", - "${_lwip_root}/src/core/ipv4/etharp.c", - "${_lwip_root}/src/core/ipv4/icmp.c", - "${_lwip_root}/src/core/ipv4/igmp.c", - "${_lwip_root}/src/core/ipv4/ip4.c", - "${_lwip_root}/src/core/ipv4/ip4_addr.c", - "${_lwip_root}/src/core/ipv4/ip4_frag.c", - ] - } - - if (lwip_ipv6) { - sources += [ - "${_lwip_root}/src/core/ipv6/dhcp6.c", - "${_lwip_root}/src/core/ipv6/ethip6.c", - "${_lwip_root}/src/core/ipv6/icmp6.c", - "${_lwip_root}/src/core/ipv6/inet6.c", - "${_lwip_root}/src/core/ipv6/ip6.c", - "${_lwip_root}/src/core/ipv6/ip6_addr.c", - "${_lwip_root}/src/core/ipv6/ip6_frag.c", - "${_lwip_root}/src/core/ipv6/mld6.c", - "${_lwip_root}/src/core/ipv6/nd6.c", - ] - } - - if (lwip_api) { - sources += [ - "${_lwip_root}/src/api/api_lib.c", - "${_lwip_root}/src/api/api_msg.c", - "${_lwip_root}/src/api/err.c", - "${_lwip_root}/src/api/if_api.c", - "${_lwip_root}/src/api/netbuf.c", - "${_lwip_root}/src/api/netdb.c", - "${_lwip_root}/src/api/netifapi.c", - "${_lwip_root}/src/api/sockets.c", - "${_lwip_root}/src/api/tcpip.c", - ] - } - - if (lwip_ethernet) { - sources += [ "${_lwip_root}/src/netif/ethernet.c" ] - } - - if (lwip_slip) { - sources += [ "${_lwip_root}/src/netif/slipif.c" ] - } - - if (lwip_6lowpan) { - sources += [ "${_lwip_root}/src/netif/lowpan6.c" ] - } - - if (defined(lwip_remove_configs)) { - configs -= lwip_remove_configs - } - if (defined(lwip_add_configs)) { - configs += lwip_add_configs - } - - public_configs += [ ":${lwip_target_name}_base_config" ] - } -} diff --git a/third_party/nxp/rt_sdk/lwip/openthread/lwipopts.h b/third_party/nxp/rt_sdk/lwip/openthread/lwipopts.h deleted file mode 100644 index 268b9fb6b21a11..00000000000000 --- a/third_party/nxp/rt_sdk/lwip/openthread/lwipopts.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * - * Copyright (c) 2020 Nest Labs, Inc. - * Copyright 2023 NXP - * All rights reserved. - * - * 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. - */ - -/** - * @file - * Compile-time configuration for LwIP - */ - -#ifndef __LWIPOPTS_H__ -#define __LWIPOPTS_H__ - -#define CONFIG_NETWORK_HIGH_PERF 0 - -#define LWIP_DNS 0 -#define LWIP_IPV4 0 -#define PBUF_POOL_SIZE 20 -#define NETIF_MAX_HWADDR_LEN 8U - -#include "lwipopts_common.h" - -#endif /* __LWIPOPTS_H__ */ diff --git a/third_party/nxp/rt_sdk/lwip/wifi/lwipopts.h b/third_party/nxp/rt_sdk/lwip/wifi/lwipopts.h deleted file mode 100644 index ba7d6ca0f199ae..00000000000000 --- a/third_party/nxp/rt_sdk/lwip/wifi/lwipopts.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * - * Copyright (c) 2020 Nest Labs, Inc. - * All rights reserved. - * - * 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. - */ - -/** - * @file - * Compile-time configuration for LwIP - */ - -#ifndef __LWIPOPTS_H__ -#define __LWIPOPTS_H__ - -#define LWIP_IPV4 1 - -#include "lwipopts_common.h" - -#endif /* __LWIPOPTS_H__ */ diff --git a/third_party/nxp/rt_sdk/lwip/wifi_openthread/lwipopts.h b/third_party/nxp/rt_sdk/lwip/wifi_openthread/lwipopts.h deleted file mode 100644 index f45675af6f7166..00000000000000 --- a/third_party/nxp/rt_sdk/lwip/wifi_openthread/lwipopts.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * - * Copyright (c) 2020 Nest Labs, Inc. - * All rights reserved. - * - * 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. - */ - -/** - * @file - * Compile-time configuration for LwIP - */ - -#ifndef __LWIPOPTS_H__ -#define __LWIPOPTS_H__ - -#define LWIP_IPV4 1 -#define MEMP_NUM_NETCONN (4) -#define NETIF_MAX_HWADDR_LEN 8U - -// BR specific defines -#define LWIP_IPV6_SCOPES 1 -#define MAX_SOCKETS_UDP 10 -#define MEMP_NUM_UDP_PCB (MAX_SOCKETS_UDP + 2) -#define LWIP_IPV6_NUM_ADDRESSES 8 -#define LWIP_IPV6_FORWARD 1 -#define MEMP_NUM_RAW_PCB (2) -// Note: According to Thread Conformance v1.2.0, a Thread Border Router MUST be able to hold a Multicast Listeners Table -// in memory with at least seventy five (75) entries. -#define MEMP_NUM_MLD6_GROUP 10 + 75 - -// DHCPv6 Prefix Delegation -#define LWIP_IPV6_DHCP6 1 -#define LWIP_IPV6_DHCP6_STATEFUL 1 -#define LWIP_IPV6_DHCP6_PD 1 - -// Header file with lwIP hooks -#define LWIP_HOOK_FILENAME "lwip_hooks.h" - -// Hook for multicast forwarding and other filtering -#define LWIP_HOOK_IP6_CANFORWARD lwipCanForwardHook - -// Hook for filtering of input traffic -#define LWIP_HOOK_IP6_INPUT lwipInputHook - -#include "lwipopts_common.h" - -#endif /* __LWIPOPTS_H__ */ diff --git a/third_party/nxp/rt_sdk/mbedtls/config/matter_ksdk_mbedtls_config.h b/third_party/nxp/rt_sdk/mbedtls/config/matter_ksdk_mbedtls_config.h deleted file mode 100644 index f5f3d61606b149..00000000000000 --- a/third_party/nxp/rt_sdk/mbedtls/config/matter_ksdk_mbedtls_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2022 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef MATTER_MBEDTLS_CONFIG_H -#define MATTER_MBEDTLS_CONFIG_H - -/* SDK mbetdls config include */ -#include "ksdk_mbedtls_config.h" - -#undef MBEDTLS_FREESCALE_FREERTOS_CALLOC_ALT - -#endif // MATTER_MBEDTLS_CONFIG_H diff --git a/third_party/nxp/rt_sdk/mbedtls/mbedtls.gni b/third_party/nxp/rt_sdk/mbedtls/mbedtls.gni deleted file mode 100644 index 04f628686d29a9..00000000000000 --- a/third_party/nxp/rt_sdk/mbedtls/mbedtls.gni +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright (c) 2022 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. - -template("mbedtls_target") { - if (defined(invoker.rt_sdk_root)) { - rt_sdk_root = invoker.rt_sdk_root - } - - assert(rt_sdk_root != "", "rt_sdk_root must be specified") - mbedtls_sdk_root = rt_sdk_root - mbedtls_target_name = target_name - _mbedtls_root = "${mbedtls_sdk_root}/middleware/mbedtls" - - config("${mbedtls_target_name}_warnings") { - cflags = [ - "-Wno-maybe-uninitialized", - "-Wno-string-concatenation", - ] - } - - config("${mbedtls_target_name}_config") { - include_dirs = [ - "${_mbedtls_root}/include", - "${rt_sdk_root}/middleware/mbedtls/library", - ] - } - - static_library(mbedtls_target_name) { - forward_variables_from(invoker, "*") - if (!defined(sources)) { - sources = [] - } - sources += [ - "${_mbedtls_root}/library/aes.c", - "${_mbedtls_root}/library/aesni.c", - "${_mbedtls_root}/library/arc4.c", - "${_mbedtls_root}/library/asn1parse.c", - "${_mbedtls_root}/library/asn1write.c", - "${_mbedtls_root}/library/base64.c", - "${_mbedtls_root}/library/bignum.c", - "${_mbedtls_root}/library/blowfish.c", - "${_mbedtls_root}/library/camellia.c", - "${_mbedtls_root}/library/ccm.c", - "${_mbedtls_root}/library/certs.c", - "${_mbedtls_root}/library/chacha20.c", - "${_mbedtls_root}/library/chachapoly.c", - "${_mbedtls_root}/library/cipher.c", - "${_mbedtls_root}/library/cipher_wrap.c", - "${_mbedtls_root}/library/cmac.c", - "${_mbedtls_root}/library/constant_time.c", - "${_mbedtls_root}/library/ctr_drbg.c", - "${_mbedtls_root}/library/debug.c", - "${_mbedtls_root}/library/des.c", - "${_mbedtls_root}/library/dhm.c", - "${_mbedtls_root}/library/ecdh.c", - "${_mbedtls_root}/library/ecdsa.c", - "${_mbedtls_root}/library/ecjpake.c", - "${_mbedtls_root}/library/ecp.c", - "${_mbedtls_root}/library/ecp_curves.c", - "${_mbedtls_root}/library/entropy.c", - "${_mbedtls_root}/library/entropy_poll.c", - "${_mbedtls_root}/library/error.c", - "${_mbedtls_root}/library/gcm.c", - "${_mbedtls_root}/library/hkdf.c", - "${_mbedtls_root}/library/hmac_drbg.c", - "${_mbedtls_root}/library/md.c", - "${_mbedtls_root}/library/md5.c", - "${_mbedtls_root}/library/nist_kw.c", - "${_mbedtls_root}/library/oid.c", - "${_mbedtls_root}/library/padlock.c", - "${_mbedtls_root}/library/pem.c", - "${_mbedtls_root}/library/pk.c", - "${_mbedtls_root}/library/pk_wrap.c", - "${_mbedtls_root}/library/pkcs12.c", - "${_mbedtls_root}/library/pkcs5.c", - "${_mbedtls_root}/library/pkparse.c", - "${_mbedtls_root}/library/pkwrite.c", - "${_mbedtls_root}/library/platform.c", - "${_mbedtls_root}/library/platform_util.c", - "${_mbedtls_root}/library/poly1305.c", - "${_mbedtls_root}/library/psa_crypto_client.c", - "${_mbedtls_root}/library/ripemd160.c", - "${_mbedtls_root}/library/rsa.c", - "${_mbedtls_root}/library/rsa_internal.c", - "${_mbedtls_root}/library/sha1.c", - "${_mbedtls_root}/library/sha256.c", - "${_mbedtls_root}/library/sha512.c", - "${_mbedtls_root}/library/ssl_cache.c", - "${_mbedtls_root}/library/ssl_ciphersuites.c", - "${_mbedtls_root}/library/ssl_cli.c", - "${_mbedtls_root}/library/ssl_cookie.c", - "${_mbedtls_root}/library/ssl_msg.c", - "${_mbedtls_root}/library/ssl_srv.c", - "${_mbedtls_root}/library/ssl_ticket.c", - "${_mbedtls_root}/library/ssl_tls.c", - "${_mbedtls_root}/library/threading.c", - "${_mbedtls_root}/library/version.c", - "${_mbedtls_root}/library/version_features.c", - "${_mbedtls_root}/library/x509.c", - "${_mbedtls_root}/library/x509_create.c", - "${_mbedtls_root}/library/x509_crl.c", - "${_mbedtls_root}/library/x509_crt.c", - "${_mbedtls_root}/library/x509_csr.c", - "${_mbedtls_root}/library/x509write_crt.c", - "${_mbedtls_root}/library/x509write_csr.c", - "${_mbedtls_root}/library/xtea.c", - ] - - if (current_os != "freertos") { - sources += [ "${_mbedtls_root}/library/timing.c" ] - } - - if (!defined(configs)) { - configs = [] - } - - # Relax warnings for third_party code. - configs += [ ":${mbedtls_target_name}_warnings" ] - - if (!defined(public_configs)) { - public_configs = [] - } - - public_configs += [ ":${mbedtls_target_name}_config" ] - - output_name = "lib${mbedtls_target_name}" - output_dir = "${root_out_dir}/lib" - } -} diff --git a/third_party/nxp/rt_sdk/nxp_arm.gni b/third_party/nxp/rt_sdk/nxp_arm.gni deleted file mode 100644 index 560b076ef57a0d..00000000000000 --- a/third_party/nxp/rt_sdk/nxp_arm.gni +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright (c) 2023 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/nxp_sdk.gni") -import("${nxp_sdk_build_root}/nxp_sdk.gni") - -assert(nxp_platform == "rt/rt1060" || nxp_platform == "rt/rt1170" || - nxp_platform == "rt/rw61x", - "${nxp_platform} must be one of: rt/rt1060, rt/rt1170, rt/rw61x.") - -if (nxp_platform == "rt/rt1060" || nxp_platform == "rt/rt1170") { - arm_arch = "armv7e-m" - arm_abi = "aapcs" - arm_cpu = "cortex-m7" - arm_fpu = "fpv5-d16" - arm_float_abi = "hard" -} else if (nxp_platform == "rt/rw61x") { - arm_arch = "armv8-m.main" - arm_abi = "aapcs" - arm_cpu = "cortex-m33+nodsp" - arm_fpu = "fpv5-sp-d16" - arm_float_abi = "hard" -} diff --git a/third_party/nxp/rt_sdk/nxp_executable.gni b/third_party/nxp/rt_sdk/nxp_executable.gni deleted file mode 100644 index 2acfe190a2d960..00000000000000 --- a/third_party/nxp/rt_sdk/nxp_executable.gni +++ /dev/null @@ -1,34 +0,0 @@ -# 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/build.gni") -import("//build_overrides/chip.gni") - -import("${build_root}/toolchain/flashable_executable.gni") - -template("rt_executable") { - output_base_name = get_path_info(invoker.output_name, "name") - objcopy_image_name = output_base_name + ".hex" - objcopy_image_format = "srec" - objcopy = "arm-none-eabi-objcopy" - - # Copy flashing dependencies to the output directory so that the output - # is collectively self-contained; this allows flashing to work reliably - # even if the build and flashing steps take place on different machines - # or in different containers. - - flashable_executable(target_name) { - forward_variables_from(invoker, "*") - } -} diff --git a/third_party/nxp/rt_sdk/rt_executable.gni b/third_party/nxp/rt_sdk/rt_executable.gni deleted file mode 100644 index e1ad6698062939..00000000000000 --- a/third_party/nxp/rt_sdk/rt_executable.gni +++ /dev/null @@ -1,34 +0,0 @@ -# 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/build.gni") -import("//build_overrides/chip.gni") - -import("${build_root}/toolchain/flashable_executable.gni") - -template("rt_executable") { - output_base_name = get_path_info(invoker.output_name, "name") - objcopy_image_name = output_base_name + ".hex" - objcopy_image_format = "ihex" - objcopy = "arm-none-eabi-objcopy" - - # Copy flashing dependencies to the output directory so that the output - # is collectively self-contained; this allows flashing to work reliably - # even if the build and flashing steps take place on different machines - # or in different containers. - - flashable_executable(target_name) { - forward_variables_from(invoker, "*") - } -} diff --git a/third_party/nxp/rt_sdk/rt_sdk.gni b/third_party/nxp/rt_sdk/rt_sdk.gni deleted file mode 100644 index eb44f01802ce14..00000000000000 --- a/third_party/nxp/rt_sdk/rt_sdk.gni +++ /dev/null @@ -1,704 +0,0 @@ -# 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 - } -} diff --git a/third_party/nxp/rt_sdk/rw61x/BUILD.gn b/third_party/nxp/rt_sdk/rw61x/BUILD.gn deleted file mode 100644 index 2b439c6e55ef14..00000000000000 --- a/third_party/nxp/rt_sdk/rw61x/BUILD.gn +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright (c) 2022 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/nxp_sdk.gni") - -#allows to get common NXP SDK gn options -import("${nxp_sdk_build_root}/nxp_sdk.gni") - -# Allows to get various RT gn options -import("${nxp_sdk_build_root}/${nxp_sdk_name}/${nxp_sdk_name}.gni") - -import( - "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}/${rt_platform}.gni") - -#allows to get common NXP SDK gn options -import("${nxp_sdk_build_root}/nxp_sdk.gni") - -import("${nxp_sdk_build_root}/${nxp_sdk_name}/mbedtls/mbedtls.gni") -rt_mbedtls_root = "${rt_sdk_root}/middleware/mbedtls" - -config("mbedtls_els_pkc_config") { - include_dirs = [ - "${rt_mbedtls_root}/port/els", - "${rt_mbedtls_root}/port/pkc", - ] - defines = [ "MBEDTLS_PORT_INCLUDE=" ] - - if (chip_enable_openthread) { - defines += [ "MBEDTLS_CONFIG_FILE=" ] - } else { - defines += [ "MBEDTLS_CONFIG_FILE=" ] - } -} - -mbedtls_target("nxp_els_pkc_mbedtls") { - sources = [] - public_configs = [ ":mbedtls_els_pkc_config" ] - public_deps = [ nxp_sdk_driver_target ] - sources += [ - # els port - "${rt_mbedtls_root}/port/els/aes_alt.c", - "${rt_mbedtls_root}/port/els/cbc_mac_alt.c", - "${rt_mbedtls_root}/port/els/cmac_alt.c", - "${rt_mbedtls_root}/port/els/ctr_drbg_alt.c", - "${rt_mbedtls_root}/port/els/els_mbedtls.c", - "${rt_mbedtls_root}/port/els/entropy_poll_alt.c", - "${rt_mbedtls_root}/port/els/gcm_alt.c", - "${rt_mbedtls_root}/port/els/sha256_alt.c", - "${rt_mbedtls_root}/port/els/sha512_alt.c", - - # pkc port - "${rt_mbedtls_root}/port/pkc/ecc_alt.c", - "${rt_mbedtls_root}/port/pkc/ecdh_alt.c", - "${rt_mbedtls_root}/port/pkc/ecdsa_alt.c", - "${rt_mbedtls_root}/port/pkc/els_pkc_mbedtls.c", - "${rt_mbedtls_root}/port/pkc/rsa_alt.c", - ] - if (chip_enable_openthread) { - public_deps += [ "${openthread_root}/src/core:libopenthread_core_headers" ] - } -} - -group("nxp_sdk_mbedtls_config") { - public_configs = [ ":mbedtls_els_pkc_config" ] -} - -group("nxp_mbedtls") { - public_deps = [ ":nxp_els_pkc_mbedtls" ] -} - -source_set("nxp_sdk_mbedtls_dep") { - # Add here SDK source files which have a dependency on mbedtls - # this approach helps avoid circular dependencies between mbedtls and rw61x_sdk_drivers targets - if (chip_enable_secure_dac_private_key_storage == 0) { - sources = [ "${rt_sdk_root}/middleware/wireless/framework/FactoryDataProvider/fwk_factory_data_provider.c" ] - } - - deps = [ - "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}:nxp_mbedtls", - "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}:nxp_sdk_mbedtls_config", - nxp_sdk_driver_target, - ] -} - -group("nxp_sdk") { - # Add SDK's source set which depends on mbedtls - public_deps = [ ":nxp_sdk_mbedtls_dep" ] -} diff --git a/third_party/nxp/rt_sdk/rw61x/rw61x.gni b/third_party/nxp/rt_sdk/rw61x/rw61x.gni deleted file mode 100644 index c15b4dbabf5e22..00000000000000 --- a/third_party/nxp/rt_sdk/rw61x/rw61x.gni +++ /dev/null @@ -1,701 +0,0 @@ -# Copyright (c) 2022 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/nxp_sdk.gni") - -#allows to get common NXP SDK gn options -import("${nxp_sdk_build_root}/nxp_sdk.gni") - -# Allows to get various RT gn options -import("${nxp_sdk_build_root}/${nxp_sdk_name}/rt_sdk.gni") -declare_args() { - board_version = "A1" - deviceBoardName = "RW612" - cpu1_cpu2_fw_type = "sb" -} - -if (is_sdk_internal) { - DRIVER_FILES_PATH = "${rt_sdk_root}/platform/drivers" - UTILITIES_FILES_PATH = "${rt_sdk_root}/platform/utilities" -} else { - if (!is_sdk_package) { - # sdk github is used (default sdk type) # - DRIVER_FILES_PATH = "${rt_core_sdk_root}/drivers" - UTILITIES_FILES_PATH = "${rt_core_sdk_root}/utilities" - } -} - -if (is_sdk_package) { - COMPONENT_FILES_PATH = "${rt_sdk_root}/components" - DRIVER_FILES_PATH = "${rt_sdk_root}/devices/${deviceBoardName}/drivers" - DRIVER_USART_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_DMA_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_MRT_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_TRNG_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_FLEXSPI_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_LPC_GPIO_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_ENET_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_DCP_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_CACHE_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_COMMON_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_DEVICE_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_FLEXCOMM_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_IMU_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_GDMA_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_INPUTMUX_FILES_PATH = "${DRIVER_FILES_PATH}" - DRIVER_PINT_FILES_PATH = "${DRIVER_FILES_PATH}" - COMPONENT_CRC_FILES_PATH = "${COMPONENT_FILES_PATH}/crc" - COMPONENT_RNG_FILES_PATH = "${COMPONENT_FILES_PATH}/rng" - COMPONENT_RPMSG_FILES_PATH = "${COMPONENT_FILES_PATH}/rpmsg" - COMPONENT_UART_FILES_PATH = "${COMPONENT_FILES_PATH}/uart" - COMPONENT_TIMER_FILES_PATH = "${COMPONENT_FILES_PATH}/timer" - COMPONENT_GPIO_FILES_PATH = "${COMPONENT_FILES_PATH}/gpio" - COMPONENT_SILICON_ID_FILES_PATH = "${COMPONENT_FILES_PATH}/silicon_id" - COMPONENT_SILICON_ID_SOCS_FILES_PATH = - "${COMPONENT_SILICON_ID_FILES_PATH}/socs" - COMPONENT_MEM_MANAGER_FILES_PATH = "${COMPONENT_FILES_PATH}/mem_manager" - UTILITIES_FILES_PATH = "${rt_sdk_root}/utilities" - UTILITIES_DEVICE_FILES_PATH = - "${rt_sdk_root}/devices/${deviceBoardName}/utilities" - UTILITIES_ASSERT_FILES_PATH = "${UTILITIES_DEVICE_FILES_PATH}" - UTILITIES_SHELL_FILES_PATH = "${UTILITIES_DEVICE_FILES_PATH}" - DEBUG_CONSOLE_FILES_PATH = "${UTILITIES_DEVICE_FILES_PATH}/debug_console_lite" - FORMAT_FILES_PATH = "${UTILITIES_DEVICE_FILES_PATH}/format" - STR_FILES_PATH = "${UTILITIES_DEVICE_FILES_PATH}/str" - WIFI_BT_TEMPLATE_PATH = "${COMPONENT_FILES_PATH}/wifi_bt_module/template" -} else { - # sdk github or internal sdk (bitbucket) are used # - COMPONENT_FILES_PATH = "${rt_core_sdk_root}/components" - DRIVER_FLEXCOMM_FILES_PATH = "${DRIVER_FILES_PATH}/flexcomm" - DRIVER_USART_FILES_PATH = "${DRIVER_FLEXCOMM_FILES_PATH}/usart" - DRIVER_DMA_FILES_PATH = "${DRIVER_FILES_PATH}/lpc_dma" - DRIVER_MRT_FILES_PATH = "${DRIVER_FILES_PATH}/mrt" - DRIVER_TRNG_FILES_PATH = "${DRIVER_FILES_PATH}/trng" - DRIVER_FLEXSPI_FILES_PATH = "${DRIVER_FILES_PATH}/flexspi" - DRIVER_LPC_GPIO_FILES_PATH = "${DRIVER_FILES_PATH}/lpc_gpio" - DRIVER_ENET_FILES_PATH = "${DRIVER_FILES_PATH}/enet" - DRIVER_DCP_FILES_PATH = "${DRIVER_FILES_PATH}/dcp" - DRIVER_CACHE_FILES_PATH = "${DRIVER_FILES_PATH}/cache/cache64" - DRIVER_COMMON_FILES_PATH = "${DRIVER_FILES_PATH}/common" - DRIVER_DEVICE_FILES_PATH = - "${rt_core_sdk_root}/devices/${deviceBoardName}/drivers" - DRIVER_IMU_FILES_PATH = "${DRIVER_FILES_PATH}/imu" - DRIVER_GDMA_FILES_PATH = "${DRIVER_FILES_PATH}/gdma" - DRIVER_INPUTMUX_FILES_PATH = "${DRIVER_FILES_PATH}/inputmux" - DRIVER_PINT_FILES_PATH = "${DRIVER_FILES_PATH}/pint" - COMPONENT_CRC_FILES_PATH = "${COMPONENT_FILES_PATH}/crc" - COMPONENT_RNG_FILES_PATH = "${COMPONENT_FILES_PATH}/rng" - COMPONENT_RPMSG_FILES_PATH = "${COMPONENT_FILES_PATH}/rpmsg" - COMPONENT_UART_FILES_PATH = "${COMPONENT_FILES_PATH}/uart" - COMPONENT_TIMER_FILES_PATH = "${COMPONENT_FILES_PATH}/timer" - COMPONENT_GPIO_FILES_PATH = "${COMPONENT_FILES_PATH}/gpio" - COMPONENT_MEM_MANAGER_FILES_PATH = "${COMPONENT_FILES_PATH}/mem_manager" - COMPONENT_SILICON_ID_FILES_PATH = "${COMPONENT_FILES_PATH}/silicon_id" - COMPONENT_SILICON_ID_SOCS_FILES_PATH = - "${COMPONENT_SILICON_ID_FILES_PATH}/socs" - UTILITIES_DEVICE_FILES_PATH = - "${rt_core_sdk_root}/devices/${deviceBoardName}/utilities" - UTILITIES_ASSERT_FILES_PATH = "${UTILITIES_FILES_PATH}/assert" - UTILITIES_SHELL_FILES_PATH = "${UTILITIES_FILES_PATH}/shell" - DEBUG_CONSOLE_FILES_PATH = "${UTILITIES_FILES_PATH}/debug_console_lite" - FORMAT_FILES_PATH = "${UTILITIES_FILES_PATH}/misc_utilities" - STR_FILES_PATH = "${UTILITIES_FILES_PATH}/str" - WIFI_BT_TEMPLATE_PATH = "${COMPONENT_FILES_PATH}/wifi_bt_module/template" -} - -ELS_PKC_CL_PATH = "${rt_sdk_root}/components/els_pkc/" - -template("rw61x_sdk_drivers") { - # Convert the CPU1/CPU2 fw binaries into src files - fw_bin_path = "${rt_sdk_root}/components/conn_fwloader" - fw_args = [ - "-t", - cpu1_cpu2_fw_type, - rebase_path(fw_bin_path, root_build_dir), - ] - - #In case A0 target board version, explicitly generate A0 fw binaries - if (board_version == "A0") { - fw_args += [ - "-r", - board_version, - ] - } - - print(exec_script( - "${rt_sdk_root}/components/conn_fwloader/script/fw_bin2c_conv.py", - fw_args, - "list lines")) - - config("${target_name}_config") { - include_dirs = [] - - if (defined(invoker.include_dirs)) { - include_dirs += invoker.include_dirs - } - - _rw61x_sdk_drivers_include_dirs = [ - #Drivers files - "${DRIVER_DEVICE_FILES_PATH}", - "${rt_core_sdk_root}/devices/${deviceBoardName}", - "${COMPONENT_CRC_FILES_PATH}", - "${COMPONENT_RNG_FILES_PATH}", - "${COMPONENT_RPMSG_FILES_PATH}", - "${COMPONENT_UART_FILES_PATH}", - "${COMPONENT_TIMER_FILES_PATH}", - "${COMPONENT_GPIO_FILES_PATH}", - "${COMPONENT_SILICON_ID_FILES_PATH}", - "${COMPONENT_SILICON_ID_SOCS_FILES_PATH}", - "${COMPONENT_MEM_MANAGER_FILES_PATH}", - "${DRIVER_COMMON_FILES_PATH}", - "${DRIVER_FLEXCOMM_FILES_PATH}", - "${DRIVER_USART_FILES_PATH}", - "${DRIVER_LPC_GPIO_FILES_PATH}", - "${DRIVER_DCP_FILES_PATH}", - "${DRIVER_ENET_FILES_PATH}", - "${DRIVER_CACHE_FILES_PATH}", - "${DRIVER_MRT_FILES_PATH}", - "${DRIVER_TRNG_FILES_PATH}", - "${DRIVER_FLEXSPI_FILES_PATH}", - "${DRIVER_DMA_FILES_PATH}", - "${UTILITIES_FILES_PATH}", - "${UTILITIES_DEVICE_FILES_PATH}", - "${DEBUG_CONSOLE_FILES_PATH}", - "${FORMAT_FILES_PATH}", - "${STR_FILES_PATH}", - "${DRIVER_IMU_FILES_PATH}", - "${DRIVER_GDMA_FILES_PATH}", - "${DRIVER_INPUTMUX_FILES_PATH}", - "${DRIVER_PINT_FILES_PATH}", - - # XIP - "${rt_core_sdk_root}/components/flash/mflash", - "${rt_core_sdk_root}/components/flash/mflash/rdrw612bga", - - # loader files - "${rt_core_sdk_root}/components/conn_fwloader/include", - - #power manager - "${rt_core_sdk_root}/components/power_manager/core", - "${rt_core_sdk_root}/components/power_manager/devices/RW612", - - #flash config - "${rt_core_sdk_root}/boards/rdrw612bga/flash_config", - - # freertos - "${rt_sdk_freertos_kernel}/portable/GCC/ARM_CM33_NTZ/non_secure", - - # framework - "${rt_sdk_root}/middleware/wireless/framework/platform/${rt_fwk_platform}/configs", - "${rt_sdk_root}/middleware/wireless/framework/FactoryDataProvider", - ] - - libs = [] - - if (defined(invoker.defines)) { - defines += invoker.defines - } else { - defines = [] - } - - defines += [ - "CPU_RW612ETA1I", - "CPU3", - "FSL_RTOS_FREE_RTOS", - - # when DEBUG_CONSOLE_TRANSFER_NON_BLOCKING is defined - # SERIAL_MANAGER_NON_BLOCKING_MODE is set to 1 by default - #"SERIAL_MANAGER_NON_BLOCKING_MODE=1", - "IMU_TASK_STACK_SIZE=1024", - "RPMSG_TXQ_BUFSIZE=16", - "RPMSG_TXQ_BUFLENGTH=256", - "gMemManagerLightExtendHeapAreaUsage=1", - "APP_FLEXSPI_AMBA_BASE=0x08000000", - "gAspCapability_d=1", - "FFU_CNS_TX_PWR_TABLE_CALIBRATION=1", - "USE_RTOS=1", - "BOOT_HEADER_ENABLE=1", - "WIFI_BOARD_RW610", - - # This allows the CPU1/CPU2 fw to be embedded in the application - "gPlatformMonolithicApp_d=1", - ] - - if (board_version != "A1") { - defines += [ "RW610_A1=0" ] - } - - if (rw610_mbedtls_port_els_pkc) { - defines += [ - # needed to compile els_pkc port for mbedtls - "MBEDTLS_MCUX_ELS_PKC_API", - ] - _rw61x_sdk_drivers_include_dirs += [ - "${ELS_PKC_CL_PATH}", - "${ELS_PKC_CL_PATH}/src/compiler", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAead/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAead/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAeadModes/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAeadModes/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAes/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAes/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClCipher/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClCipher/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClCipherModes/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClCipherModes/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClCore/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHash/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHashModes/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHashModes/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHmac/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClKey/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMac/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMac/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMacModes/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMacModes/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMemory/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClPadding/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClPadding/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClPkc/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClPkc/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClPrng/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClPrng/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandom/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandom/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandomModes/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandomModes/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClSession/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClSession/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClTrng/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClTrng/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslCPreProcessor/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslDataIntegrity/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslFlowProtection/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslMemory/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslMemory/inc/internal", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslParamIntegrity/inc", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslSecureCounter/inc", - "${ELS_PKC_CL_PATH}/src/inc", - "${ELS_PKC_CL_PATH}/src/inc/impl", - "${ELS_PKC_CL_PATH}/src/platforms/rw61x", - "${ELS_PKC_CL_PATH}/src/platforms/rw61x/inc", - ] - } - - if (chip_enable_wifi) { - _rw61x_sdk_drivers_include_dirs += [ - "${rt_sdk_root}/middleware/wifi_nxp/wifidriver", - - # Include lpm.h and host_sleep.h files - "${rt_sdk_root}/boards/rdrw612bga/wifi_examples/common/lpm", - - # wifi config file path - "${WIFI_BT_TEMPLATE_PATH}", - ] - } - - if (chip_enable_ble) { - libs += [ - #ethermind bt libs - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/lib/mcux/default/ble/cm33nodsp/gcc/libethermind_ble_core.a", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/lib/mcux/default/ble/cm33nodsp/gcc/libethermind_ble_gatt.a", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/lib/mcux/default/ble/cm33nodsp/gcc/libethermind_ble_protocol.a", - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/private/lib/mcux/default/ble/cm33nodsp/gcc/libethermind_ble_util.a", - ] - defines += [ - "gPlatformDisableBleLowPower_d=1", - "BT_PLATFORM", - "GATT_DB", - "CFG_BLE", - ] - } - - if (chip_enable_matter_cli) { - #When the CLI is enabled the debug console should be moved in UART0 for RW61x - defines += [ "DEBUG_CONSOLE_UART_INDEX=0" ] - } - - if (chip_enable_openthread) { - if (!spinel_interface_rpmsg) { - _rw61x_sdk_drivers_include_dirs += [ - "${rt_sdk_root}/middleware/wireless/ieee-802.15.4/ieee_802_15_4/phy/interface", - "${rt_sdk_root}/middleware/wireless/ieee-802.15.4/ieee_802_15_4/phy/source/RW610N/RW610_RPMSG", - "${rt_sdk_root}/middleware/wireless/ieee-802.15.4/utils", - ] - } else { - defines += [ "SPINEL_INTERFACE_RPMSG" ] - } - } - - cflags = [] - cflags_c = [] - - if (defined(invoker.cflags)) { - cflags += invoker.cflags - } - - cflags_c += [ - "-Wno-unused-variable", - "-Wno-int-in-bool-context", - "-Wno-memset-elt-size", - "-Wno-parentheses", - "-Wno-vla", - "-Wno-cpp", - "-Wno-int-conversion", - "-Wno-error", - ] - - # Now add our "system-header" include dirs - foreach(include_dir, _rw61x_sdk_drivers_include_dirs) { - cflags += [ "-isystem" + rebase_path(include_dir, root_build_dir) ] - } - } - - source_set(target_name) { - forward_variables_from(invoker, "*") - - if (!defined(sources)) { - sources = [] - } - - sources += [ - "${COMPONENT_CRC_FILES_PATH}/fsl_adapter_software_crc.c", - "${COMPONENT_GPIO_FILES_PATH}/fsl_adapter_lpc_gpio.c", - "${COMPONENT_MEM_MANAGER_FILES_PATH}/fsl_component_mem_manager_light.c", - - #"${COMPONENT_RNG_FILES_PATH}/fsl_adapter_trng.c", - "${COMPONENT_RNG_FILES_PATH}/fsl_adapter_software_rng.c", - "${COMPONENT_RPMSG_FILES_PATH}/fsl_adapter_rfimu.c", - "${COMPONENT_SILICON_ID_FILES_PATH}/fsl_silicon_id.c", - "${COMPONENT_TIMER_FILES_PATH}/fsl_adapter_mrt.c", - "${COMPONENT_UART_FILES_PATH}/fsl_adapter_usart.c", - "${DEBUG_CONSOLE_FILES_PATH}/fsl_debug_console.c", - "${DRIVER_CACHE_FILES_PATH}/fsl_cache.c", - "${DRIVER_COMMON_FILES_PATH}/fsl_common.c", - "${DRIVER_COMMON_FILES_PATH}/fsl_common_arm.c", - "${DRIVER_DEVICE_FILES_PATH}/fsl_clock.c", - "${DRIVER_DEVICE_FILES_PATH}/fsl_ocotp.c", - "${DRIVER_DEVICE_FILES_PATH}/fsl_power.c", - "${DRIVER_DEVICE_FILES_PATH}/fsl_reset.c", - "${DRIVER_ENET_FILES_PATH}/fsl_enet.c", - "${DRIVER_FLEXCOMM_FILES_PATH}/fsl_flexcomm.c", - "${DRIVER_FLEXSPI_FILES_PATH}/fsl_flexspi.c", - "${DRIVER_GDMA_FILES_PATH}/fsl_gdma.c", - "${DRIVER_IMU_FILES_PATH}/fsl_imu.c", - "${DRIVER_INPUTMUX_FILES_PATH}/fsl_inputmux.c", - "${DRIVER_LPC_GPIO_FILES_PATH}/fsl_gpio.c", - "${DRIVER_MRT_FILES_PATH}/fsl_mrt.c", - "${DRIVER_PINT_FILES_PATH}/fsl_pint.c", - "${DRIVER_TRNG_FILES_PATH}/fsl_trng.c", - "${DRIVER_USART_FILES_PATH}/fsl_usart.c", - "${DRIVER_USART_FILES_PATH}/fsl_usart_dma.c", - "${FORMAT_FILES_PATH}/fsl_format.c", - "${UTILITIES_SHELL_FILES_PATH}/fsl_shell.c", - - #sdk hook - "${nxp_sdk_build_root}/${nxp_sdk_name}/sdk_hook/zephyr/kernel.c", - "${rt_core_sdk_root}/boards/rdrw612bga/flash_config/flash_config.c", - - # Loader files - "${rt_core_sdk_root}/components/conn_fwloader/fsl_loader.c", - "${rt_core_sdk_root}/components/conn_fwloader/life_cycle.c", - "${rt_core_sdk_root}/components/conn_fwloader/nboot_hal.c", - "${rt_core_sdk_root}/components/flash/mflash/rdrw612bga/mflash_drv.c", - - # comment fsl_str.c if using debug console light - #"${STR_FILES_PATH}/fsl_str.c", - # flash - "${rt_core_sdk_root}/components/internal_flash/rdrw612bga/fsl_adapter_flexspi_nor_flash.c", - - # power manager - "${rt_core_sdk_root}/components/power_manager/core/fsl_pm_core.c", - - #startup files - "${rt_core_sdk_root}/devices/${deviceBoardName}/gcc/startup_${deviceBoardName}.S", - "${rt_core_sdk_root}/devices/${deviceBoardName}/system_${deviceBoardName}.c", - - # freertos files - "${rt_sdk_freertos_kernel}/portable/GCC/ARM_CM33_NTZ/non_secure/port.c", - "${rt_sdk_freertos_kernel}/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c", - "${rt_sdk_freertos_kernel}/portable/MemMang/heap_4.c", - - # fw binaries for cpu1/cpu2 - "${rt_sdk_root}/components/conn_fwloader/${board_version}/fw_cpu1.c", - "${rt_sdk_root}/components/conn_fwloader/${board_version}/fw_cpu2_ble.c", - "${rt_sdk_root}/components/conn_fwloader/${board_version}/fw_cpu2_combo.c", - - # this platform file is needed for BLE/15.4 Controller wake up - "${rt_sdk_root}/middleware/wireless/framework/platform/${rt_fwk_platform}/fwk_platform_ble.c", - - # framework coex file to initialize controllers - "${rt_sdk_root}/middleware/wireless/framework/platform/${rt_fwk_platform}/fwk_platform_coex.c", - ] - - if (sdk_fsl_assert_support) { - sources += [ "${UTILITIES_ASSERT_FILES_PATH}/fsl_assert.c" ] - } - - if (rw610_mbedtls_port_els_pkc) { - # els_pkc component for mbedtls els_pkc port - sources += [ - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAead/src/mcuxClAead.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAeadModes/src/mcuxClAeadModes_Els_AesCcm.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAeadModes/src/mcuxClAeadModes_Els_AesGcm.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAeadModes/src/mcuxClAeadModes_Els_CcmEngineAes.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAeadModes/src/mcuxClAeadModes_Els_GcmEngineAes.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAeadModes/src/mcuxClAeadModes_Els_Modes.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAeadModes/src/mcuxClAeadModes_Els_Multipart.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAeadModes/src/mcuxClAeadModes_Els_Oneshot.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClAes/src/mcuxClAes_KeyTypes.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClCipher/src/mcuxClCipher.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClCipherModes/src/mcuxClCipherModes_Els_Aes.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClCipherModes/src/mcuxClCipherModes_Els_EngineAes.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClCipherModes/src/mcuxClCipherModes_Helper.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClCipherModes/src/mcuxClCipherModes_Modes.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Constants.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_GenerateKeyPair.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_GenerateKeyPair_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_GenerateSignature.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_GenerateSignatureMode.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_GenerateSignature_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_InitPrivKeyInputMode.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_Internal_CalcHashModN.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_Internal_CalcHashModN_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_Internal_DecodePoint_Ed25519.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_Internal_DecodePoint_Ed448.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_Internal_DecodePoint_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_Internal_SetupEnvironment.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_Internal_SignatureMechanisms.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_EdDSA_VerifySignature.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Internal_BlindedScalarMult.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Internal_Convert_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Internal_GenerateMultiplicativeBlinding.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Internal_InterleaveScalar.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Internal_InterleaveTwoScalars.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Internal_Interleave_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Internal_PointComparison_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Internal_RecodeAndReorderScalar.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Internal_SetupEnvironment.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Internal_SetupEnvironment_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Internal_Types.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_KeyTypes.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Mont_DhKeyAgreement.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Mont_DhKeyGeneration.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Mont_Internal_DhSetupEnvironment.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Mont_Internal_MontDhX.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Mont_Internal_MontDhX_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Mont_Internal_SecureScalarMult_XZMontLadder.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Mont_Internal_SecureScalarMult_XZMontLadder_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_SignatureMechanisms.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_TwEd_Internal_FixScalarMult.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_TwEd_Internal_PlainFixScalarMult25519.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_TwEd_Internal_PlainPtrSelectComb.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_TwEd_Internal_PlainPtrSelectML.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_TwEd_Internal_PlainVarScalarMult.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_TwEd_Internal_PointArithmeticEd25519.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_TwEd_Internal_PointArithmeticEd25519_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_TwEd_Internal_PointSubtraction_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_TwEd_Internal_PointValidation_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_TwEd_Internal_PrecPointImportAndValidate.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_TwEd_Internal_VarScalarMult.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_TwEd_Internal_VarScalarMult_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_WeierECC_Internal_GenerateCustomKeyType.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_WeierECC_Internal_GenerateDomainParams.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_WeierECC_Internal_GenerateDomainParams_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_WeierECC_Internal_SetupEnvironment.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Internal_ConvertPoint_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Internal_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Internal_KeyGen.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Internal_KeyGen_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Internal_PointArithmetic.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Internal_PointArithmetic_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Internal_PointCheck.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Internal_PointCheck_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Internal_PointMult.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Internal_SecurePointMult_CoZMontLadder.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Internal_SecurePointMult_CoZMontLadder_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Internal_SetupEnvironment.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_KeyGen.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_KeyGen_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_PointMult.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_PointMult_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Sign.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Sign_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Verify.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEcc/src/mcuxClEcc_Weier_Verify_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/src/mcuxClEls_Aead.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/src/mcuxClEls_Cipher.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/src/mcuxClEls_Cmac.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/src/mcuxClEls_Common.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/src/mcuxClEls_Ecc.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/src/mcuxClEls_GlitchDetector.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/src/mcuxClEls_Hash.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/src/mcuxClEls_Hmac.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/src/mcuxClEls_Kdf.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/src/mcuxClEls_KeyManagement.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClEls/src/mcuxClEls_Rng.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHash/src/mcuxClHash_api_multipart_common.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHash/src/mcuxClHash_api_multipart_compute.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHash/src/mcuxClHash_api_oneshot_compute.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHashModes/src/mcuxClHashModes_Core_els_sha2.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHashModes/src/mcuxClHashModes_Internal_els_sha2.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHmac/src/mcuxClHmac_Els.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHmac/src/mcuxClHmac_Functions.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHmac/src/mcuxClHmac_Helper.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHmac/src/mcuxClHmac_KeyTypes.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHmac/src/mcuxClHmac_Modes.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClHmac/src/mcuxClHmac_Sw.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClKey/src/mcuxClKey.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClKey/src/mcuxClKey_Protection.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMac/src/mcuxClMac.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMacModes/src/mcuxClMacModes.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMacModes/src/mcuxClMacModes_Els_Cbcmac.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMacModes/src/mcuxClMacModes_Els_Cmac.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMacModes/src/mcuxClMacModes_Els_Functions.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMacModes/src/mcuxClMacModes_Modes.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_ExactDivide.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_ExactDivideOdd.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_ExactDivideOdd_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_ModExp_SqrMultL2R.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_ModInv.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_ModInv_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_NDash.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_NDash_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_QDash.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_QDash_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_ReduceModEven.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_SecModExp.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_SecModExp_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMath/src/mcuxClMath_Utils.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClMemory/src/mcuxClMemory.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClPadding/src/mcuxClPadding.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClPkc/src/mcuxClPkc_Calculate.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClPkc/src/mcuxClPkc_ImportExport.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClPkc/src/mcuxClPkc_Initialize.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClPkc/src/mcuxClPkc_UPTRT.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClPrng/src/mcuxClPrng_ELS.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandom/src/mcuxClRandom_DRBG.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandom/src/mcuxClRandom_PRNG.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandomModes/src/mcuxClRandomModes_CtrDrbg.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandomModes/src/mcuxClRandomModes_CtrDrbg_Els.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandomModes/src/mcuxClRandomModes_CtrDrbg_PrDisabled.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandomModes/src/mcuxClRandomModes_ElsMode.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandomModes/src/mcuxClRandomModes_NormalMode.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandomModes/src/mcuxClRandomModes_PatchMode.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandomModes/src/mcuxClRandomModes_PrDisabled.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRandomModes/src/mcuxClRandomModes_TestMode.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_ComputeD.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_ComputeD_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_GenerateProbablePrime.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_KeyGeneration_Crt.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_KeyGeneration_Crt_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_KeyGeneration_Plain.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_Mgf1.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_MillerRabinTest.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_MillerRabinTest_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_ModInv.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_NoEncode.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_NoVerify.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_Pkcs1v15Encode_sign.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_Pkcs1v15Verify.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_PrivateCrt.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_PrivateCrt_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_PrivatePlain.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_PssEncode.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_PssVerify.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_Public.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_Public_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_RemoveBlinding.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_RemoveBlinding_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_Sign.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_TestPQDistance.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_TestPQDistance_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_TestPrimeCandidate.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_TestPrimeCandidate_FUP.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_Verify.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClRsa/src/mcuxClRsa_VerifyE.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClSession/src/mcuxClSession.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxClTrng/src/mcuxClTrng_SA_TRNG.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslMemory/src/mcuxCsslMemory_Clear.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslMemory/src/mcuxCsslMemory_Compare.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslMemory/src/mcuxCsslMemory_Copy.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslMemory/src/mcuxCsslMemory_Internal_SecureCompare_Stub.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslMemory/src/mcuxCsslMemory_Set.c", - "${ELS_PKC_CL_PATH}/src/comps/mcuxCsslParamIntegrity/src/mcuxCsslParamIntegrity.c", - "${ELS_PKC_CL_PATH}/src/platforms/rw61x/mcux_els.c", - "${ELS_PKC_CL_PATH}/src/platforms/rw61x/mcux_pkc.c", - ] - } - - if (chip_enable_ble) { - sources += [ - "${rt_sdk_root}/middleware/wireless/ethermind/bluetooth/export/extension/gatt_db_pl.c", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/bluetooth/controller/controller_rw610.c", - "${rt_sdk_root}/middleware/wireless/ethermind/port/pal/mcux/bluetooth/hci_platform.c", - ] - } - - if (chip_enable_wifi) { - sources += [ - "${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_11ax.c", - "${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_11k.c", - "${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_11v.c", - "${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_action.c", - "${rt_sdk_root}/middleware/wifi_nxp/wifidriver/mlan_mbo.c", - "${rt_sdk_root}/middleware/wifi_nxp/wifidriver/wifi-imu.c", - ] - } - - if (chip_enable_openthread) { - sources += [ - "${rt_sdk_root}/middleware/wireless/framework/platform/${rt_fwk_platform}/fwk_platform_hdlc.c", - "${rt_sdk_root}/middleware/wireless/framework/platform/${rt_fwk_platform}/fwk_platform_ot.c", - ] - if (!spinel_interface_rpmsg) { - sources += [ - "${rt_sdk_root}/middleware/wireless/ieee-802.15.4/ieee_802_15_4/phy/source/RW610N/RW610_RPMSG/ASP.c", - "${rt_sdk_root}/middleware/wireless/ieee-802.15.4/ieee_802_15_4/phy/source/RW610N/RW610_RPMSG/Phy.c", - ] - } - } - - if (!defined(public_configs)) { - public_configs = [] - } - - if (!defined(public_deps)) { - public_deps = [] - } - - if (!defined(deps)) { - deps = [] - } - - public_configs += [ ":${target_name}_config" ] - public_deps += [ nxp_sdk_target ] - - if (chip_enable_openthread) { - #Dep to ot header files required for mbedtls as mbedtls config file has a dependency to ot - deps += [ "${openthread_root}/src/core:libopenthread_core_headers" ] - } - } -} diff --git a/third_party/nxp/rt_sdk/sdk_hook/bt_pal/EM_platform.h b/third_party/nxp/rt_sdk/sdk_hook/bt_pal/EM_platform.h deleted file mode 100644 index 5d85b366aeb486..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/bt_pal/EM_platform.h +++ /dev/null @@ -1,22 +0,0 @@ - -/** - * \file EM_platform.h - * - * - */ - -/* - * Copyright 2022 NXP - * All rights reserved. - * - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef _H_EM_PLATFORM_HOOK -#define _H_EM_PLATFORM_HOOK - -#include "mcux/EM_platform.h" -#undef EM_HAVE_STATIC_DECL - -#endif /* _H_EM_PLATFORM_HOOK */ diff --git a/third_party/nxp/rt_sdk/sdk_hook/fatfs/config/ffconf.h b/third_party/nxp/rt_sdk/sdk_hook/fatfs/config/ffconf.h deleted file mode 100644 index 7138317b86f169..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/fatfs/config/ffconf.h +++ /dev/null @@ -1,302 +0,0 @@ -/*----------------------------------------------------------------------------/ -/ FatFs - Generic FAT Filesystem Module R0.14b / -/-----------------------------------------------------------------------------/ -/ -/ Copyright (C) 2021, ChaN, all right reserved. -/ Copyright 2023 NXP -/ -/ -/ FatFs module is an open source software. Redistribution and use of FatFs in -/ source and binary forms, with or without modification, are permitted provided -/ that the following condition is met: -/ -/ 1. Redistributions of source code must retain the above copyright notice, -/ this condition and the following disclaimer. -/ -/ This software is provided by the copyright holder and contributors "AS IS" -/ and any warranties related to this software are DISCLAIMED. -/ The copyright owner or contributors be NOT LIABLE for any damages caused -/ by use of this software. -/ -/----------------------------------------------------------------------------*/ - -#ifndef _FFCONF_H_ -#define _FFCONF_H_ - -/*---------------------------------------------------------------------------/ -/ FatFs Functional Configurations -/---------------------------------------------------------------------------*/ - -#define FFCONF_DEF 80286 /* Revision ID */ - -/*---------------------------------------------------------------------------/ -/ MSDK adaptation configuration -/---------------------------------------------------------------------------*/ -#define USB_DISK_ENABLE - -/*---------------------------------------------------------------------------/ -/ Function Configurations -/---------------------------------------------------------------------------*/ - -#define FF_FS_READONLY 0 -/* This option switches read-only configuration. (0:Read/Write or 1:Read-only) -/ Read-only configuration removes writing API functions, f_write(), f_sync(), -/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree() -/ and optional writing functions as well. */ - -#define FF_FS_MINIMIZE 0 -/* This option defines minimization level to remove some basic API functions. -/ -/ 0: Basic functions are fully enabled. -/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_truncate() and f_rename() -/ are removed. -/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1. -/ 3: f_lseek() function is removed in addition to 2. */ - -#define FF_USE_STRFUNC 1 -/* This option switches string functions, f_gets(), f_putc(), f_puts() and f_printf(). -/ -/ 0: Disable string functions. -/ 1: Enable without LF-CRLF conversion. -/ 2: Enable with LF-CRLF conversion. */ - -#define FF_USE_FIND 0 -/* This option switches filtered directory read functions, f_findfirst() and -/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */ - -#define FF_USE_MKFS 0 -/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */ - -#define FF_USE_FASTSEEK 0 -/* This option switches fast seek function. (0:Disable or 1:Enable) */ - -#define FF_USE_EXPAND 0 -/* This option switches f_expand function. (0:Disable or 1:Enable) */ - -#define FF_USE_CHMOD 1 -/* This option switches attribute manipulation functions, f_chmod() and f_utime(). -/ (0:Disable or 1:Enable) Also FF_FS_READONLY needs to be 0 to enable this option. */ - -#define FF_USE_LABEL 0 -/* This option switches volume label functions, f_getlabel() and f_setlabel(). -/ (0:Disable or 1:Enable) */ - -#define FF_USE_FORWARD 0 -/* This option switches f_forward() function. (0:Disable or 1:Enable) */ - -/*---------------------------------------------------------------------------/ -/ Locale and Namespace Configurations -/---------------------------------------------------------------------------*/ - -#define FF_CODE_PAGE 932 -/* This option specifies the OEM code page to be used on the target system. -/ Incorrect code page setting can cause a file open failure. -/ -/ 437 - U.S. -/ 720 - Arabic -/ 737 - Greek -/ 771 - KBL -/ 775 - Baltic -/ 850 - Latin 1 -/ 852 - Latin 2 -/ 855 - Cyrillic -/ 857 - Turkish -/ 860 - Portuguese -/ 861 - Icelandic -/ 862 - Hebrew -/ 863 - Canadian French -/ 864 - Arabic -/ 865 - Nordic -/ 866 - Russian -/ 869 - Greek 2 -/ 932 - Japanese (DBCS) -/ 936 - Simplified Chinese (DBCS) -/ 949 - Korean (DBCS) -/ 950 - Traditional Chinese (DBCS) -/ 0 - Include all code pages above and configured by f_setcp() -*/ - -#define FF_USE_LFN 1 -#define FF_MAX_LFN 255 -/* The FF_USE_LFN switches the support for LFN (long file name). -/ -/ 0: Disable LFN. FF_MAX_LFN has no effect. -/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe. -/ 2: Enable LFN with dynamic working buffer on the STACK. -/ 3: Enable LFN with dynamic working buffer on the HEAP. -/ -/ To enable the LFN, ffunicode.c needs to be added to the project. The LFN function -/ requiers certain internal working buffer occupies (FF_MAX_LFN + 1) * 2 bytes and -/ additional (FF_MAX_LFN + 44) / 15 * 32 bytes when exFAT is enabled. -/ The FF_MAX_LFN defines size of the working buffer in UTF-16 code unit and it can -/ be in range of 12 to 255. It is recommended to be set it 255 to fully support LFN -/ specification. -/ When use stack for the working buffer, take care on stack overflow. When use heap -/ memory for the working buffer, memory management functions, ff_memalloc() and -/ ff_memfree() exemplified in ffsystem.c, need to be added to the project. */ - -#define FF_LFN_UNICODE 0 -/* This option switches the character encoding on the API when LFN is enabled. -/ -/ 0: ANSI/OEM in current CP (TCHAR = char) -/ 1: Unicode in UTF-16 (TCHAR = WCHAR) -/ 2: Unicode in UTF-8 (TCHAR = char) -/ 3: Unicode in UTF-32 (TCHAR = DWORD) -/ -/ Also behavior of string I/O functions will be affected by this option. -/ When LFN is not enabled, this option has no effect. */ - -#define FF_LFN_BUF 255 -#define FF_SFN_BUF 12 -/* This set of options defines size of file name members in the FILINFO structure -/ which is used to read out directory items. These values should be suffcient for -/ the file names to read. The maximum possible length of the read file name depends -/ on character encoding. When LFN is not enabled, these options have no effect. */ - -#define FF_STRF_ENCODE 3 -/* When FF_LFN_UNICODE >= 1 with LFN enabled, string I/O functions, f_gets(), -/ f_putc(), f_puts and f_printf() convert the character encoding in it. -/ This option selects assumption of character encoding ON THE FILE to be -/ read/written via those functions. -/ -/ 0: ANSI/OEM in current CP -/ 1: Unicode in UTF-16LE -/ 2: Unicode in UTF-16BE -/ 3: Unicode in UTF-8 -*/ - -#define FF_FS_RPATH 0 -/* This option configures support for relative path. -/ -/ 0: Disable relative path and remove related functions. -/ 1: Enable relative path. f_chdir() and f_chdrive() are available. -/ 2: f_getcwd() function is available in addition to 1. -*/ - -/*---------------------------------------------------------------------------/ -/ Drive/Volume Configurations -/---------------------------------------------------------------------------*/ - -#define FF_VOLUMES 3 -/* Number of volumes (logical drives) to be used. (1-10) */ - -#define FF_STR_VOLUME_ID 0 -#define FF_VOLUME_STRS "RAM", "NAND", "CF", "SD", "SD2", "USB", "USB2", "USB3" -/* FF_STR_VOLUME_ID switches support for volume ID in arbitrary strings. -/ When FF_STR_VOLUME_ID is set to 1 or 2, arbitrary strings can be used as drive -/ number in the path name. FF_VOLUME_STRS defines the volume ID strings for each -/ logical drives. Number of items must not be less than FF_VOLUMES. Valid -/ characters for the volume ID strings are A-Z, a-z and 0-9, however, they are -/ compared in case-insensitive. If FF_STR_VOLUME_ID >= 1 and FF_VOLUME_STRS is -/ not defined, a user defined volume string table needs to be defined as: -/ -/ const char* VolumeStr[FF_VOLUMES] = {"ram","flash","sd","usb",... -*/ - -#define FF_MULTI_PARTITION 0 -/* This option switches support for multiple volumes on the physical drive. -/ By default (0), each logical drive number is bound to the same physical drive -/ number and only an FAT volume found on the physical drive will be mounted. -/ When this function is enabled (1), each logical drive number can be bound to -/ arbitrary physical drive and partition listed in the VolToPart[]. Also f_fdisk() -/ funciton will be available. */ - -#define FF_MIN_SS 512 -#define FF_MAX_SS 4096 -/* This set of options configures the range of sector size to be supported. (512, -/ 1024, 2048 or 4096) Always set both 512 for most systems, generic memory card and -/ harddisk. But a larger value may be required for on-board flash memory and some -/ type of optical media. When FF_MAX_SS is larger than FF_MIN_SS, FatFs is configured -/ for variable sector size mode and disk_ioctl() function needs to implement -/ GET_SECTOR_SIZE command. */ - -#define FF_LBA64 0 -/* This option switches support for 64-bit LBA. (0:Disable or 1:Enable) -/ To enable the 64-bit LBA, also exFAT needs to be enabled. (FF_FS_EXFAT == 1) */ - -#define FF_MIN_GPT 0x100000000 -/* Minimum number of sectors to switch GPT format to create partition in f_mkfs and -/ f_fdisk function. 0x100000000 max. This option has no effect when FF_LBA64 == 0. */ - -#define FF_USE_TRIM 0 -/* This option switches support for ATA-TRIM. (0:Disable or 1:Enable) -/ To enable Trim function, also CTRL_TRIM command should be implemented to the -/ disk_ioctl() function. */ - -/*---------------------------------------------------------------------------/ -/ System Configurations -/---------------------------------------------------------------------------*/ - -#define FF_FS_TINY 0 -/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny) -/ At the tiny configuration, size of file object (FIL) is shrinked FF_MAX_SS bytes. -/ Instead of private sector buffer eliminated from the file object, common sector -/ buffer in the filesystem object (FATFS) is used for the file data transfer. */ - -#define FF_FS_EXFAT 0 -/* This option switches support for exFAT filesystem. (0:Disable or 1:Enable) -/ To enable exFAT, also LFN needs to be enabled. (FF_USE_LFN >= 1) -/ Note that enabling exFAT discards ANSI C (C89) compatibility. */ - -#define FF_FS_NORTC 1 -#define FF_NORTC_MON 1 -#define FF_NORTC_MDAY 1 -#define FF_NORTC_YEAR 2018 -/* The option FF_FS_NORTC switches timestamp functiton. If the system does not have -/ any RTC function or valid timestamp is not needed, set FF_FS_NORTC = 1 to disable -/ the timestamp function. Every object modified by FatFs will have a fixed timestamp -/ defined by FF_NORTC_MON, FF_NORTC_MDAY and FF_NORTC_YEAR in local time. -/ To enable timestamp function (FF_FS_NORTC = 0), get_fattime() function need to be -/ added to the project to read current time form real-time clock. FF_NORTC_MON, -/ FF_NORTC_MDAY and FF_NORTC_YEAR have no effect. -/ These options have no effect in read-only configuration (FF_FS_READONLY = 1). */ - -#define FF_FS_NOFSINFO 0 -/* If you need to know correct free space on the FAT32 volume, set bit 0 of this -/ option, and f_getfree() function at first time after volume mount will force -/ a full FAT scan. Bit 1 controls the use of last allocated cluster number. -/ -/ bit0=0: Use free cluster count in the FSINFO if available. -/ bit0=1: Do not trust free cluster count in the FSINFO. -/ bit1=0: Use last allocated cluster number in the FSINFO if available. -/ bit1=1: Do not trust last allocated cluster number in the FSINFO. -*/ - -#define FF_FS_LOCK 0 -/* The option FF_FS_LOCK switches file lock function to control duplicated file open -/ and illegal operation to open objects. This option must be 0 when FF_FS_READONLY -/ is 1. -/ -/ 0: Disable file lock function. To avoid volume corruption, application program -/ should avoid illegal open, remove and rename to the open objects. -/ >0: Enable file lock function. The value defines how many files/sub-directories -/ can be opened simultaneously under file lock control. Note that the file -/ lock control is independent of re-entrancy. */ - -#define FF_FS_REENTRANT 0 -#define FF_FS_TIMEOUT 5000 -#if FF_FS_REENTRANT -#include "FreeRTOS.h" -#include "semphr.h" -#define FF_SYNC_t SemaphoreHandle_t -#endif -/* The option FF_FS_REENTRANT switches the re-entrancy (thread safe) of the FatFs -/ module itself. Note that regardless of this option, file access to different -/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs() -/ and f_fdisk() function, are always not re-entrant. Only file/directory access -/ to the same volume is under control of this function. -/ -/ 0: Disable re-entrancy. FF_FS_TIMEOUT and FF_SYNC_t have no effect. -/ 1: Enable re-entrancy. Also user provided synchronization handlers, -/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj() -/ function, must be added to the project. Samples are available in -/ option/syscall.c. -/ -/ The FF_FS_TIMEOUT defines timeout period in unit of time tick. -/ The FF_SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*, -/ SemaphoreHandle_t and etc. A header file for O/S definitions needs to be -/ included somewhere in the scope of ff.h. */ - -/*--- End of configuration options ---*/ - -#endif /* _FFCONF_H_ */ diff --git a/third_party/nxp/rt_sdk/sdk_hook/littlefs_pl.c b/third_party/nxp/rt_sdk/sdk_hook/littlefs_pl.c deleted file mode 100644 index b25469e343080a..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/littlefs_pl.c +++ /dev/null @@ -1,16 +0,0 @@ - -/* - * Copyright 2021 - 2022 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include "littlefs_pl.h" -#include "lfs.h" -// #include "fwk_filesystem.h" - -/*lfs_t * lfs_pl_init(void) -{ - return (lfs_t*)FS_InitGetHandle(); -}*/ diff --git a/third_party/nxp/rt_sdk/sdk_hook/logging/log.h b/third_party/nxp/rt_sdk/sdk_hook/logging/log.h deleted file mode 100644 index e69de29bb2d1d6..00000000000000 diff --git a/third_party/nxp/rt_sdk/sdk_hook/mbedtls/ksdk_mbedtls_hook.c b/third_party/nxp/rt_sdk/sdk_hook/mbedtls/ksdk_mbedtls_hook.c deleted file mode 100644 index b72121566bc312..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/mbedtls/ksdk_mbedtls_hook.c +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2023 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include "fsl_common.h" -#include "fsl_trng.h" - -#define TRGN_MAX_RETRY 10 - -int __wrap_mbedtls_hardware_poll(void * data, unsigned char * output, size_t len, size_t * olen) -{ - status_t result = kStatus_Fail; - int nbRetry = 0; - - do - { - result = TRNG_GetRandomData(TRNG, output, len); - if (result == kStatus_Success) - break; - nbRetry++; - } while (nbRetry < TRGN_MAX_RETRY); - - if (result == kStatus_Success) - { - *olen = len; - return 0; - } - else - { - return result; - } -} diff --git a/third_party/nxp/rt_sdk/sdk_hook/mbedtls/ksdk_mbedtls_software.c b/third_party/nxp/rt_sdk/sdk_hook/mbedtls/ksdk_mbedtls_software.c deleted file mode 100644 index 3749cf1872ddac..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/mbedtls/ksdk_mbedtls_software.c +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Copyright 2022 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#if !defined(MBEDTLS_CONFIG_FILE) -#include "mbedtls/config.h" -#else -#include MBEDTLS_CONFIG_FILE -#endif - -#include "mbedtls/platform.h" - -#if defined(MBEDTLS_THREADING_C) -/* Threading mutex implementations for mbedTLS. */ -#include "mbedtls/threading.h" -#include "threading_alt.h" -#endif - -#if !defined(MBEDTLS_MCUX_FREERTOS_THREADING_ALT) && defined(MBEDTLS_THREADING_C) && defined(MBEDTLS_THREADING_ALT) -extern void CRYPTO_ConfigureThreading(void); -#endif - -#include "fsl_adapter_rng.h" -#include "fsl_common.h" -#include "ksdk_mbedtls.h" - -/******************************************************************************/ -/*************************** FreeRTOS ********************************************/ -/******************************************************************************/ -#if defined(USE_RTOS) && defined(SDK_OS_FREE_RTOS) && defined(MBEDTLS_FREESCALE_FREERTOS_CALLOC_ALT) -#include "FreeRTOS.h" -#include "task.h" -#include - -/*---------HEAP_4 calloc --------------------------------------------------*/ -#if defined(configFRTOS_MEMORY_SCHEME) && (configFRTOS_MEMORY_SCHEME == 4) -void * pvPortCalloc(size_t num, size_t size) -{ - void * ptr; - - ptr = pvPortMalloc(num * size); - if (!ptr) - { - extern void vApplicationMallocFailedHook(void); - vApplicationMallocFailedHook(); - } - else - { - memset(ptr, 0, num * size); - } - return ptr; -} -#else // HEAP_3 -void * pvPortCalloc(size_t num, size_t size) -{ - void * pvReturn; - - vTaskSuspendAll(); - { - pvReturn = calloc(num, size); - traceMALLOC(pvReturn, size); - } - (void) xTaskResumeAll(); - -#if (configUSE_MALLOC_FAILED_HOOK == 1) - { - if (pvReturn == NULL) - { - extern void vApplicationMallocFailedHook(void); - vApplicationMallocFailedHook(); - } - } -#endif - - return pvReturn; -} -#endif // configFRTOS_MEMORY_SCHEME -#endif /* USE_RTOS && defined(SDK_OS_FREE_RTOS) && defined(MBEDTLS_FREESCALE_FREERTOS_CALLOC_ALT) */ - -/*-----------------------------------------------------------*/ -/*--------- mbedTLS threading functions for FreeRTOS --------*/ -/*--------------- See MBEDTLS_THREADING_ALT -----------------*/ -/*-----------------------------------------------------------*/ -#if defined(MBEDTLS_MCUX_FREERTOS_THREADING_ALT) -/* Threading mutex implementations for mbedTLS. */ -#include "mbedtls/threading.h" -#include "threading_alt.h" - -/** - * @brief Implementation of mbedtls_mutex_init for thread-safety. - * - */ -void mcux_mbedtls_mutex_init(mbedtls_threading_mutex_t * mutex) -{ - mutex->mutex = xSemaphoreCreateMutex(); - - if (mutex->mutex != NULL) - { - mutex->is_valid = 1; - } - else - { - mutex->is_valid = 0; - } -} - -/** - * @brief Implementation of mbedtls_mutex_free for thread-safety. - * - */ -void mcux_mbedtls_mutex_free(mbedtls_threading_mutex_t * mutex) -{ - if (mutex->is_valid == 1) - { - vSemaphoreDelete(mutex->mutex); - mutex->is_valid = 0; - } -} - -/** - * @brief Implementation of mbedtls_mutex_lock for thread-safety. - * - * @return 0 if successful, MBEDTLS_ERR_THREADING_MUTEX_ERROR if timeout, - * MBEDTLS_ERR_THREADING_BAD_INPUT_DATA if the mutex is not valid. - */ -int mcux_mbedtls_mutex_lock(mbedtls_threading_mutex_t * mutex) -{ - int ret = MBEDTLS_ERR_THREADING_BAD_INPUT_DATA; - - if (mutex->is_valid == 1) - { - if (xSemaphoreTake(mutex->mutex, portMAX_DELAY)) - { - ret = 0; - } - else - { - ret = MBEDTLS_ERR_THREADING_MUTEX_ERROR; - } - } - - return ret; -} - -/** - * @brief Implementation of mbedtls_mutex_unlock for thread-safety. - * - * @return 0 if successful, MBEDTLS_ERR_THREADING_MUTEX_ERROR if timeout, - * MBEDTLS_ERR_THREADING_BAD_INPUT_DATA if the mutex is not valid. - */ -int mcux_mbedtls_mutex_unlock(mbedtls_threading_mutex_t * mutex) -{ - int ret = MBEDTLS_ERR_THREADING_BAD_INPUT_DATA; - - if (mutex->is_valid == 1) - { - if (xSemaphoreGive(mutex->mutex)) - { - ret = 0; - } - else - { - ret = MBEDTLS_ERR_THREADING_MUTEX_ERROR; - } - } - - return ret; -} - -static void CRYPTO_ConfigureThreadingMcux(void) -{ - /* Configure mbedtls to use FreeRTOS mutexes. */ - mbedtls_threading_set_alt(mcux_mbedtls_mutex_init, mcux_mbedtls_mutex_free, mcux_mbedtls_mutex_lock, mcux_mbedtls_mutex_unlock); -} -#endif /* defined(MBEDTLS_MCUX_FREERTOS_THREADING_ALT) */ - -status_t CRYPTO_InitHardware(void) -{ -#if defined(MBEDTLS_THREADING_C) && defined(MBEDTLS_THREADING_ALT) - - CRYPTO_ConfigureThreadingMcux(); - -#endif /* (MBEDTLS_THREADING_C) && defined(MBEDTLS_THREADING_ALT) */ - - return kStatus_HAL_RngSuccess; -} - -int mbedtls_hardware_poll(void * data, unsigned char * output, size_t len, size_t * olen) -{ - hal_rng_status_t status; - - status = HAL_RngGetData(output, len); - - if (status == kStatus_HAL_RngSuccess) - { - *olen = len; - return 0; - } - return kStatus_Fail; -} diff --git a/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/addr.h b/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/addr.h deleted file mode 100644 index b3f0431f86291f..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/addr.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2023 NXP - * All rights reserved. - * - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#if defined(__cplusplus) -extern "C" { -#endif /* _cplusplus */ - -#include - -#if defined(__cplusplus) -} -#endif diff --git a/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/bluetooth.h b/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/bluetooth.h deleted file mode 100644 index 7a0ab815021f74..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/bluetooth.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2023 NXP - * All rights reserved. - * - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#if defined(__cplusplus) -extern "C" { -#endif /* _cplusplus */ - -#include - -#if defined(__cplusplus) -} -#endif diff --git a/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/conn.h b/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/conn.h deleted file mode 100644 index aca6ccd51d0650..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/conn.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2023 NXP - * All rights reserved. - * - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#if defined(__cplusplus) -extern "C" { -#endif /* _cplusplus */ - -#include - -#if defined(__cplusplus) -} -#endif diff --git a/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/gatt.h b/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/gatt.h deleted file mode 100644 index d8d26a93040183..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/gatt.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2023 NXP - * All rights reserved. - * - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#if defined(__cplusplus) -extern "C" { -#endif /* _cplusplus */ - -#include - -#if defined(__cplusplus) -} -#endif diff --git a/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/hci.h b/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/hci.h deleted file mode 100644 index effc18d6095571..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/zephyr/bluetooth/hci.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2023 NXP - * All rights reserved. - * - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#if defined(__cplusplus) -extern "C" { -#endif /* _cplusplus */ - -#include - -#if defined(__cplusplus) -} -#endif diff --git a/third_party/nxp/rt_sdk/sdk_hook/zephyr/kernel.c b/third_party/nxp/rt_sdk/sdk_hook/zephyr/kernel.c deleted file mode 100644 index 4f94ffe7a7377e..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/zephyr/kernel.c +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright 2023 NXP - * All rights reserved. - * - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include "kernel.h" - -void k_usleep(useconds_t usec) -{ - usleep(usec); -} diff --git a/third_party/nxp/rt_sdk/sdk_hook/zephyr/kernel.h b/third_party/nxp/rt_sdk/sdk_hook/zephyr/kernel.h deleted file mode 100644 index fc71ecbfcb1dbd..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/zephyr/kernel.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2023 NXP - * All rights reserved. - * - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#if defined(__cplusplus) -extern "C" { -#endif /* _cplusplus */ - -#include - -void k_usleep(useconds_t usec); - -#if defined(__cplusplus) -} -#endif diff --git a/third_party/nxp/rt_sdk/sdk_hook/zephyr/random/random.cpp b/third_party/nxp/rt_sdk/sdk_hook/zephyr/random/random.cpp deleted file mode 100644 index d6ea3cd3b156ce..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/zephyr/random/random.cpp +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2022 NXP - * All rights reserved. - * - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include -#include - -/** - * Fill the buffer given as an arg with random values - * Returns 0 if success, -1 otherwise - * - */ -int sys_csrand_get(void * dst, size_t len) -{ - CHIP_ERROR error; - error = chip::Crypto::DRBG_get_bytes(reinterpret_cast(dst), len); - - return ((error == CHIP_NO_ERROR) ? 0 : -1); -} diff --git a/third_party/nxp/rt_sdk/sdk_hook/zephyr/random/random.h b/third_party/nxp/rt_sdk/sdk_hook/zephyr/random/random.h deleted file mode 100644 index ed953ef68010c0..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/zephyr/random/random.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2022 NXP - * All rights reserved. - * - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef RAND32_H_ -#define RAND32_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - * Fill the buffer given as an arg with random values - * Returns 0 if success, -1 otherwise - * - */ -int sys_csrand_get(void * dst, size_t len); - -#ifdef __cplusplus -} -#endif - -#endif /* RAND32_H_ */ diff --git a/third_party/nxp/rt_sdk/sdk_hook/zephyr/sys/byteorder.h b/third_party/nxp/rt_sdk/sdk_hook/zephyr/sys/byteorder.h deleted file mode 100644 index 6dda868fddeb28..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/zephyr/sys/byteorder.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2023 NXP - * All rights reserved. - * - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#if defined(__cplusplus) -extern "C" { -#endif /* _cplusplus */ - -#include - -#if defined(__cplusplus) -} -#endif diff --git a/third_party/nxp/rt_sdk/sdk_hook/zephyr/sys/slist.h b/third_party/nxp/rt_sdk/sdk_hook/zephyr/sys/slist.h deleted file mode 100644 index 3dee49cb0d86c7..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/zephyr/sys/slist.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2023 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#if defined(__cplusplus) -extern "C" { -#endif /* _cplusplus */ - -#include "sys/slist.h" - -#if defined(__cplusplus) -} -#endif diff --git a/third_party/nxp/rt_sdk/sdk_hook/zephyr/sys/util.h b/third_party/nxp/rt_sdk/sdk_hook/zephyr/sys/util.h deleted file mode 100644 index 66bd735853e765..00000000000000 --- a/third_party/nxp/rt_sdk/sdk_hook/zephyr/sys/util.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2023 NXP - * All rights reserved. - * - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#if defined(__cplusplus) -extern "C" { -#endif /* _cplusplus */ - -#include - -#if defined(__cplusplus) -} -#endif diff --git a/third_party/nxp/rt_sdk/transceiver/app_transceiver_config.h b/third_party/nxp/rt_sdk/transceiver/app_transceiver_config.h deleted file mode 100644 index edeec45a19fd19..00000000000000 --- a/third_party/nxp/rt_sdk/transceiver/app_transceiver_config.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2020-2023 NXP - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#define USB_HOST_CONFIG_EHCI 2 -#define CONTROLLER_ID kUSB_ControllerEhci0 - -#if defined(WIFI_IW416_BOARD_AW_AM457_USD) || defined(WIFI_IW416_BOARD_AW_AM510_USD) || \ - defined(WIFI_88W8987_BOARD_AW_CM358_USD) || defined(WIFI_IW612_BOARD_RD_USD) || defined(WIFI_BOARD_RW610) || \ - defined(WIFI_88W8801_BOARD_MURATA_2DS_USD) || defined(WIFI_IW612_BOARD_MURATA_2EL_USD) || \ - defined(WIFI_IW612_BOARD_MURATA_2EL_M2) -#define WIFI_TRANSCEIVER_SUPPORT 1 -#else -#define WIFI_TRANSCEIVER_SUPPORT 0 -#endif - -/* - * Check if the transceiver is supported. - * Applies only for Matter over Wi-fi or Matter over Thread - */ -#if (CHIP_DEVICE_CONFIG_ENABLE_WPA || CHIP_DEVICE_CONFIG_ENABLE_THREAD) -#if !WIFI_TRANSCEIVER_SUPPORT && !defined(K32W061_TRANSCEIVER) -#error The transceiver module is unsupported -#endif -#endif /* CHIP_DEVICE_CONFIG_ENABLE_WPA || CHIP_DEVICE_CONFIG_ENABLE_THREAD */ - -#if WIFI_TRANSCEIVER_SUPPORT -#ifdef NXP_SDK_2_15_SUPPORT -/* comes from: /components/wifi_bt_module/incl/wifi_bt_module_config.h */ -#include "wifi_bt_module_config.h" -#else -#define NOT_DEFINE_DEFAULT_WIFI_MODULE -/* app_config.h comes from: /components/wifi_bt_module/template */ -#include "app_config.h" -#endif -/* comes from: /components/wifi_bt_module/template/wifi_config.h */ -#include "wifi_config.h" -#endif /* WIFI_TRANSCEIVER_SUPPORT */ - -#if CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE -#define CONFIG_BT_DEVICE_NAME "NXP BLE test" -#include "edgefast_bluetooth_config.h" -#endif /* CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE */