| # 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/ti_simplelink_sdk.gni") |
| import("${ti_simplelink_sdk_build_root}/ti_simplelink_sdk.gni") |
| |
| declare_args() { |
| # Build target to use for TI SimpleLink SDK. Use this to set global SDK defines. |
| ti_simplelink_sdk_target = "" |
| ti_simplelink_sysconfig_target = "" |
| } |
| |
| assert(ti_simplelink_sdk_target != "", |
| "ti_simplelink_sdk_target must be specified") |
| assert(ti_simplelink_sysconfig_target != "", |
| "ti_simplelink_sysconfig_target must be specified") |
| |
| group("ti_simplelink_sdk") { |
| public_deps = [ ti_simplelink_sdk_target ] |
| } |
| |
| group("ti_simplelink_sysconfig") { |
| public_deps = [ ti_simplelink_sysconfig_target ] |
| } |
| |
| config("ti_simplelink_mbedtls_config") { |
| if (ti_simplelink_device_family == "cc13x2_26x2" || |
| ti_simplelink_device_family == "cc13x2x7_26x2x7") { |
| defines = [ "MBEDTLS_CONFIG_FILE=\"cc13x2_26x2-mbedtls-config.h\"" ] |
| |
| include_dirs = [ |
| "${chip_root}/src/platform/cc13x2_26x2", |
| "${chip_root}/src/platform/cc13x2_26x2/crypto", |
| "${ti_simplelink_sdk_root}/source", |
| ] |
| } else if (ti_simplelink_device_family == "cc32xx") { |
| defines = [ "MBEDTLS_CONFIG_FILE=\"cc32xx-mbedtls-config.h\"" ] |
| |
| include_dirs = [ "${chip_root}/src/platform/cc32xx" ] |
| } |
| } |
| |
| mbedtls_target("mbedtls") { |
| # Hardware acceleration |
| if (ti_simplelink_device_family == "cc13x2_26x2" || |
| ti_simplelink_device_family == "cc13x2x7_26x2x7") { |
| sources = [ |
| "${chip_root}/src/platform/cc13x2_26x2/crypto/aes_alt.c", |
| "${chip_root}/src/platform/cc13x2_26x2/crypto/ecdh_alt.c", |
| "${chip_root}/src/platform/cc13x2_26x2/crypto/ecdsa_alt.c", |
| "${chip_root}/src/platform/cc13x2_26x2/crypto/ecjpake_alt.c", |
| "${chip_root}/src/platform/cc13x2_26x2/crypto/sha256_alt.c", |
| ] |
| } |
| |
| public_configs = [ ":ti_simplelink_mbedtls_config" ] |
| |
| public_deps = [ ti_simplelink_sysconfig_target ] |
| } |
| |
| config("ti_simplelink_freertos_config") { |
| if (ti_simplelink_device_family == "cc13x2_26x2" || |
| ti_simplelink_device_family == "cc13x2x7_26x2x7") { |
| include_dirs = [ |
| "${chip_root}/src/platform/cc13x2_26x2", |
| "${freertos_root}/repo/portable/GCC/ARM_CM4F", |
| ] |
| } else if (ti_simplelink_device_family == "cc32xx") { |
| include_dirs = [ |
| "${chip_root}/src/platform/cc32xx", |
| "${freertos_root}/repo/portable/GCC/ARM_CM3", |
| ] |
| } |
| } |
| |
| freertos_target("freertos") { |
| if (ti_simplelink_device_family == "cc13x2_26x2" || |
| ti_simplelink_device_family == "cc13x2x7_26x2x7") { |
| sources = [ |
| "${freertos_root}/repo/portable/GCC/ARM_CM4F/port.c", |
| #"${freertos_root}/repo/portable/MemMang/heap_4.c", |
| ] |
| } else if (ti_simplelink_device_family == "cc32xx") { |
| sources = [ |
| "${freertos_root}/repo/portable/GCC/ARM_CM3/port.c", |
| "${freertos_root}/repo/portable/MemMang/heap_4.c", |
| ] |
| } |
| |
| public_configs = [ ":ti_simplelink_freertos_config" ] |
| |
| if (ti_simplelink_device_family == "cc13x2x7_26x2x7") { |
| # BLE has to have it's own heap config |
| public_deps = |
| [ "${chip_root}/third_party/ti_simplelink_sdk:ti_simplelink_sysconfig" ] |
| } else if (ti_simplelink_device_family == "cc32xx") { |
| public_deps = |
| [ "${chip_root}/third_party/ti_simplelink_sdk:ti_simplelink_sysconfig" ] |
| } |
| } |