[efr32] update for compatibility with Gecko SDK 3.1.1 (#6154)

This commit updates the EFR32 platform-abstraction layer to work with
GSDK 3.1.1.

- memory.c
  - Implemented otPlatCAlloc() and otPlatFree() to handle #6123
- GSDK mbedtls was updated and moved to
  util/third_party/crypto/mbedtls
- mbedtls_config_autogen.h was regenerated
- system.c
  - NVIC initialization is now done via a simple call to
    sl_device_init_nvic()
- alarm.c
  - Stubs for 1.2 related platform timing functions in alarm.c
- ieee802154mac.h
  - Standardization of 802.15.4 header values and constants
- uart.c
  - Reduce the number of vulnerable windows where interrupts disabled
    by RAIL will cause dropped characters. The OpenThread task now
    polls the UART buffer for arrived data and reads it out. The
    USART0 IRQ handler takes care of waking up the task when data has
    arrived.
- radio.c
  - Implementation of Wi-Fi coexistence and antenna diversity
    features, and corresponding updates to run-time phy select
    configurations.
  - Support for enhanced frame pending and early frame pending for
    Thread 1.2 low power features (temporarily disabled until 1.2
    support is available)
  - Implementation of enhanced ACKs with IEs for CSL.
  - Remove FIFO queue that was maintaining unique identifiers
    (contents of received packet: PHR+MAC header) This was being used
    to tell the upper MAC whether the frame pending bit was set in an
    ACK for a received packet. Changed the implementation so we save
    the state to a reserved bit in the held packet (in the MAC header)
    within the receive completion ISR, and retrieve the value in
    processNextRxPacket() to pass to where the upper MAC expects it.
This commit is contained in:
Mason Tran
2021-02-10 10:55:24 -08:00
committed by GitHub
parent db117e27b2
commit 6fa97e9878
26 changed files with 2728 additions and 858 deletions
+13 -9
View File
@@ -73,15 +73,19 @@ EFR32_MBEDTLS_CPPFLAGS = -DMBEDTLS_CONFIG_FILE='\"mbedtls_config.h\"'
EFR32_MBEDTLS_CPPFLAGS += -D$(MCU)
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/efr32/src
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/efr32/$(PLATFORM_LOWERCASE)/crypto
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/configs
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/include/mbedtls
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/CMSIS/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/Device/SiliconLabs/EFR32MG1P/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/emlib/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/radio/rail_lib/chip/efr32/efr32xg1x
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/silicon_labs/silabs_core/memory_manager
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/include/mbedtls
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_alt/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/config
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/inc/configs
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/CMSIS/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/Device/SiliconLabs/EFR32MG1P/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/emlib/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/radio/rail_lib/chip/efr32/efr32xg1x
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/silicon_labs/silabs_core/memory_manager
CONFIG_FILE_PATH = $(AbsTopSourceDir)/examples/platforms/efr32/
HAL_CONF_DIR = $(CONFIG_FILE_PATH)/$(EFR32_PLATFORM)/$(BOARD_LOWERCASE)
+21 -17
View File
@@ -43,14 +43,14 @@ EFR32_PLATFORM = efr32mg12
PLATFORM_LOWERCASE = $(shell echo $(EFR32_PLATFORM) | tr A-Z a-z)
BOARD_LOWERCASE = $(shell echo $(BOARD) | tr A-Z a-z)
configure_OPTIONS = \
--enable-cli \
--enable-ftd \
--enable-mtd \
--enable-ncp \
--enable-radio-only \
--enable-linker-map \
--enable-builtin-mbedtls=no \
configure_OPTIONS = \
--enable-cli \
--enable-ftd \
--enable-mtd \
--enable-ncp \
--enable-radio-only \
--enable-linker-map \
--enable-builtin-mbedtls=no \
--with-examples=$(EFR32_PLATFORM) \
MBEDTLS_CPPFLAGS="$(EFR32_MBEDTLS_CPPFLAGS)" \
$(NULL)
@@ -91,15 +91,19 @@ EFR32_MBEDTLS_CPPFLAGS = -DMBEDTLS_CONFIG_FILE='\"mbedtls_config.h\"'
EFR32_MBEDTLS_CPPFLAGS += -D$(MCU)
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/efr32/src
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/efr32/$(PLATFORM_LOWERCASE)/crypto
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/configs
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/include/mbedtls
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/CMSIS/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/Device/SiliconLabs/EFR32MG12P/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/emlib/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/radio/rail_lib/chip/efr32/efr32xg1x
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/silicon_labs/silabs_core/memory_manager
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/include/mbedtls
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_alt/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/config
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/inc/configs
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/CMSIS/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/Device/SiliconLabs/EFR32MG12P/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/emlib/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/radio/rail_lib/chip/efr32/efr32xg1x
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/silicon_labs/silabs_core/memory_manager
CONFIG_FILE_PATH = $(AbsTopSourceDir)/examples/platforms/efr32/
HAL_CONF_DIR = $(CONFIG_FILE_PATH)/$(EFR32_PLATFORM)/$(BOARD_LOWERCASE)
+22 -18
View File
@@ -43,14 +43,14 @@ EFR32_PLATFORM = efr32mg13
PLATFORM_LOWERCASE = $(shell echo $(EFR32_PLATFORM) | tr A-Z a-z)
BOARD_LOWERCASE = $(shell echo $(BOARD) | tr A-Z a-z)
configure_OPTIONS = \
--enable-cli \
--enable-ftd \
--enable-mtd \
--enable-ncp \
--enable-radio-only \
--enable-linker-map \
--enable-builtin-mbedtls=no \
configure_OPTIONS = \
--enable-cli \
--enable-ftd \
--enable-mtd \
--enable-ncp \
--enable-radio-only \
--enable-linker-map \
--enable-builtin-mbedtls=no \
--with-examples=$(EFR32_PLATFORM) \
MBEDTLS_CPPFLAGS="$(EFR32_MBEDTLS_CPPFLAGS)" \
$(NULL)
@@ -76,16 +76,20 @@ endif
EFR32_MBEDTLS_CPPFLAGS = -DMBEDTLS_CONFIG_FILE='\"mbedtls_config.h\"'
EFR32_MBEDTLS_CPPFLAGS += -D$(MCU)
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/efr32/src
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/efr32/efr32mg13/crypto
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/configs
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/include/mbedtls
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/CMSIS/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/Device/SiliconLabs/EFR32MG13P/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/emlib/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/radio/rail_lib/chip/efr32/efr32xg1x
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/silicon_labs/silabs_core/memory_manager
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/efr32/$(PLATFORM_LOWERCASE)/crypto
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/include/mbedtls
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_alt/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/config
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/inc/configs
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/CMSIS/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/Device/SiliconLabs/EFR32MG13P/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/emlib/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/radio/rail_lib/chip/efr32/efr32xg1x
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/silicon_labs/silabs_core/memory_manager
CONFIG_FILE_PATH = $(AbsTopSourceDir)/examples/platforms/efr32/
HAL_CONF_DIR = $(CONFIG_FILE_PATH)/$(EFR32_PLATFORM)/$(BOARD_LOWERCASE)
+23 -17
View File
@@ -43,14 +43,14 @@ EFR32_PLATFORM = efr32mg21
PLATFORM_LOWERCASE = $(shell echo $(EFR32_PLATFORM) | tr A-Z a-z)
BOARD_LOWERCASE = $(shell echo $(BOARD) | tr A-Z a-z)
configure_OPTIONS = \
--enable-cli \
--enable-ftd \
--enable-mtd \
--enable-ncp \
--enable-radio-only \
--enable-linker-map \
--enable-builtin-mbedtls=no \
configure_OPTIONS = \
--enable-cli \
--enable-ftd \
--enable-mtd \
--enable-ncp \
--enable-radio-only \
--enable-linker-map \
--enable-builtin-mbedtls=no \
--with-examples=$(EFR32_PLATFORM) \
MBEDTLS_CPPFLAGS="$(EFR32_MBEDTLS_CPPFLAGS)" \
$(NULL)
@@ -81,15 +81,21 @@ EFR32_MBEDTLS_CPPFLAGS = -DMBEDTLS_CONFIG_FILE='\"mbedtls_config.h\"'
EFR32_MBEDTLS_CPPFLAGS += -D$(MCU)
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/efr32/src
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/efr32/$(PLATFORM_LOWERCASE)/crypto
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/configs
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/include/mbedtls
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/CMSIS/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/Device/SiliconLabs/EFR32MG21/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/emlib/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/radio/rail_lib/chip/efr32/efr32xg2x
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.0/util/silicon_labs/silabs_core/memory_manager
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/include/mbedtls
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/se_manager/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/se_manager/src
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_alt/include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/config
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/inc/configs
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/CMSIS/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/Device/SiliconLabs/EFR32MG21/Include
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/emlib/inc
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/radio/rail_lib/chip/efr32/efr32xg2x
EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/silabs/gecko_sdk_suite/v3.1/util/silicon_labs/silabs_core/memory_manager
EFR32_MBEDTLS_CPPFLAGS += -Wno-unused-function
EFR32_MBEDTLS_CPPFLAGS += -Wno-unused-parameter
@@ -55,7 +55,7 @@ fi; )
LDADD_COMMON += \
$(top_builddir)/examples/platforms/efr32/libopenthread-$(PLATFORM_LOWERCASE).a \
$(top_builddir)/third_party/silabs/libsilabs-$(PLATFORM_LOWERCASE)-sdk.a \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/radio/rail_lib/autogen/librail_release/$(LIBRAIL) \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/radio/rail_lib/autogen/librail_release/$(LIBRAIL) \
$(NULL)
LDFLAGS_COMMON += \
@@ -30,7 +30,7 @@ include $(abs_top_nlbuild_autotools_dir)/automake/pre.am
# ==============================================================================
# General variables
# ==============================================================================
SDK_SRC_DIR = $(top_srcdir)/third_party/silabs/gecko_sdk_suite/v3.0
SDK_SRC_DIR = $(top_srcdir)/third_party/silabs/gecko_sdk_suite/v3.1
EFR32_PLATFORM = $(subst /,,$(exec_prefix))
# NOTE: This is a work-around that sets EFR32_PLATFORM to the correct platform name.
@@ -67,6 +67,8 @@ override CXXFLAGS := $(filter-out -Wundef,$(CXXFLAGS))
# ==============================================================================
SILABS_GSDK_CPPFLAGS = \
-I$(SDK_SRC_DIR) \
-I$(SDK_SRC_DIR)/hardware/board/config/$(BOARD_LOWERCASE)_brd4001a \
-I$(SDK_SRC_DIR)/hardware/board/config/$(BOARD_LOWERCASE) \
-I$(SDK_SRC_DIR)/hardware/kit/$(PLATFORM_UPPERCASE)_$(BOARD_UPPERCASE)/config \
-I$(SDK_SRC_DIR)/hardware/kit/common/bsp \
-I$(SDK_SRC_DIR)/hardware/kit/common/drivers \
@@ -98,9 +100,6 @@ SILABS_GSDK_CPPFLAGS =
-I$(SDK_SRC_DIR)/platform/service/sleeptimer/config \
-I$(SDK_SRC_DIR)/platform/service/sleeptimer/inc \
-I$(SDK_SRC_DIR)/util/plugin/plugin-common/fem-control \
-I$(SDK_SRC_DIR)/util/third_party/mbedtls/configs \
-I$(SDK_SRC_DIR)/util/third_party/mbedtls/include \
-I$(SDK_SRC_DIR)/util/third_party/mbedtls/sl_crypto/include \
$(NULL)
@@ -117,6 +116,8 @@ SILABS_EFR32MG2X_CPPFLAGS =
-I$(SDK_SRC_DIR)/platform/emdrv/nvm3/config/s2 \
-I$(SDK_SRC_DIR)/platform/radio/rail_lib/chip/efr32/efr32xg2x \
-I$(SDK_SRC_DIR)/platform/radio/rail_lib/plugin/pa-conversions/efr32xg21/config \
-I$(SDK_SRC_DIR)/util/third_party/crypto/sl_component/se_manager/inc \
-I$(SDK_SRC_DIR)/util/third_party/crypto/sl_component/se_manager/src \
$(NULL)
@@ -130,6 +131,7 @@ PLATFORM_COMMON_SOURCES_LIST =
src/fem-control.c \
src/flash.c \
src/logging.c \
src/memory.c \
src/misc.c \
src/openthread-core-efr32-config-check.h \
src/openthread-core-efr32-config.h \
@@ -31,5 +31,5 @@
#
LDADD_COMMON += \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/emdrv/nvm3/lib/libnvm3_CM4_gcc.a \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/emdrv/nvm3/lib/libnvm3_CM4_gcc.a \
$(NULL)
+3 -3
View File
@@ -28,8 +28,8 @@ $ ./script/bootstrap
2. Install Flex (Gecko) SDK including RAIL Library from Simplicity Studio.
- Connect EFR32MG1P Wireless Starter Kit to Simplicity Studio.
- Find Flex SDK v3.0 in the Software Update page and click Install.
- Flex SDK v3.0 will be installed in the path:
- Find Flex SDK v3.1 in the Software Update page and click Install.
- Flex SDK v3.1 will be installed in the path:
- Mac
- `/Applications/Simplicity\ Studio.app/Contents/Eclipse/developer/sdks/gecko_sdk_suite`
- Windows
@@ -244,4 +244,4 @@ The following toolchain has been used for testing and verification:
The EFR32 example has been verified with following Flex SDK/RAIL Library version:
- Flex SDK version 3.0.x
- Flex SDK v3.1.x
@@ -24,10 +24,10 @@
#define MBEDTLS_ECP_C
#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
#define MBEDTLS_ECDH_C
#define MBEDTLS_ECDH_LEGACY_CONTEXT
#define MBEDTLS_ECDSA_C
#define MBEDTLS_ENTROPY_ADC_C
#define MBEDTLS_ENTROPY_RAIL_C
#define MBEDTLS_ENTROPY_HARDWARE_ALT_RAIL
#define MBEDTLS_ENTROPY_HARDWARE_ALT
#define MBEDTLS_MD_C
#define MBEDTLS_ECJPAKE_C
#define MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
@@ -37,14 +37,12 @@
#define MBEDTLS_ENTROPY_FORCE_SHA256
#define MBEDTLS_ENTROPY_MAX_SOURCES 2
#define MBEDTLS_NO_PLATFORM_ENTROPY
#define MBEDTLS_ENTROPY_HARDWARE_ALT
#define MBEDTLS_CTR_DRBG_C
#define MBEDTLS_SHA1_C
#define MBEDTLS_SHA256_C
#define MBEDTLS_SHA512_C
#define MBEDTLS_SSL_TLS_C
#define MBEDTLS_SSL_CLI_C
#define MBEDTLS_SSL_PROTO_TLS1_2
#define MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
#define MBEDTLS_SSL_SRV_C
#define MBEDTLS_X509_USE_C
#define MBEDTLS_X509_CRT_PARSE_C
@@ -53,13 +51,17 @@
#define MBEDTLS_OID_C
#define MBEDTLS_PK_C
#define MBEDTLS_PK_PARSE_C
#define MBEDTLS_PSA_CRYPTO_DRIVERS
#include "config-device-acceleration.h"
#if !defined(TEST_SUITE_MEMORY_BUFFER_ALLOC)
#include "sl_malloc.h"
#define MBEDTLS_PLATFORM_FREE_MACRO sl_free
#define MBEDTLS_PLATFORM_CALLOC_MACRO sl_calloc
#endif
#define MBEDTLS_PLATFORM_MEMORY
#define MBEDTLS_PLATFORM_C
@@ -31,5 +31,5 @@
#
LDADD_COMMON += \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/emdrv/nvm3/lib/libnvm3_CM4_gcc.a \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/emdrv/nvm3/lib/libnvm3_CM4_gcc.a \
$(NULL)
+3 -3
View File
@@ -33,8 +33,8 @@ $ ./script/bootstrap
2. Install Flex (Gecko) SDK including RAIL Library from Simplicity Studio.
- Connect EFR32MG12P Wireless Starter Kit to Simplicity Studio.
- Find Flex SDK v3.0 in the Software Update page and click Install.
- Flex SDK v3.0 will be installed in the path:
- Find Flex SDK v3.1 in the Software Update page and click Install.
- Flex SDK v3.1 will be installed in the path:
- Mac
- `/Applications/Simplicity\ Studio.app/Contents/Eclipse/developer/sdks/gecko_sdk_suite`
- Windows
@@ -257,4 +257,4 @@ The following toolchain has been used for testing and verification:
The EFR32 example has been verified with following Flex SDK/RAIL Library version:
- Flex SDK version 3.0.x
- Flex SDK v3.1.x
@@ -24,9 +24,10 @@
#define MBEDTLS_ECP_C
#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
#define MBEDTLS_ECDH_C
#define MBEDTLS_ECDH_LEGACY_CONTEXT
#define MBEDTLS_ECDSA_C
#define MBEDTLS_ENTROPY_ADC_C
#define MBEDTLS_ENTROPY_RAIL_C
#define MBEDTLS_ENTROPY_HARDWARE_ALT
#define MBEDTLS_MD_C
#define MBEDTLS_ECJPAKE_C
#define MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
@@ -36,14 +37,12 @@
#define MBEDTLS_ENTROPY_FORCE_SHA256
#define MBEDTLS_ENTROPY_MAX_SOURCES 2
#define MBEDTLS_NO_PLATFORM_ENTROPY
#define MBEDTLS_ENTROPY_HARDWARE_ALT
#define MBEDTLS_CTR_DRBG_C
#define MBEDTLS_SHA1_C
#define MBEDTLS_SHA256_C
#define MBEDTLS_SHA512_C
#define MBEDTLS_SSL_TLS_C
#define MBEDTLS_SSL_CLI_C
#define MBEDTLS_SSL_PROTO_TLS1_2
#define MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
#define MBEDTLS_SSL_SRV_C
#define MBEDTLS_X509_USE_C
#define MBEDTLS_X509_CRT_PARSE_C
@@ -52,17 +51,17 @@
#define MBEDTLS_OID_C
#define MBEDTLS_PK_C
#define MBEDTLS_PK_PARSE_C
#define MBEDTLS_PSA_CRYPTO_DRIVERS
#include "config-device-acceleration.h"
#if defined(MBEDTLS_TRNG_PRESENT)
#define MBEDTLS_TRNG_C
#endif
#if !defined(TEST_SUITE_MEMORY_BUFFER_ALLOC)
#include "sl_malloc.h"
#define MBEDTLS_PLATFORM_FREE_MACRO sl_free
#define MBEDTLS_PLATFORM_CALLOC_MACRO sl_calloc
#endif
#define MBEDTLS_PLATFORM_MEMORY
#define MBEDTLS_PLATFORM_C
@@ -31,5 +31,5 @@
#
LDADD_COMMON += \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/emdrv/nvm3/lib/libnvm3_CM4_gcc.a \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/emdrv/nvm3/lib/libnvm3_CM4_gcc.a \
$(NULL)
+3 -3
View File
@@ -32,8 +32,8 @@ $ ./script/bootstrap
2. Install Flex (Gecko) SDK including RAIL Library from Simplicity Studio.
- Connect EFR32MG13P Wireless Starter Kit to Simplicity Studio.
- Find Flex SDK v3.0 in the Software Update page and click Install.
- Flex SDK v3.0 will be installed in the path:
- Find Flex SDK v3.1 in the Software Update page and click Install.
- Flex SDK v3.1 will be installed in the path:
- Mac
- `/Applications/Simplicity\ Studio.app/Contents/Eclipse/developer/sdks/gecko_sdk_suite`
- Windows
@@ -250,4 +250,4 @@ The following toolchain has been used for testing and verification:
The EFR32 example has been verified with following Flex SDK/RAIL Library version:
- Flex SDK version 3.0.x
- Flex SDK v3.1.x
@@ -24,10 +24,10 @@
#define MBEDTLS_ECP_C
#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
#define MBEDTLS_ECDH_C
#define MBEDTLS_ECDH_LEGACY_CONTEXT
#define MBEDTLS_ECDSA_C
#define MBEDTLS_ENTROPY_ADC_C
#define MBEDTLS_ENTROPY_RAIL_C
#define MBEDTLS_ENTROPY_HARDWARE_ALT_RAIL
#define MBEDTLS_ENTROPY_HARDWARE_ALT
#define MBEDTLS_MD_C
#define MBEDTLS_ECJPAKE_C
#define MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
@@ -37,14 +37,12 @@
#define MBEDTLS_ENTROPY_FORCE_SHA256
#define MBEDTLS_ENTROPY_MAX_SOURCES 2
#define MBEDTLS_NO_PLATFORM_ENTROPY
#define MBEDTLS_ENTROPY_HARDWARE_ALT
#define MBEDTLS_CTR_DRBG_C
#define MBEDTLS_SHA1_C
#define MBEDTLS_SHA256_C
#define MBEDTLS_SHA512_C
#define MBEDTLS_SSL_TLS_C
#define MBEDTLS_SSL_CLI_C
#define MBEDTLS_SSL_PROTO_TLS1_2
#define MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
#define MBEDTLS_SSL_SRV_C
#define MBEDTLS_X509_USE_C
#define MBEDTLS_X509_CRT_PARSE_C
@@ -53,17 +51,17 @@
#define MBEDTLS_OID_C
#define MBEDTLS_PK_C
#define MBEDTLS_PK_PARSE_C
#define MBEDTLS_PSA_CRYPTO_DRIVERS
#include "config-device-acceleration.h"
#if defined(MBEDTLS_TRNG_PRESENT)
#define MBEDTLS_TRNG_C
#endif
#if !defined(TEST_SUITE_MEMORY_BUFFER_ALLOC)
#include "sl_malloc.h"
#define MBEDTLS_PLATFORM_FREE_MACRO sl_free
#define MBEDTLS_PLATFORM_CALLOC_MACRO sl_calloc
#endif
#define MBEDTLS_PLATFORM_MEMORY
#define MBEDTLS_PLATFORM_C
@@ -31,5 +31,5 @@
#
LDADD_COMMON += \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v3.0/platform/emdrv/nvm3/lib/libnvm3_CM33_gcc.a \
$(top_srcdir)/third_party/silabs/gecko_sdk_suite/v3.1/platform/emdrv/nvm3/lib/libnvm3_CM33_gcc.a \
$(NULL)
+3 -3
View File
@@ -30,8 +30,8 @@ $ ./script/bootstrap
2. Install Flex (Gecko) SDK including RAIL Library from Simplicity Studio.
- Connect EFR32MG21 Wireless Starter Kit to Simplicity Studio.
- Find Flex SDK v3.0 in the Software Update page and click Install.
- Flex SDK v3.0 will be installed in the path:
- Find Flex SDK v3.1 in the Software Update page and click Install.
- Flex SDK v3.1 will be installed in the path:
- Mac
- `/Applications/Simplicity\ Studio.app/Contents/Eclipse/developer/sdks/gecko_sdk_suite`
- Windows
@@ -193,4 +193,4 @@ The following toolchain has been used for testing and verification:
The EFR32 example has been verified with following Flex SDK/RAIL Library version:
- Flex SDK version 3.0.x
- Flex SDK v3.1.x
@@ -24,8 +24,9 @@
#define MBEDTLS_ECP_C
#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
#define MBEDTLS_ECDH_C
#define MBEDTLS_ECDH_LEGACY_CONTEXT
#define MBEDTLS_ECDSA_C
#define MBEDTLS_ENTROPY_RAIL_C
#define MBEDTLS_ENTROPY_HARDWARE_ALT
#define MBEDTLS_MD_C
#define MBEDTLS_ECJPAKE_C
#define MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
@@ -35,14 +36,12 @@
#define MBEDTLS_ENTROPY_FORCE_SHA256
#define MBEDTLS_ENTROPY_MAX_SOURCES 2
#define MBEDTLS_NO_PLATFORM_ENTROPY
#define MBEDTLS_ENTROPY_HARDWARE_ALT
#define MBEDTLS_CTR_DRBG_C
#define MBEDTLS_SHA1_C
#define MBEDTLS_SHA256_C
#define MBEDTLS_SHA512_C
#define MBEDTLS_SSL_TLS_C
#define MBEDTLS_SSL_CLI_C
#define MBEDTLS_SSL_PROTO_TLS1_2
#define MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
#define MBEDTLS_SSL_SRV_C
#define MBEDTLS_X509_USE_C
#define MBEDTLS_X509_CRT_PARSE_C
@@ -51,13 +50,18 @@
#define MBEDTLS_OID_C
#define MBEDTLS_PK_C
#define MBEDTLS_PK_PARSE_C
#define MBEDTLS_PSA_CRYPTO_DRIVERS
#define MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS
#include "config-device-acceleration.h"
#if !defined(TEST_SUITE_MEMORY_BUFFER_ALLOC)
#include "sl_malloc.h"
#define MBEDTLS_PLATFORM_FREE_MACRO sl_free
#define MBEDTLS_PLATFORM_CALLOC_MACRO sl_calloc
#endif
#define MBEDTLS_PLATFORM_MEMORY
#define MBEDTLS_PLATFORM_C
+21
View File
@@ -38,6 +38,7 @@
#include "openthread-system.h"
#include <openthread/config.h>
#include <openthread/platform/alarm-micro.h>
#include <openthread/platform/alarm-milli.h>
#include <openthread/platform/diag.h>
#include "common/logging.hpp"
@@ -145,3 +146,23 @@ void efr32AlarmProcess(otInstance *aInstance)
}
}
}
uint32_t otPlatAlarmMicroGetNow(void)
{
// TODO microsecond support
return otPlatAlarmMilliGetNow();
}
void otPlatAlarmMicroStartAt(otInstance *aInstance, uint32_t aT0, uint32_t aDt)
{
// TODO microsecond support
return otPlatAlarmMilliStartAt(aInstance, aT0, aDt);
}
void otPlatAlarmMicroStop(otInstance *aInstance)
{
OT_UNUSED_VARIABLE(aInstance);
sl_sleeptimer_stop_timer(&sl_handle);
sIsRunning = false;
}
@@ -0,0 +1,194 @@
/*
* Copyright (c) 2020, The OpenThread Authors.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the copyright holder nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/**
* @file
* This file holds required 802.15.4 definitions
*
*/
#ifndef __IEEE802154IEEE802154_H__
#define __IEEE802154IEEE802154_H__
#define IEEE802154_MIN_LENGTH \
4 // Technically, a version 2 packet / ACK
// can be 4 bytes with seq# suppression
#define IEEE802154_MAX_LENGTH 127
#define IEEE802154_ACK_LENGTH 5
// FCF + DSN + dest PANID + dest addr + src PANID + src addr (without security header)
#define IEEE802154_MAX_MHR_LENGTH (2 + 1 + 2 + 8 + 2 + 8)
#define IEEE802154_DSN_OFFSET 2
#define IEEE802154_FCF_OFFSET 0
//------------------------------------------------------------------------
// 802.15.4 Frame Control Field definitions for Beacon, Ack, Data, Command
#define IEEE802154_FRAME_TYPE_MASK ((uint16_t)0x0007U) // Bits 0..2
#define IEEE802154_FRAME_TYPE_BEACON ((uint16_t)0x0000U) // Beacon
#define IEEE802154_FRAME_TYPE_DATA ((uint16_t)0x0001U) // Data
#define IEEE802154_FRAME_TYPE_ACK ((uint16_t)0x0002U) // ACK
#define IEEE802154_FRAME_TYPE_COMMAND ((uint16_t)0x0003U) // Command
#define IEEE802154_FRAME_TYPE_CONTROL IEEE802154_FRAME_TYPE_COMMAND // (synonym)
#define IEEE802154_FRAME_TYPE_RESERVED_MASK ((uint16_t)0x0004U) // Versions 0/1
// 802.15.4E-2012 introduced MultiPurpose with different Frame Control Field
// layout described in the MultiPurpose section below.
#define IEEE802154_FRAME_TYPE_MULTIPURPOSE ((uint16_t)0x0005U) // MultiPurpose
#define IEEE802154_FRAME_FLAG_SECURITY_ENABLED ((uint16_t)0x0008U) // Bit 3
#define IEEE802154_FRAME_FLAG_FRAME_PENDING ((uint16_t)0x0010U) // Bit 4
#define IEEE802154_FRAME_FLAG_ACK_REQUIRED ((uint16_t)0x0020U) // Bit 5
#define IEEE802154_FRAME_FLAG_INTRA_PAN ((uint16_t)0x0040U) // Bit 6
// 802.15.4-2006 renamed the Intra-Pan flag PanId-Compression
#define IEEE802154_FRAME_FLAG_PANID_COMPRESSION IEEE802154_FRAME_FLAG_INTRA_PAN
#define IEEE802154_FRAME_FLAG_RESERVED ((uint16_t)0x0080U) // Bit 7 reserved
// Use the reserved flag internally to check whether frame pending bit was set in outgoing ACK
#define IEEE802154_FRAME_PENDING_SET_IN_OUTGOING_ACK IEEE802154_FRAME_FLAG_RESERVED
// 802.15.4E-2012 introduced these flags for Frame Version 2 frames
// which are reserved bit positions in earlier Frame Version frames:
#define IEEE802154_FRAME_FLAG_SEQ_SUPPRESSION ((uint16_t)0x0100U) // Bit 8
#define IEEE802154_FRAME_FLAG_IE_LIST_PRESENT ((uint16_t)0x0200U) // Bit 9
#define IEEE802154_FRAME_DESTINATION_MODE_MASK ((uint16_t)0x0C00U) // Bits 10..11
#define IEEE802154_FRAME_DESTINATION_MODE_NONE ((uint16_t)0x0000U) // Mode 0
#define IEEE802154_FRAME_DESTINATION_MODE_RESERVED ((uint16_t)0x0400U) // Mode 1
#define IEEE802154_FRAME_DESTINATION_MODE_SHORT ((uint16_t)0x0800U) // Mode 2
#define IEEE802154_FRAME_DESTINATION_MODE_LONG ((uint16_t)0x0C00U) // Mode 3
// 802.15.4e-2012 only (not adopted into 802.15.4-2015)
#define IEEE802154_FRAME_DESTINATION_MODE_BYTE IEEE802154_FRAME_DESTINATION_MODE_RESERVED
#define IEEE802154_FRAME_VERSION_MASK ((uint16_t)0x3000U) // Bits 12..13
#define IEEE802154_FRAME_VERSION_2003 ((uint16_t)0x0000U) // Version 0
#define IEEE802154_FRAME_VERSION_2006 ((uint16_t)0x1000U) // Version 1
// In 802.15.4-2015, Version 2 is just called "IEEE STD 802.15.4"
// which can be rather confusing. It was introduced in 802.15.4E-2012.
#define IEEE802154_FRAME_VERSION_2012 ((uint16_t)0x2000U) // Version 2
#define IEEE802154_FRAME_VERSION_2015 ((uint16_t)0x2000U) // Version 2
#define IEEE802154_FRAME_VERSION_RESERVED ((uint16_t)0x3000U) // Version 3
#define IEEE802154_FRAME_SOURCE_MODE_MASK ((uint16_t)0xC000U) // Bits 14..15
#define IEEE802154_FRAME_SOURCE_MODE_NONE ((uint16_t)0x0000U) // Mode 0
#define IEEE802154_FRAME_SOURCE_MODE_RESERVED ((uint16_t)0x4000U) // Mode 1
#define IEEE802154_FRAME_SOURCE_MODE_SHORT ((uint16_t)0x8000U) // Mode 2
#define IEEE802154_FRAME_SOURCE_MODE_LONG ((uint16_t)0xC000U) // Mode 3
// 802.15.4e-2012 only (not adopted into 802.15.4-2015)
#define IEEE802154_FRAME_SOURCE_MODE_BYTE IEEE802154_FRAME_SOURCE_MODE_RESERVED
//------------------------------------------------------------------------
// 802.15.4E-2012 Frame Control Field definitions for MultiPurpose
#define IEEE802154_MP_FRAME_TYPE_MASK IEEE802154_FRAME_TYPE_MASK // Bits 0..2
#define IEEE802154_MP_FRAME_TYPE_MULTIPURPOSE IEEE802154_FRAME_TYPE_MULTIPURPOSE
#define IEEE802154_MP_FRAME_FLAG_LONG_FCF ((uint16_t)0x0008U) // Bit 3
#define IEEE802154_MP_FRAME_DESTINATION_MODE_MASK ((uint16_t)0x0030U) // Bits 4..5
#define IEEE802154_MP_FRAME_DESTINATION_MODE_NONE ((uint16_t)0x0000U) // Mode 0
#define IEEE802154_MP_FRAME_DESTINATION_MODE_RESERVED ((uint16_t)0x0010U) // Mode 1
#define IEEE802154_MP_FRAME_DESTINATION_MODE_SHORT ((uint16_t)0x0020U) // Mode 2
#define IEEE802154_MP_FRAME_DESTINATION_MODE_LONG ((uint16_t)0x0030U) // Mode 3
// 802.15.4e-2012 only (not adopted into 802.15.4-2015)
#define IEEE802154_MP_FRAME_DESTINATION_MODE_BYTE IEEE802154_MP_FRAME_DESTINATION_MODE_RESERVED
#define IEEE802154_MP_FRAME_SOURCE_MODE_MASK ((uint16_t)0x00C0U) // Bits 6..7
#define IEEE802154_MP_FRAME_SOURCE_MODE_NONE ((uint16_t)0x0000U) // Mode 0
#define IEEE802154_MP_FRAME_SOURCE_MODE_RESERVED ((uint16_t)0x0040U) // Mode 1
#define IEEE802154_MP_FRAME_SOURCE_MODE_SHORT ((uint16_t)0x0080U) // Mode 2
#define IEEE802154_MP_FRAME_SOURCE_MODE_LONG ((uint16_t)0x00C0U) // Mode 3
// 802.15.4e-2012 only (not adopted into 802.15.4-2015)
#define IEEE802154_MP_FRAME_SOURCE_MODE_BYTE IEEE802154_MP_FRAME_SOURCE_MODE_RESERVED
#define IEEE802154_MP_FRAME_FLAG_PANID_PRESENT ((uint16_t)0x0100U) // Bit 8
#define IEEE802154_MP_FRAME_FLAG_SECURITY_ENABLED ((uint16_t)0x0200U) // Bit 9
#define IEEE802154_MP_FRAME_FLAG_SEQ_SUPPRESSION ((uint16_t)0x0400U) // Bit 10
#define IEEE802154_MP_FRAME_FLAG_FRAME_PENDING ((uint16_t)0x0800U) // Bit 11
#define IEEE802154_MP_FRAME_VERSION_MASK IEEE802154_FRAME_VERSION_MASK // Bits 12..13
#define IEEE802154_MP_FRAME_VERSION_2012 ((uint16_t)0x0000U) // Zeroed out
#define IEEE802154_MP_FRAME_VERSION_2015 ((uint16_t)0x0000U) // Zeroed out
// All other MultiPurpose Frame Versions are reserved
#define IEEE802154_MP_FRAME_FLAG_ACK_REQUIRED ((uint16_t)0x4000U) // Bit 14
#define IEEE802154_MP_FRAME_FLAG_IE_LIST_PRESENT ((uint16_t)0x8000U) // Bit 15
//------------------------------------------------------------------------
// Information Elements fields
#define IEEE802154_KEYID_MODE_0 ((uint8_t)0x0000U)
#define IEEE802154_KEYID_MODE_0_SIZE 0
#define IEEE802154_KEYID_MODE_1 ((uint8_t)0x0008U)
#define IEEE802154_KEYID_MODE_1_SIZE 0
#define IEEE802154_KEYID_MODE_2 ((uint8_t)0x0010U)
#define IEEE802154_KEYID_MODE_2_SIZE 4
#define IEEE802154_KEYID_MODE_3 ((uint8_t)0x0018U)
#define IEEE802154_KEYID_MODE_3_SIZE 8
#define IEEE802154_KEYID_MODE_MASK ((uint8_t)0x0018U)
//------------------------------------------------------------------------
// Information Elements fields
// There are Header IEs and Payload IEs. Header IEs are authenticated
// if MAC Security is enabled. Payload IEs are both authenticated and
// encrypted if MAC security is enabled.
// Header and Payload IEs have slightly different formats and different
// contents based on the 802.15.4 spec.
// Both are actually a list of IEs that continues until a termination
// IE is seen.
#define IEEE802154_FRAME_HEADER_INFO_ELEMENT_LENGTH_MASK 0x007F // bits 0-6
#define IEEE802154_FRAME_HEADER_INFO_ELEMENT_ID_MASK 0x7F80 // bits 7-14
#define IEEE802154_FRAME_HEADER_INFO_ELEMENT_TYPE_MASK 0x8000 // bit 15
#define IEEE802154_FRAME_HEADER_INFO_ELEMENT_ID_SHIFT 7
#define IEEE802154_FRAME_PAYLOAD_INFO_ELEMENT_LENGTH_MASK 0x07FF // bits 0 -10
#define IEEE802154_FRAME_PAYLOAD_INFO_ELEMENT_GROUP_ID_MASK 0x7800 // bits 11-14
#define IEEE802154_FRAME_PAYLOAD_INFO_ELEMENT_TYPE_MASK 0x8000 // bit 15
#define IEEE802154_FRAME_PAYLOAD_INFO_ELEMENT_ID_SHIFT 11
// This "type" field indicates header vs. payload IE. However there is
// also a Header IE List terminator which would imply the IE list
// that follows is only payload IEs.
#define IEEE802154_FRAME_INFO_ELEMENT_TYPE_MASK 0x8000
// Header Termination ID 1 is used when there are Payload IEs that follow.
// Header Termination ID 2 is used when there are no Payload IEs and the
// next field is the MAC payload.
#define IEEE802154_FRAME_HEADER_TERMINATION_ID_1 0x7E
#define IEEE802154_FRAME_HEADER_TERMINATION_ID_2 0x7F
#define IEEE802154_FRAME_PAYLOAD_TERMINATION_ID 0x0F
#endif //__IEEE802154IEEE802154_H__
+46
View File
@@ -0,0 +1,46 @@
/*
* Copyright (c) 2021, The OpenThread Authors.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the copyright holder nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#include "openthread-core-efr32-config.h"
#include "platform-efr32.h"
#if OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE
#include <openthread/platform/memory.h>
#include "sl_malloc.h"
void *otPlatCAlloc(size_t aNum, size_t aSize)
{
return sl_calloc(aNum, aSize);
}
void otPlatFree(void *aPtr)
{
sl_free(aPtr);
}
#endif
@@ -101,7 +101,17 @@
* Define to 1 if you want to enable software transmission security logic.
*
*/
#define OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_SECURITY_ENABLE 0
#define OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_SECURITY_ENABLE \
(OPENTHREAD_RADIO && (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2))
/**
* @def OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_TIMING_ENABLE
*
* Define to 1 to enable software transmission target time logic.
*
*/
#define OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_TIMING_ENABLE \
(OPENTHREAD_RADIO && (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2))
/**
* @def OPENTHREAD_CONFIG_MAC_SOFTWARE_ENERGY_SCAN_ENABLE
@@ -111,6 +121,15 @@
*/
#define OPENTHREAD_CONFIG_MAC_SOFTWARE_ENERGY_SCAN_ENABLE 0
/**
* @def OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE
*
* Define to 1 if you want to support microsecond timer in platform.
*
*/
#define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE \
(OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE && (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2))
/**
* @def OPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE
*
@@ -129,4 +148,23 @@
*/
#define OPENTHREAD_CONFIG_NCP_UART_ENABLE 1
/**
* @def OPENTHREAD_CONFIG_MIN_SLEEP_DURATION_MS
*
* Minimum duration in ms below which the platform will not
* enter a deep sleep (EM2) mode.
*
*/
#define OPENTHREAD_CONFIG_MIN_SLEEP_DURATION_MS 5
/**
* @def OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE
*
* Enable the external heap.
*
*/
#ifndef OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE
#define OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 0
#endif
#endif // OPENTHREAD_CORE_EFR32_CONFIG_H_
File diff suppressed because it is too large Load Diff
+3 -14
View File
@@ -55,15 +55,11 @@
#include "em_system.h"
#include "hal-config.h"
#include "hal_common.h"
#include "platform-efr32.h"
#include "rail.h"
#include "sl_device_init_nvic.h"
#include "sl_mpu.h"
#include "sl_sleeptimer.h"
#if OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE
#include "sl_malloc.h"
#include "openthread/heap.h"
#endif
#include "platform-efr32.h"
#if (HAL_FEM_ENABLE)
#include "fem-control.h"
@@ -170,15 +166,8 @@ void otSysInit(int argc, char *argv[])
__disable_irq();
#undef FIXED_EXCEPTION
#define FIXED_EXCEPTION(vectorNumber, functionName, deviceIrqn, deviceIrqHandler)
#define EXCEPTION(vectorNumber, functionName, deviceIrqn, deviceIrqHandler, priorityLevel, subpriority) \
NVIC_SetPriority(deviceIrqn, NVIC_EncodePriority(PRIGROUP_POSITION - 1, priorityLevel, subpriority));
#include NVIC_CONFIG
#undef EXCEPTION
NVIC_SetPriorityGrouping(PRIGROUP_POSITION - 1);
CHIP_Init();
sl_device_init_nvic();
halInitChipSpecific();
BSP_Init(BSP_INIT_BCC);
+50 -11
View File
@@ -33,6 +33,7 @@
*/
#include <stddef.h>
#include <string.h>
#include "openthread-system.h"
#include <openthread/platform/uart.h>
@@ -43,6 +44,15 @@
#include "uartdrv.h"
#include "hal-config.h"
#include "sl_uartdrv_usart_vcom_config.h"
#define HELPER1(x) USART##x##_RX_IRQn
#define HELPER2(x) HELPER1(x)
#define USART_IRQ HELPER2(SL_UARTDRV_USART_VCOM_PERIPHERAL_NO)
#define HELPER3(x) USART##x##_RX_IRQHandler
#define HELPER4(x) HELPER3(x)
#define USART_IRQHandler HELPER4(SL_UARTDRV_USART_VCOM_PERIPHERAL_NO)
enum
{
@@ -89,9 +99,15 @@ static const UARTDRV_InitUart_t USART_INIT = {
static UARTDRV_HandleData_t sUartHandleData;
static UARTDRV_Handle_t sUartHandle = &sUartHandleData;
static uint8_t sReceiveBuffer[2];
static const uint8_t * sTransmitBuffer = NULL;
static volatile uint16_t sTransmitLength = 0;
// In order to reduce the probability of data loss due to disabled interrupts, we use
// two duplicate receive buffers so we can always have one "active" receive request.
#define RECEIVE_BUFFER_SIZE 128
static uint8_t sReceiveBuffer1[RECEIVE_BUFFER_SIZE];
static uint8_t sReceiveBuffer2[RECEIVE_BUFFER_SIZE];
static const uint8_t * sTransmitBuffer = NULL;
static volatile uint16_t sTransmitLength = 0;
static uint8_t lastCount = 0;
typedef struct ReceiveFifo_t
{
@@ -109,14 +125,17 @@ static void processReceive(void);
static void receiveDone(UARTDRV_Handle_t aHandle, Ecode_t aStatus, uint8_t *aData, UARTDRV_Count_t aCount)
{
OT_UNUSED_VARIABLE(aStatus);
// We can only write if incrementing mTail doesn't equal mHead
if (sReceiveFifo.mHead != (sReceiveFifo.mTail + 1) % kReceiveFifoSize)
if (sReceiveFifo.mHead != (sReceiveFifo.mTail + aCount - lastCount) % kReceiveFifoSize)
{
sReceiveFifo.mBuffer[sReceiveFifo.mTail] = aData[0];
sReceiveFifo.mTail = (sReceiveFifo.mTail + 1) % kReceiveFifoSize;
memcpy(sReceiveFifo.mBuffer + sReceiveFifo.mTail, aData + lastCount, aCount - lastCount);
sReceiveFifo.mTail = (sReceiveFifo.mTail + aCount - lastCount) % kReceiveFifoSize;
lastCount = 0;
}
UARTDRV_Receive(aHandle, aData, 1, receiveDone);
UARTDRV_Receive(aHandle, aData, aCount, receiveDone);
otSysEventSignalPending();
}
@@ -133,6 +152,16 @@ static void transmitDone(UARTDRV_Handle_t aHandle, Ecode_t aStatus, uint8_t *aDa
static void processReceive(void)
{
uint8_t * aData;
UARTDRV_Count_t aCount, remaining;
CORE_ATOMIC_SECTION(UARTDRV_GetReceiveStatus(sUartHandle, &aData, &aCount, &remaining);
if (aCount > lastCount) {
memcpy(sReceiveFifo.mBuffer + sReceiveFifo.mTail, aData + lastCount, aCount - lastCount);
sReceiveFifo.mTail = (sReceiveFifo.mTail + aCount - lastCount) % kReceiveFifoSize;
lastCount = aCount;
})
// Copy tail to prevent multiple reads
uint16_t tail = sReceiveFifo.mTail;
@@ -169,6 +198,11 @@ static void processTransmit(void)
}
}
void USART_IRQHandler(void)
{
otSysEventSignalPending();
}
otError otPlatUartEnable(void)
{
UARTDRV_InitUart_t uartInit = USART_INIT;
@@ -178,10 +212,15 @@ otError otPlatUartEnable(void)
UARTDRV_Init(sUartHandle, &uartInit);
for (uint8_t i = 0; i < sizeof(sReceiveBuffer); i++)
{
UARTDRV_Receive(sUartHandle, &sReceiveBuffer[i], sizeof(sReceiveBuffer[i]), receiveDone);
}
// When one receive request is completed, the other buffer is used for a separate receive request, issued
// immediately.
UARTDRV_Receive(sUartHandle, sReceiveBuffer1, RECEIVE_BUFFER_SIZE, receiveDone);
UARTDRV_Receive(sUartHandle, sReceiveBuffer2, RECEIVE_BUFFER_SIZE, receiveDone);
// Enable USART0 interrupt to wake OT task when data arrives
NVIC_ClearPendingIRQ(USART_IRQ);
NVIC_EnableIRQ(USART_IRQ);
USART_IntEnable(SL_UARTDRV_USART_VCOM_PERIPHERAL, USART_IF_RXDATAV);
return OT_ERROR_NONE;
}
+195 -128
View File
@@ -29,6 +29,9 @@
include $(abs_top_nlbuild_autotools_dir)/automake/pre.am
include $(top_srcdir)/examples/platforms/efr32/efr32_platform_defs.am
# ==============================================================================
# Which libraries to build
# ==============================================================================
lib_LIBRARIES = $(NULL)
if !OPENTHREAD_ENABLE_BUILTIN_MBEDTLS
@@ -61,6 +64,9 @@ lib_LIBRARIES +=
$(NULL)
endif
# ==============================================================================
# Compiler flags
# ==============================================================================
# Do not enable -Wshadow for Silicon Labs SDK sources
override CFLAGS := $(filter-out -Wshadow,$(CFLAGS))
@@ -70,87 +76,77 @@ override CXXFLAGS := $(filter-out -Wshadow,$(CXXFLAGS))
override CFLAGS := $(filter-out -Wcast-align,$(CFLAGS))
override CXXFLAGS := $(filter-out -Wcast-align,$(CXXFLAGS))
# =============================================================================
SILABS_MBEDTLS_DIR = $(SDK_SRC_DIR)/util/third_party/mbedtls
# ==============================================================================
# Silabs Gecko SDK mbedtls
# ==============================================================================
SILABS_MBEDTLS_CPPFLAGS = \
$(MBEDTLS_CPPFLAGS) \
-I$(SILABS_MBEDTLS_DIR)/configs \
-I$(SILABS_MBEDTLS_DIR)/include \
-I$(SILABS_MBEDTLS_DIR)/sl_crypto/include \
-I$(SDK_SRC_DIR)/platform/radio/rail_lib/common \
-I$(SDK_SRC_DIR)/util/silicon_labs/silabs_core/memory_manager \
-I$(SDK_SRC_DIR)/util/third_party/crypto/sl_component/se_manager/inc/ \
-I$(SDK_SRC_DIR)/platform/common/inc/ \
SILABS_MBEDTLS_DIR = $(SDK_SRC_DIR)/util/third_party/crypto/mbedtls
SILABS_MBEDTLS_CPPFLAGS = \
$(MBEDTLS_CPPFLAGS) \
-I$(SILABS_MBEDTLS_DIR)/include \
-I$(SILABS_MBEDTLS_DIR)/include/mbedtls \
-I$(SILABS_MBEDTLS_DIR)/library \
-I$(SDK_SRC_DIR)/util/third_party/crypto/sl_component/sl_alt/include \
-I$(SDK_SRC_DIR)/util/third_party/crypto/sl_component/sl_mbedtls_support/config \
-I$(SDK_SRC_DIR)/util/third_party/crypto/sl_component/sl_mbedtls_support/inc \
-I$(SDK_SRC_DIR)/util/third_party/crypto/sl_component/sl_mbedtls_support/inc/configs \
-I$(SDK_SRC_DIR)/util/third_party/crypto/sl_component/sl_psa_driver/inc \
-I$(SDK_SRC_DIR)/util/silicon_labs/silabs_core/memory_manager \
-I$(SDK_SRC_DIR)/platform/CMSIS/Include \
-I$(SDK_SRC_DIR)/platform/common/inc/ \
-I$(SDK_SRC_DIR)/platform/emlib/inc \
-I$(SDK_SRC_DIR)/platform/radio/rail_lib/common \
$(NULL)
SILABS_MBEDTLS_SOURCES = \
gecko_sdk_suite/v3.0/platform/emlib/src/em_crypto.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/aes.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/asn1parse.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/asn1write.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/base64.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/bignum.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ccm.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/cipher_wrap.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/cipher.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/cmac.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ctr_drbg.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/des.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ecdh.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ecdsa.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ecjpake.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ecp_curves.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ecp.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/entropy.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/error.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/md_wrap.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/md.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/oid.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/pem.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/pk_wrap.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/pk.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/pkparse.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/platform_util.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/rsa_internal.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/rsa.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/sha1.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/sha256.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/sha512.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ssl_cache.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ssl_ciphersuites.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ssl_cli.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ssl_cookie.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ssl_srv.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ssl_ticket.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ssl_tls.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/threading.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/x509_create.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/x509_crl.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/x509_crt.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/x509_csr.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/x509.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/x509write_crt.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/x509write_csr.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/crypto_aes.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/crypto_ecp.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/crypto_management.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/crypto_sha.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/entropy_adc.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/entropy_rail.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/se_aes.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/se_ccm.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/se_cmac.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/se_ecp.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/se_jpake.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/se_management.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/se_sha.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/se_trng.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/shax.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/sl_mbedtls.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/trng.c \
gecko_sdk_suite/v3.0/util/silicon_labs/silabs_core/memory_manager/sl_malloc.c \
SILABS_MBEDTLS_SOURCES = \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/aes.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/asn1parse.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/asn1write.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/base64.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/bignum.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ccm.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/cipher_wrap.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/cipher.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/cmac.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ctr_drbg.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/des.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ecdh.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ecdsa.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ecjpake.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ecp_curves.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ecp.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/entropy.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/error.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/md.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/oid.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/pem.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/pk_wrap.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/pk.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/pkparse.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/platform_util.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/platform.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/rsa_internal.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/rsa.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/sha256.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ssl_cache.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ssl_ciphersuites.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ssl_cli.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ssl_cookie.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ssl_msg.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ssl_srv.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ssl_ticket.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/ssl_tls.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/threading.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/x509_create.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/x509_crl.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/x509_crt.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/x509_csr.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/x509.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/x509write_crt.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/mbedtls/library/x509write_csr.c \
gecko_sdk_suite/v3.1/util/silicon_labs/silabs_core/memory_manager/sl_malloc.c \
$(NULL)
libsilabs_mbedtls_a_CPPFLAGS = \
@@ -162,7 +158,9 @@ libsilabs_mbedtls_a_SOURCES =
$(NULL)
# =============================================================================
# ==============================================================================
# Gecko SDK
# ==============================================================================
COMMONCPPFLAGS = \
-I$(srcdir) \
@@ -179,70 +177,136 @@ COMMONCPPFLAGS =
-Wno-missing-field-initializers \
$(NULL)
SILABS_COMMON_SOURCES = \
rail_config/rail_config.c \
gecko_sdk_suite/v3.0/hardware/kit/common/bsp/bsp_bcc.c \
gecko_sdk_suite/v3.0/hardware/kit/common/bsp/bsp_init.c \
gecko_sdk_suite/v3.0/hardware/kit/common/bsp/bsp_stk.c \
gecko_sdk_suite/v3.0/hardware/kit/common/bsp/bsp_stk_leds.c \
gecko_sdk_suite/v3.0/platform/emdrv/dmadrv/src/dmadrv.c \
gecko_sdk_suite/v3.0/platform/emdrv/gpiointerrupt/src/gpiointerrupt.c \
gecko_sdk_suite/v3.0/platform/emdrv/nvm3/src/nvm3_default_common_linker.c \
gecko_sdk_suite/v3.0/platform/emdrv/nvm3/src/nvm3_hal_flash.c \
gecko_sdk_suite/v3.0/platform/emdrv/nvm3/src/nvm3_lock.c \
gecko_sdk_suite/v3.0/platform/emdrv/uartdrv/src/uartdrv.c \
gecko_sdk_suite/v3.0/platform/emdrv/ustimer/src/ustimer.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_adc.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_cmu.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_core.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_emu.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_gpio.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_ldma.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_leuart.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_msc.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_rmu.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_rtcc.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_system.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_timer.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_usart.c \
gecko_sdk_suite/v3.0/platform/radio/rail_lib/hal/efr32/hal_efr.c \
gecko_sdk_suite/v3.0/platform/radio/rail_lib/hal/hal_common.c \
gecko_sdk_suite/v3.0/platform/radio/rail_lib/plugin/pa-conversions/pa_conversions_efr32.c \
gecko_sdk_suite/v3.0/platform/service/mpu/src/sl_mpu.c \
gecko_sdk_suite/v3.0/platform/service/sleeptimer/src/sl_sleeptimer.c \
gecko_sdk_suite/v3.0/platform/service/sleeptimer/src/sl_sleeptimer_hal_rtcc.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/library/ecp.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/crypto_aes.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/crypto_ecp.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/crypto_management.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/crypto_sha.c \
gecko_sdk_suite/v3.0/util/third_party/mbedtls/sl_crypto/src/shax.c \
SILABS_COMMON_SOURCES = \
rail_config/rail_config.c \
gecko_sdk_suite/v3.1/hardware/kit/common/bsp/bsp_bcc.c \
gecko_sdk_suite/v3.1/hardware/kit/common/bsp/bsp_init.c \
gecko_sdk_suite/v3.1/hardware/kit/common/bsp/bsp_stk.c \
gecko_sdk_suite/v3.1/hardware/kit/common/bsp/bsp_stk_leds.c \
gecko_sdk_suite/v3.1/platform/emdrv/dmadrv/src/dmadrv.c \
gecko_sdk_suite/v3.1/platform/emdrv/gpiointerrupt/src/gpiointerrupt.c \
gecko_sdk_suite/v3.1/platform/emdrv/nvm3/src/nvm3_default_common_linker.c \
gecko_sdk_suite/v3.1/platform/emdrv/nvm3/src/nvm3_hal_flash.c \
gecko_sdk_suite/v3.1/platform/emdrv/nvm3/src/nvm3_lock.c \
gecko_sdk_suite/v3.1/platform/emdrv/uartdrv/src/uartdrv.c \
gecko_sdk_suite/v3.1/platform/emdrv/ustimer/src/ustimer.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_cmu.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_core.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_emu.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_gpio.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_ldma.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_msc.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_rmu.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_rtcc.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_system.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_timer.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_usart.c \
gecko_sdk_suite/v3.1/platform/radio/rail_lib/hal/efr32/hal_efr.c \
gecko_sdk_suite/v3.1/platform/radio/rail_lib/hal/hal_common.c \
gecko_sdk_suite/v3.1/platform/radio/rail_lib/plugin/pa-conversions/pa_conversions_efr32.c \
gecko_sdk_suite/v3.1/platform/service/mpu/src/sl_mpu.c \
gecko_sdk_suite/v3.1/platform/service/device_init/src/sl_device_init_nvic.c \
gecko_sdk_suite/v3.1/platform/service/sleeptimer/src/sl_sleeptimer.c \
gecko_sdk_suite/v3.1/platform/service/sleeptimer/src/sl_sleeptimer_hal_rtcc.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_alt/source/sl_entropy.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_alt/source/sl_mbedtls.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/src/mbedtls_sha.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_psa_driver_init.c \
$(NULL)
# ==============================================================================
# Series-level _SOURCES
# ==============================================================================
SILABS_EFR32MG1X_SOURCES = \
gecko_sdk_suite/v3.1/platform/emlib/src/em_adc.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_crypto.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_leuart.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/src/crypto_aes.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/src/crypto_ecp.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/crypto_management.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_crypto_transparent_driver_aead.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_crypto_transparent_driver_cipher.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_crypto_transparent_driver_hash.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_crypto_transparent_driver_mac.c \
$(NULL)
SILABS_EFR32MG2X_SOURCES = \
gecko_sdk_suite/v3.1/platform/emlib/src/em_burtc.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_prs.c \
gecko_sdk_suite/v3.1/platform/emlib/src/em_se.c \
gecko_sdk_suite/v3.1/platform/service/sleeptimer/src/sl_sleeptimer_hal_burtc.c \
gecko_sdk_suite/v3.1/platform/service/sleeptimer/src/sl_sleeptimer_hal_prortc.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/se_manager/src/sl_se_manager_attestation.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/se_manager/src/sl_se_manager_cipher.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/se_manager/src/sl_se_manager_entropy.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/se_manager/src/sl_se_manager_hash.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/se_manager/src/sl_se_manager_key_derivation.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/se_manager/src/sl_se_manager_key_handling.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/se_manager/src/sl_se_manager_signature.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/se_manager/src/sl_se_manager_util.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/se_manager/src/sl_se_manager.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_alt/source/sl_se_management.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/src/mbedtls_cmac.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/src/mbedtls_ecdsa_ecdh.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/src/se_aes.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/src/se_ccm.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_mbedtls_support/src/se_jpake.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_driver_aead.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_driver_builtin_keys.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_driver_cipher.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_driver_key_derivation.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_driver_key_management.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_driver_mac.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_driver_signature.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_opaque_driver_aead.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_opaque_driver_cipher.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_opaque_driver_mac.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_opaque_key_derivation.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_transparent_driver_aead.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_transparent_driver_cipher.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_transparent_driver_hash.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_transparent_driver_mac.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_psa_driver/src/sli_se_transparent_key_derivation.c \
$(NULL)
# ==============================================================================
# Platform-level _SOURCES
# ==============================================================================
SILABS_EFR32MG1_SOURCES = \
gecko_sdk_suite/v3.0/platform/Device/SiliconLabs/EFR32MG1P/Source/system_efr32mg1p.c \
gecko_sdk_suite/v3.0/platform/Device/SiliconLabs/EFR32MG1P/Source/GCC/startup_efr32mg1p.c \
gecko_sdk_suite/v3.1/platform/Device/SiliconLabs/EFR32MG1P/Source/system_efr32mg1p.c \
gecko_sdk_suite/v3.1/platform/Device/SiliconLabs/EFR32MG1P/Source/GCC/startup_efr32mg1p.c \
gecko_sdk_suite/v3.1/util/third_party/crypto/sl_component/sl_alt/source/sl_entropy_adc.c \
$(SILABS_EFR32MG1X_SOURCES) \
$(NULL)
SILABS_EFR32MG12_SOURCES = \
gecko_sdk_suite/v3.0/platform/Device/SiliconLabs/EFR32MG12P/Source/system_efr32mg12p.c \
gecko_sdk_suite/v3.0/platform/Device/SiliconLabs/EFR32MG12P/Source/GCC/startup_efr32mg12p.c \
gecko_sdk_suite/v3.1/platform/Device/SiliconLabs/EFR32MG12P/Source/system_efr32mg12p.c \
gecko_sdk_suite/v3.1/platform/Device/SiliconLabs/EFR32MG12P/Source/GCC/startup_efr32mg12p.c \
$(SILABS_EFR32MG1X_SOURCES) \
$(NULL)
SILABS_EFR32MG13_SOURCES = \
gecko_sdk_suite/v3.0/hardware/kit/common/drivers/mx25flash_spi.c \
gecko_sdk_suite/v3.0/platform/Device/SiliconLabs/EFR32MG13P/Source/system_efr32mg13p.c \
gecko_sdk_suite/v3.0//platform/Device/SiliconLabs/EFR32MG13P/Source/GCC/startup_efr32mg13p.c \
SILABS_EFR32MG13_SOURCES = \
gecko_sdk_suite/v3.1/hardware/kit/common/drivers/mx25flash_spi.c \
gecko_sdk_suite/v3.1/platform/Device/SiliconLabs/EFR32MG13P/Source/system_efr32mg13p.c \
gecko_sdk_suite/v3.1/platform/Device/SiliconLabs/EFR32MG13P/Source/GCC/startup_efr32mg13p.c \
$(SILABS_EFR32MG1X_SOURCES) \
$(NULL)
SILABS_EFR32MG21_SOURCES = \
gecko_sdk_suite/v3.0/platform/Device/SiliconLabs/EFR32MG21/Source/system_efr32mg21.c \
gecko_sdk_suite/v3.0/platform/Device/SiliconLabs/EFR32MG21/Source/GCC/startup_efr32mg21.c \
gecko_sdk_suite/v3.0/platform/emlib/src/em_se.c \
gecko_sdk_suite/v3.1/platform/Device/SiliconLabs/EFR32MG21/Source/system_efr32mg21.c \
gecko_sdk_suite/v3.1/platform/Device/SiliconLabs/EFR32MG21/Source/GCC/startup_efr32mg21.c \
$(SILABS_EFR32MG2X_SOURCES)
$(NULL)
# ==============================================================================
libsilabs_efr32mg1_sdk_a_CPPFLAGS = \
$(SILABS_EFR32MG1_CPPFLAGS) \
$(SILABS_MBEDTLS_CPPFLAGS) \
$(COMMONCPPFLAGS) \
$(NULL)
@@ -253,6 +317,7 @@ libsilabs_efr32mg1_sdk_a_SOURCES
libsilabs_efr32mg12_sdk_a_CPPFLAGS = \
$(SILABS_EFR32MG12_CPPFLAGS) \
$(SILABS_MBEDTLS_CPPFLAGS) \
$(COMMONCPPFLAGS) \
$(NULL)
@@ -263,6 +328,7 @@ libsilabs_efr32mg12_sdk_a_SOURCES
libsilabs_efr32mg13_sdk_a_CPPFLAGS = \
$(SILABS_EFR32MG13_CPPFLAGS) \
$(SILABS_MBEDTLS_CPPFLAGS) \
$(COMMONCPPFLAGS) \
$(NULL)
@@ -273,6 +339,7 @@ libsilabs_efr32mg13_sdk_a_SOURCES
libsilabs_efr32mg21_sdk_a_CPPFLAGS = \
$(SILABS_EFR32MG21_CPPFLAGS) \
$(SILABS_MBEDTLS_CPPFLAGS) \
$(COMMONCPPFLAGS) \
$(NULL)
@@ -282,7 +349,7 @@ libsilabs_efr32mg21_sdk_a_SOURCES
$(NULL)
noinst_HEADERS = \
$(NULL)
$(NULL)
include $(abs_top_nlbuild_autotools_dir)/automake/post.am