diff --git a/matter/efr32/efr32mg24/BRD2601B/autogen/sl_board_default_init.c b/matter/efr32/efr32mg24/BRD2601B/autogen/sl_board_default_init.c
new file mode 100644
index 0000000000..c3a6b48665
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD2601B/autogen/sl_board_default_init.c
@@ -0,0 +1,34 @@
+/***************************************************************************//**
+ * @file
+ * @brief Board Default Init
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+#include "sl_board_control.h"
+
+void sl_board_default_init(void)
+{
+}
diff --git a/matter/efr32/efr32mg24/BRD2601B/autogen/sl_component_catalog.h b/matter/efr32/efr32mg24/BRD2601B/autogen/sl_component_catalog.h
index 5e302f33d5..46683e8206 100644
--- a/matter/efr32/efr32mg24/BRD2601B/autogen/sl_component_catalog.h
+++ b/matter/efr32/efr32mg24/BRD2601B/autogen/sl_component_catalog.h
@@ -15,10 +15,11 @@
#define SL_CATALOG_BLUETOOTH_RTOS_ADAPTATION_PRESENT
#define SL_CATALOG_BLUETOOTH_PRESENT
#define SL_CATALOG_BLUETOOTH_FEATURE_MULTIPROTOCOL_PRESENT
+#define SL_CATALOG_CLOCK_MANAGER_PRESENT
#define SL_CATALOG_CMSIS_OS_COMMON_PRESENT
+#define SL_CATALOG_DEVICE_INIT_PRESENT
#define SL_CATALOG_DEVICE_INIT_CORE_PRESENT
-#define SL_CATALOG_DEVICE_INIT_DPLL_PRESENT
-#define SL_CATALOG_DEVICE_INIT_HFXO_PRESENT
+#define SL_CATALOG_DEVICE_INIT_DCDC_PRESENT
#define SL_CATALOG_EMLIB_CORE_PRESENT
#define SL_CATALOG_EMLIB_CORE_DEBUG_CONFIG_PRESENT
#define SL_CATALOG_EMLIB_RMU_PRESENT
diff --git a/matter/efr32/efr32mg24/BRD2601B/autogen/sl_event_handler.c b/matter/efr32/efr32mg24/BRD2601B/autogen/sl_event_handler.c
index 1263fddd92..e313a27728 100644
--- a/matter/efr32/efr32mg24/BRD2601B/autogen/sl_event_handler.c
+++ b/matter/efr32/efr32mg24/BRD2601B/autogen/sl_event_handler.c
@@ -2,15 +2,16 @@
#include "em_chip.h"
#include "sl_interrupt_manager.h"
+#include "sl_board_init.h"
+#include "sl_clock_manager_init.h"
+#include "sl_device_init_dcdc.h"
#include "sl_clock_manager.h"
#include "sl_hfxo_manager.h"
-#include "sl_device_init_hfxo.h"
-#include "sl_device_init_dpll.h"
#include "SEGGER_RTT.h"
-#include "sl_memory_manager.h"
#include "pa_conversions_efr32.h"
#include "sl_rail_util_power_manager_init.h"
#include "sl_rail_util_pti.h"
+#include "sl_board_control.h"
#include "sl_bt_rtos_adaptation.h"
#include "sl_sleeptimer.h"
#include "gpiointerrupt.h"
@@ -36,12 +37,13 @@ void sl_platform_init(void)
{
CHIP_Init();
sl_interrupt_manager_init();
+ sl_board_preinit();
+ sl_clock_manager_init();
+ sl_device_init_dcdc();
sl_clock_manager_runtime_init();
sl_hfxo_manager_init_hardware();
- sl_device_init_hfxo();
- sl_device_init_dpll();
SEGGER_RTT_Init();
- sl_memory_init();
+ sl_board_init();
nvm3_initDefault();
osKernelInitialize();
sl_power_manager_init();
@@ -66,6 +68,7 @@ void sl_driver_init(void)
void sl_service_init(void)
{
+ sl_board_configure_vcom();
sl_sleeptimer_init();
sl_hfxo_manager_init();
sl_mbedtls_init();
diff --git a/matter/efr32/efr32mg24/BRD2601B/config/buffer_pool_allocator_config.h b/matter/efr32/efr32mg24/BRD2601B/config/buffer_pool_allocator_config.h
new file mode 100644
index 0000000000..2c3fd2e677
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD2601B/config/buffer_pool_allocator_config.h
@@ -0,0 +1,29 @@
+/***************************************************************************//**
+ * @file buffer_pool_allocator_config.h
+ * @brief Configuration file for buffer pool allocator.
+ * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com
+ ******************************************************************************/
+
+#ifndef __BUFFER_POOL_ALLOCATOR_CONFIG_H__
+#define __BUFFER_POOL_ALLOCATOR_CONFIG_H__
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// Memory Manager Configuration
+
+// Number Buffer Pools
+// <0-256:1>
+// Default: 5
+#define BUFFER_POOL_ALLOCATOR_POOL_SIZE 5
+
+// Length of Each Buffer Pool
+// <0-1024:1>
+// Default: 256
+#define BUFFER_POOL_ALLOCATOR_BUFFER_SIZE_MAX 256
+
+// Clear Each Newly Allocated Buffer
+#define BUFFER_POOL_ALLOCATOR_CLEAR_ON_INIT 0
+
+//
+// <<< end of configuration section >>>
+
+#endif // __BUFFER_POOL_ALLOCATOR_CONFIG_H__
diff --git a/matter/efr32/efr32mg24/BRD2601B/config/circular_queue_config.h b/matter/efr32/efr32mg24/BRD2601B/config/circular_queue_config.h
new file mode 100644
index 0000000000..81a7173d6a
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD2601B/config/circular_queue_config.h
@@ -0,0 +1,23 @@
+/***************************************************************************//**
+ * @file circular_queue_config.h
+ * @brief Configuration file for circular queue.
+ * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com
+ ******************************************************************************/
+
+#ifndef __CIRCULAR_QUEUE_CONFIG_H__
+#define __CIRCULAR_QUEUE_CONFIG_H__
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// Circular Queue Configuration
+
+// Max Queue Length
+// <0-256:1>
+// Default: 5
+#ifndef CIRCULAR_QUEUE_LEN_MAX
+#define CIRCULAR_QUEUE_LEN_MAX 16
+#endif
+
+//
+// <<< end of configuration section >>>
+
+#endif // __CIRCULAR_QUEUE_CONFIG_H__
diff --git a/matter/efr32/efr32mg24/BRD2601B/config/sl_board_control_config.h b/matter/efr32/efr32mg24/BRD2601B/config/sl_board_control_config.h
new file mode 100644
index 0000000000..01c4c6908b
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD2601B/config/sl_board_control_config.h
@@ -0,0 +1,106 @@
+/***************************************************************************//**
+ * @file
+ * @brief Board Control
+ *******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_BOARD_CONTROL_CONFIG_H
+#define SL_BOARD_CONTROL_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Enable Relative Humidity and Temperature sensor
+// Default: 0
+#define SL_BOARD_ENABLE_SENSOR_RHT 0
+
+// Enable Hall Effect sensor
+// Default: 0
+#define SL_BOARD_ENABLE_SENSOR_HALL 0
+
+// Enable Barometric Pressure sensor
+// Default: 0
+#define SL_BOARD_ENABLE_SENSOR_PRESSURE 0
+
+// Enable Light sensor
+// Default: 0
+#define SL_BOARD_ENABLE_SENSOR_LIGHT 0
+
+// Enable Inertial Measurement Unit
+// Default: 0
+#define SL_BOARD_ENABLE_SENSOR_IMU 0
+
+// Enable Microphone
+// Default: 0
+#define SL_BOARD_ENABLE_SENSOR_MICROPHONE 0
+
+// Disable SPI Flash
+// Default: 1
+#define SL_BOARD_DISABLE_MEMORY_SPI 1
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_BOARD_ENABLE_SENSOR_RHT
+// $[GPIO_SL_BOARD_ENABLE_SENSOR_RHT]
+#define SL_BOARD_ENABLE_SENSOR_RHT_PORT gpioPortC
+#define SL_BOARD_ENABLE_SENSOR_RHT_PIN 9
+// [GPIO_SL_BOARD_ENABLE_SENSOR_RHT]$
+
+// SL_BOARD_ENABLE_SENSOR_HALL
+// $[GPIO_SL_BOARD_ENABLE_SENSOR_HALL]
+#define SL_BOARD_ENABLE_SENSOR_HALL_PORT gpioPortC
+#define SL_BOARD_ENABLE_SENSOR_HALL_PIN 9
+// [GPIO_SL_BOARD_ENABLE_SENSOR_HALL]$
+
+// SL_BOARD_ENABLE_SENSOR_PRESSURE
+// $[GPIO_SL_BOARD_ENABLE_SENSOR_PRESSURE]
+#define SL_BOARD_ENABLE_SENSOR_PRESSURE_PORT gpioPortC
+#define SL_BOARD_ENABLE_SENSOR_PRESSURE_PIN 9
+// [GPIO_SL_BOARD_ENABLE_SENSOR_PRESSURE]$
+
+// SL_BOARD_ENABLE_SENSOR_LIGHT
+// $[GPIO_SL_BOARD_ENABLE_SENSOR_LIGHT]
+#define SL_BOARD_ENABLE_SENSOR_LIGHT_PORT gpioPortC
+#define SL_BOARD_ENABLE_SENSOR_LIGHT_PIN 9
+// [GPIO_SL_BOARD_ENABLE_SENSOR_LIGHT]$
+
+// SL_BOARD_ENABLE_SENSOR_IMU
+// $[GPIO_SL_BOARD_ENABLE_SENSOR_IMU]
+#define SL_BOARD_ENABLE_SENSOR_IMU_PORT gpioPortC
+#define SL_BOARD_ENABLE_SENSOR_IMU_PIN 9
+// [GPIO_SL_BOARD_ENABLE_SENSOR_IMU]$
+
+// SL_BOARD_ENABLE_SENSOR_MICROPHONE
+// $[GPIO_SL_BOARD_ENABLE_SENSOR_MICROPHONE]
+#define SL_BOARD_ENABLE_SENSOR_MICROPHONE_PORT gpioPortC
+#define SL_BOARD_ENABLE_SENSOR_MICROPHONE_PIN 8
+// [GPIO_SL_BOARD_ENABLE_SENSOR_MICROPHONE]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_BOARD_CONTROL_CONFIG_H
diff --git a/matter/efr32/efr32mg24/BRD2601B/config/sl_clock_manager_oscillator_config.h b/matter/efr32/efr32mg24/BRD2601B/config/sl_clock_manager_oscillator_config.h
new file mode 100644
index 0000000000..cd39c270af
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD2601B/config/sl_clock_manager_oscillator_config.h
@@ -0,0 +1,321 @@
+/***************************************************************************//**
+ * @file
+ * @brief Clock Manager - Oscillators configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H
+#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H
+
+// Oscillators Settings
+
+// HFXO Settings (if High Frequency crystal is used)
+// Enable to configure HFXO
+#ifndef SL_CLOCK_MANAGER_HFXO_EN
+#define SL_CLOCK_MANAGER_HFXO_EN 1
+#endif
+
+// Mode
+//
+// XTAL
+// EXTCLK
+// EXTCLKPKDET
+// HFXO_CFG_MODE_XTAL
+#ifndef SL_CLOCK_MANAGER_HFXO_MODE
+#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL
+#endif
+
+// Frequency <38000000-40000000>
+// 39000000
+#ifndef SL_CLOCK_MANAGER_HFXO_FREQ
+#define SL_CLOCK_MANAGER_HFXO_FREQ 39000000
+#endif
+
+// CTUNE <0-255>
+// 140
+#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE
+#define SL_CLOCK_MANAGER_HFXO_CTUNE 140
+#endif
+
+// Precision <0-65535>
+// 50
+#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION
+#define SL_CLOCK_MANAGER_HFXO_PRECISION 50
+#endif
+
+// HFXO crystal sharing feature
+// Enable to configure HFXO crystal sharing leader or follower
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN 0
+#endif
+
+// Crystal sharing leader
+// Enable to configure HFXO crystal sharing leader
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN 0
+#endif
+
+// Crystal sharing leader minimum startup delay
+// If enabled, BUFOUT does not start until timeout set in
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP expires.
+// This prevents waste of power if BUFOUT is ready too early.
+// 1
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN 1
+#endif
+
+// Wait duration of oscillator startup sequence
+//
+// T42US
+// T83US
+// T108US
+// T133US
+// T158US
+// T183US
+// T208US
+// T233US
+// T258US
+// T283US
+// T333US
+// T375US
+// T417US
+// T458US
+// T500US
+// T667US
+// HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US
+#endif
+//
+//
+
+// Crystal sharing follower
+// Enable to configure HFXO crystal sharing follower
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN 0
+#endif
+//
+
+// GPIO Port
+// Bufout request GPIO port. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+// is enabled, this port will be used to receive the BUFOUT request. If
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this port
+// will be used to request BUFOUT from the crystal sharing leader.
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT 0
+#endif
+
+// GPIO Pin
+// Bufout request GPIO pin. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+// is enabled, this pin will be used to receive the BUFOUT request. If
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this pin
+// will be used to request BUFOUT from the crystal sharing leader.
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN 10
+#endif
+//
+//
+
+// LFXO Settings (if Low Frequency crystal is used)
+// Enable to configure LFXO
+#ifndef SL_CLOCK_MANAGER_LFXO_EN
+#define SL_CLOCK_MANAGER_LFXO_EN 1
+#endif
+
+// Mode
+//
+// XTAL
+// BUFEXTCLK
+// DIGEXTCLK
+// LFXO_CFG_MODE_XTAL
+#ifndef SL_CLOCK_MANAGER_LFXO_MODE
+#define SL_CLOCK_MANAGER_LFXO_MODE LFXO_CFG_MODE_XTAL
+#endif
+
+// CTUNE <0-127>
+// 63
+#ifndef SL_CLOCK_MANAGER_LFXO_CTUNE
+#define SL_CLOCK_MANAGER_LFXO_CTUNE 63
+#endif
+
+// LFXO precision in PPM <0-65535>
+// 50
+#ifndef SL_CLOCK_MANAGER_LFXO_PRECISION
+#define SL_CLOCK_MANAGER_LFXO_PRECISION 50
+#endif
+
+// Startup Timeout Delay
+//
+// CYCLES2
+// CYCLES256
+// CYCLES1K
+// CYCLES2K
+// CYCLES4K
+// CYCLES8K
+// CYCLES16K
+// CYCLES32K
+// LFXO_CFG_TIMEOUT_CYCLES4K
+#ifndef SL_CLOCK_MANAGER_LFXO_TIMEOUT
+#define SL_CLOCK_MANAGER_LFXO_TIMEOUT LFXO_CFG_TIMEOUT_CYCLES4K
+#endif
+//
+
+// HFRCO and DPLL Settings
+// Frequency Band
+// RC Oscillator Frequency Band
+// 1 MHz
+// 2 MHz
+// 4 MHz
+// 7 MHz
+// 13 MHz
+// 16 MHz
+// 19 MHz
+// 26 MHz
+// 32 MHz
+// 38 MHz
+// 48 MHz
+// 56 MHz
+// 64 MHz
+// 80 MHz
+// cmuHFRCODPLLFreq_80M0Hz
+#ifndef SL_CLOCK_MANAGER_HFRCO_BAND
+#define SL_CLOCK_MANAGER_HFRCO_BAND cmuHFRCODPLLFreq_80M0Hz
+#endif
+
+// Use DPLL
+// Enable to use the DPLL with HFRCO
+#ifndef SL_CLOCK_MANAGER_HFRCO_DPLL_EN
+#define SL_CLOCK_MANAGER_HFRCO_DPLL_EN 1
+#endif
+
+// Target Frequency <1000000-80000000>
+// DPLL target frequency
+// 78000000
+#ifndef SL_CLOCK_MANAGER_DPLL_FREQ
+#define SL_CLOCK_MANAGER_DPLL_FREQ 78000000
+#endif
+
+// Numerator (N) <300-4095>
+// Value of N for output frequency calculation fout = fref * (N+1) / (M+1)
+// 3839
+#ifndef SL_CLOCK_MANAGER_DPLL_N
+#define SL_CLOCK_MANAGER_DPLL_N 3839
+#endif
+
+// Denominator (M) <0-4095>
+// Value of M for output frequency calculation fout = fref * (N+1) / (M+1)
+// 1919
+#ifndef SL_CLOCK_MANAGER_DPLL_M
+#define SL_CLOCK_MANAGER_DPLL_M 1919
+#endif
+
+// Reference Clock
+// Reference clock source for DPLL
+// DISABLED
+// HFXO
+// LFXO
+// CMU_DPLLREFCLKCTRL_CLKSEL_HFXO
+#ifndef SL_CLOCK_MANAGER_DPLL_REFCLK
+#define SL_CLOCK_MANAGER_DPLL_REFCLK CMU_DPLLREFCLKCTRL_CLKSEL_HFXO
+#endif
+
+// Reference Clock Edge Detect
+// Edge detection for reference clock
+// Falling Edge
+// Rising Edge
+// cmuDPLLEdgeSel_Fall
+#ifndef SL_CLOCK_MANAGER_DPLL_EDGE
+#define SL_CLOCK_MANAGER_DPLL_EDGE cmuDPLLEdgeSel_Fall
+#endif
+
+// DPLL Lock Mode
+// Lock mode
+// Frequency-Lock Loop
+// Phase-Lock Loop
+// cmuDPLLLockMode_Freq
+#ifndef SL_CLOCK_MANAGER_DPLL_LOCKMODE
+#define SL_CLOCK_MANAGER_DPLL_LOCKMODE cmuDPLLLockMode_Phase
+#endif
+
+// Automatic Lock Recovery
+// 1
+#ifndef SL_CLOCK_MANAGER_DPLL_AUTORECOVER
+#define SL_CLOCK_MANAGER_DPLL_AUTORECOVER 1
+#endif
+
+// Enable Dither
+// 0
+#ifndef SL_CLOCK_MANAGER_DPLL_DITHER
+#define SL_CLOCK_MANAGER_DPLL_DITHER 0
+#endif
+//
+//
+
+// HFRCOEM23 Settings
+// Frequency Band
+// RC Oscillator Frequency Band
+// 1 MHz
+// 2 MHz
+// 4 MHz
+// 13 MHz
+// 16 MHz
+// 19 MHz
+// 26 MHz
+// 32 MHz
+// 40 MHz
+// cmuHFRCOEM23Freq_19M0Hz
+#ifndef SL_CLOCK_MANAGER_HFRCOEM23_BAND
+#define SL_CLOCK_MANAGER_HFRCOEM23_BAND cmuHFRCOEM23Freq_19M0Hz
+#endif
+//
+
+// LFRCO Settings
+// Precision Mode
+// Precision mode uses hardware to automatically re-calibrate the LFRCO
+// against a crystal driven by the HFXO. Hardware detects temperature
+// changes and initiates a re-calibration of the LFRCO as needed when
+// operating in EM0, EM1, or EM2. If a re-calibration is necessary and the
+// HFXO is not active, the precision mode hardware will automatically
+// enable HFXO for a short time to perform the calibration. EM4 operation is
+// not allowed while precision mode is enabled.
+// If high precision is selected on devices that do not support it, default
+// precision will be used.
+// Default precision
+// High precision
+// cmuPrecisionDefault
+#ifndef SL_CLOCK_MANAGER_LFRCO_PRECISION
+#define SL_CLOCK_MANAGER_LFRCO_PRECISION cmuPrecisionDefault
+#endif
+//
+
+//
+
+#endif /* SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H */
+
+// <<< end of configuration section >>>
diff --git a/matter/efr32/efr32mg24/BRD2601B/config/sl_clock_manager_tree_config.h b/matter/efr32/efr32mg24/BRD2601B/config/sl_clock_manager_tree_config.h
new file mode 100644
index 0000000000..ff9a50a254
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD2601B/config/sl_clock_manager_tree_config.h
@@ -0,0 +1,282 @@
+/***************************************************************************//**
+ * @file
+ * @brief Clock Manager - Clock Tree configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CLOCK_MANAGER_TREE_CONFIG_H
+#define SL_CLOCK_MANAGER_TREE_CONFIG_H
+
+// Internal Defines: DO NOT MODIFY
+// Those defines are used internally to help converting the DEFAULT_HF_CLOCK_SOURCE and DEFAULT_LF_CLOCK_SOURCE
+// selection of each clock branch to the right HW register value.
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL 0xFF
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO 0xFE
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_FSRCO 0xFD
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO 0xFC
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO 0xFB
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_ULFRCO 0xFA
+
+// Clock Tree Settings
+
+// Default Clock Source Selection for HF clock branches
+// HFRCODPLL
+// HFXO
+// FSRCO
+// Selection of the high frequency clock source. HF clock branches can select this value by chosing the DEFAULT_HF value.
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL
+#ifndef SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO
+#endif
+
+// Default Clock Source Selection for LF clock branches
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the low frequency clock source. LF clock branches can select this value by chosing the DEFAULT_HF value.
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO
+#ifndef SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO
+#endif
+
+// System Clock Branch Settings
+
+// Clock Source Selection for SYSCLK branch
+// DEFAULT_HF
+// FSRCO
+// HFRCODPLL
+// HFXO
+// Selection of the Clock source for SYSCLK
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_SYSCLK_SOURCE
+#define SL_CLOCK_MANAGER_SYSCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#endif
+
+// HCLK branch divider
+// DIV1
+// DIV2
+// DIV4
+// DIV8
+// DIV16
+// HCLK branch is derived from SYSCLK. This clock drives the AHB bus interface.
+// CMU_SYSCLKCTRL_HCLKPRESC_DIV1
+#ifndef SL_CLOCK_MANAGER_HCLK_DIVIDER
+#define SL_CLOCK_MANAGER_HCLK_DIVIDER CMU_SYSCLKCTRL_HCLKPRESC_DIV1
+#endif
+
+// PCLK branch divider
+// DIV1
+// DIV2
+// PCLK branch is derived from HCLK. This clock drives the APB bus interface.
+// CMU_SYSCLKCTRL_PCLKPRESC_DIV2
+#ifndef SL_CLOCK_MANAGER_PCLK_DIVIDER
+#define SL_CLOCK_MANAGER_PCLK_DIVIDER CMU_SYSCLKCTRL_PCLKPRESC_DIV2
+#endif
+
+//
+
+// Trace Clock Branches Settings
+// Clock Source Selection for TRACECLK branch
+// DISABLE
+// SYSCLK
+// HFRCOEM23
+// HFRCODPLLRT
+// Selection of the Clock source for TRACECLK
+// CMU_TRACECLKCTRL_CLKSEL_SYSCLK
+#ifndef SL_CLOCK_MANAGER_TRACECLK_SOURCE
+#define SL_CLOCK_MANAGER_TRACECLK_SOURCE CMU_TRACECLKCTRL_CLKSEL_SYSCLK
+#endif
+
+// TRACECLK branch Divider
+// DIV1
+// DIV2
+// DIV3
+// DIV4
+// Selection of the divider value for TRACECLK branch
+// CMU_TRACECLKCTRL_PRESC_DIV1
+#ifndef SL_CLOCK_MANAGER_TRACECLK_DIVIDER
+#define SL_CLOCK_MANAGER_TRACECLK_DIVIDER CMU_TRACECLKCTRL_PRESC_DIV1
+#endif
+
+//
+
+// High Frequency Clock Branches Settings
+// Each HF Clock Tree branch can be customized, else the same clock source as for SYSCLK will be used when possible
+// EM01GRPACLK clock the Timer peripherals
+// Clock Source Selection for EM01GRPACLK branch
+// DEFAULT_HF
+// HFRCODPLL
+// HFXO
+// FSRCO
+// HFRCOEM23
+// HFRCODPLLRT
+// HFXORT
+// Selection of the Clock source for EM01GRPACLK
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE
+#define SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for EM01GRPCCLK branch
+// DEFAULT_HF
+// HFRCODPLL
+// HFXO
+// FSRCO
+// HFRCOEM23
+// HFRCODPLLRT
+// HFXORT
+// Selection of the Clock source for EM01GRPCCLK
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE
+#define SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for IADCCLK branch
+// EM01GRPACLK
+// FSRCO
+// HFRCOEM23
+// Selection of the Clock source for IADCCLK
+// CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK
+#ifndef SL_CLOCK_MANAGER_IADCCLK_SOURCE
+#define SL_CLOCK_MANAGER_IADCCLK_SOURCE CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK
+#endif
+
+//
+
+// Low Frequency Clock Branches Settings
+
+// Clock Source Selection for EM23GRPACLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the Clock source for EM23GRPACLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE
+#define SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for EM4GRPACLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the Clock source for EM4GRPACLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE
+#define SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for SYSRTCCLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the Clock source for SYSRTCCLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE
+#define SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for WDOG0CLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// HCLKDIV1024
+// Selection of the Clock source for WDOG0CLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_WDOG0CLK_SOURCE
+#define SL_CLOCK_MANAGER_WDOG0CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for WDOG1CLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// HCLKDIV1024
+// Selection of the Clock source for WDOG1CLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_WDOG1CLK_SOURCE
+#define SL_CLOCK_MANAGER_WDOG1CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for PCNT0CLK branch
+// DISABLED
+// EM23GRPACLK
+// PCNTS0
+// Selection of the Clock source for PCNT0CLK
+// CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK
+#ifndef SL_CLOCK_MANAGER_PCNT0CLK_SOURCE
+#define SL_CLOCK_MANAGER_PCNT0CLK_SOURCE CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK
+#endif
+
+//
+
+// Mixed Frequency Clock Branch Settings
+// Clock Source Selection for EUSART0CLK branch
+// DISABLED
+// EM01GRPCCLK
+// HFRCOEM23
+// LFRCO
+// LFXO
+// Selection of the Clock source for EUSART0CLK
+// CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK
+#ifndef SL_CLOCK_MANAGER_EUSART0CLK_SOURCE
+#define SL_CLOCK_MANAGER_EUSART0CLK_SOURCE CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK
+#endif
+
+// Clock Source Selection for SYSTICKCLK branch
+// <0=> HCLK
+// <1=> EM23GRPACLK
+// Selection of the Clock source for SYSTICKCLK
+// 0
+#ifndef SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE
+#define SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE 0
+#endif
+
+// Clock Source Selection for VDAC0CLK branch
+// DISABLED
+// EM01GRPACLK
+// EM23GRPACLK
+// FSRCO
+// HFRCOEM23
+// Selection of the Clock source for VDAC0CLK
+// CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK
+#ifndef SL_CLOCK_MANAGER_VDAC0CLK_SOURCE
+#define SL_CLOCK_MANAGER_VDAC0CLK_SOURCE CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK
+#endif
+
+//
+//
+
+#endif /* SL_CLOCK_MANAGER_TREE_CONFIG_H */
+
+// <<< end of configuration section >>>
diff --git a/matter/efr32/efr32mg24/BRD4186A/config/sl_device_init_hfxo_config.h b/matter/efr32/efr32mg24/BRD2601B/config/sl_device_init_dcdc_config.h
similarity index 65%
rename from matter/efr32/efr32mg24/BRD4186A/config/sl_device_init_hfxo_config.h
rename to matter/efr32/efr32mg24/BRD2601B/config/sl_device_init_dcdc_config.h
index 2ad97ef495..4fb88397d2 100644
--- a/matter/efr32/efr32mg24/BRD4186A/config/sl_device_init_hfxo_config.h
+++ b/matter/efr32/efr32mg24/BRD2601B/config/sl_device_init_dcdc_config.h
@@ -1,6 +1,6 @@
/***************************************************************************//**
* @file
- * @brief DEVICE_INIT_HFXO Config
+ * @brief DEVICE_INIT_DCDC Config
*******************************************************************************
* # License
* Copyright 2022 Silicon Laboratories Inc. www.silabs.com
@@ -28,30 +28,31 @@
*
******************************************************************************/
-#ifndef SL_DEVICE_INIT_HFXO_CONFIG_H
-#define SL_DEVICE_INIT_HFXO_CONFIG_H
+#ifndef SL_DEVICE_INIT_DCDC_CONFIG_H
+#define SL_DEVICE_INIT_DCDC_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
-// Mode
+// Enable DC/DC Converter
//
-// Crystal oscillator
-// External sine wave
-// Default: cmuHfxoOscMode_Crystal
-#define SL_DEVICE_INIT_HFXO_MODE cmuHfxoOscMode_Crystal
+// Default: 1
+#define SL_DEVICE_INIT_DCDC_ENABLE 1
-// Frequency <38000000-40000000>
-// Default: 39000000
-#define SL_DEVICE_INIT_HFXO_FREQ 39000000
+// Set DC/DC Converter in Bypass Mode
+//
+// Default: 0
+#define SL_DEVICE_INIT_DCDC_BYPASS 0
-// HFXO precision in PPM <0-65535>
-// Default: 50
-#define SL_DEVICE_INIT_HFXO_PRECISION 50
+// Override for DCDC PFMX Mode Peak Current Setting
+//
+// Default: 1
+#define SL_DEVICE_INIT_DCDC_PFMX_IPKVAL_OVERRIDE 1
-// CTUNE <0-255>
-// Default: 140
-#define SL_DEVICE_INIT_HFXO_CTUNE 87
+// DCDC PFMX Mode Peak Current Setting <0-15>
+//
+// Default: DCDC_PFMXCTRL_IPKVAL_DEFAULT
+#define SL_DEVICE_INIT_DCDC_PFMX_IPKVAL 12
// <<< end of configuration section >>>
-#endif // SL_DEVICE_INIT_HFXO_CONFIG_H
+#endif // SL_DEVICE_INIT_DCDC_CONFIG_H
diff --git a/matter/efr32/efr32mg24/BRD2601B/config/sl_device_init_dpll_config.h b/matter/efr32/efr32mg24/BRD2601B/config/sl_device_init_dpll_config.h
deleted file mode 100644
index eea3705c71..0000000000
--- a/matter/efr32/efr32mg24/BRD2601B/config/sl_device_init_dpll_config.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/***************************************************************************//**
- * @file
- * @brief DEVICE_INIT_DPLL Config
- *******************************************************************************
- * # License
- * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
- *******************************************************************************
- *
- * SPDX-License-Identifier: Zlib
- *
- * The licensor of this software is Silicon Laboratories Inc.
- *
- * This software is provided 'as-is', without any express or implied
- * warranty. In no event will the authors be held liable for any damages
- * arising from the use of this software.
- *
- * Permission is granted to anyone to use this software for any purpose,
- * including commercial applications, and to alter it and redistribute it
- * freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you must not
- * claim that you wrote the original software. If you use this software
- * in a product, an acknowledgment in the product documentation would be
- * appreciated but is not required.
- * 2. Altered source versions must be plainly marked as such, and must not be
- * misrepresented as being the original software.
- * 3. This notice may not be removed or altered from any source distribution.
- *
- ******************************************************************************/
-
-#ifndef SL_DEVICE_INIT_DPLL_CONFIG_H
-#define SL_DEVICE_INIT_DPLL_CONFIG_H
-
-// <<< Use Configuration Wizard in Context Menu >>>
-
-// Target Frequency <1000000-80000000>
-// DPLL target frequency
-// Default: 78000000
-#define SL_DEVICE_INIT_DPLL_FREQ 78000000
-
-// Numerator (N) <300-4095>
-// Value of N for output frequency calculation fout = fref * (N+1) / (M+1)
-// Default: 3839
-#define SL_DEVICE_INIT_DPLL_N 3839
-
-// Denominator (M) <0-4095>
-// Value of M for output frequency calculation fout = fref * (N+1) / (M+1)
-// Default: 1919
-#define SL_DEVICE_INIT_DPLL_M 1919
-
-// Reference Clock
-// Reference clock source for DPLL
-// HFXO
-// LFXO
-// CLKIN0
-// Default: cmuSelect_HFXO
-#define SL_DEVICE_INIT_DPLL_REFCLK cmuSelect_HFXO
-
-// Reference Clock Edge Detect
-// Edge detection for reference clock
-// Falling Edge
-// Rising Edge
-// Default: cmuDPLLEdgeSel_Fall
-#define SL_DEVICE_INIT_DPLL_EDGE cmuDPLLEdgeSel_Fall
-
-// DPLL Lock Mode
-// Lock mode
-// Frequency-Lock Loop
-// Phase-Lock Loop
-// Default: cmuDPLLLockMode_Freq
-#define SL_DEVICE_INIT_DPLL_LOCKMODE cmuDPLLLockMode_Phase
-
-// Automatic Lock Recovery
-// Default: 1
-#define SL_DEVICE_INIT_DPLL_AUTORECOVER 1
-
-// Enable Dither
-// Default: 0
-#define SL_DEVICE_INIT_DPLL_DITHER 0
-
-// <<< end of configuration section >>>
-
-#endif // SL_DEVICE_INIT_DPLL_CONFIG_H
diff --git a/matter/efr32/efr32mg24/BRD2601B/config/sl_memory_manager_region_config.h b/matter/efr32/efr32mg24/BRD2601B/config/sl_memory_manager_region_config.h
index f940d40ec4..f34bb11775 100644
--- a/matter/efr32/efr32mg24/BRD2601B/config/sl_memory_manager_region_config.h
+++ b/matter/efr32/efr32mg24/BRD2601B/config/sl_memory_manager_region_config.h
@@ -40,7 +40,7 @@
// The stack size configured here will be used by the stack that the
// application uses when coming out of a reset.
#ifndef SL_STACK_SIZE
-#define SL_STACK_SIZE 0
+#define SL_STACK_SIZE 4608
#endif
//
diff --git a/matter/efr32/efr32mg24/BRD2703A/autogen/sl_board_default_init.c b/matter/efr32/efr32mg24/BRD2703A/autogen/sl_board_default_init.c
new file mode 100644
index 0000000000..c3a6b48665
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD2703A/autogen/sl_board_default_init.c
@@ -0,0 +1,34 @@
+/***************************************************************************//**
+ * @file
+ * @brief Board Default Init
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+#include "sl_board_control.h"
+
+void sl_board_default_init(void)
+{
+}
diff --git a/matter/efr32/efr32mg24/BRD2703A/autogen/sl_component_catalog.h b/matter/efr32/efr32mg24/BRD2703A/autogen/sl_component_catalog.h
index 6f24244a52..26e5a7a321 100644
--- a/matter/efr32/efr32mg24/BRD2703A/autogen/sl_component_catalog.h
+++ b/matter/efr32/efr32mg24/BRD2703A/autogen/sl_component_catalog.h
@@ -15,10 +15,11 @@
#define SL_CATALOG_BLUETOOTH_RTOS_ADAPTATION_PRESENT
#define SL_CATALOG_BLUETOOTH_PRESENT
#define SL_CATALOG_BLUETOOTH_FEATURE_MULTIPROTOCOL_PRESENT
+#define SL_CATALOG_CLOCK_MANAGER_PRESENT
#define SL_CATALOG_CMSIS_OS_COMMON_PRESENT
+#define SL_CATALOG_DEVICE_INIT_PRESENT
#define SL_CATALOG_DEVICE_INIT_CORE_PRESENT
-#define SL_CATALOG_DEVICE_INIT_DPLL_PRESENT
-#define SL_CATALOG_DEVICE_INIT_HFXO_PRESENT
+#define SL_CATALOG_DEVICE_INIT_DCDC_PRESENT
#define SL_CATALOG_EMLIB_CORE_PRESENT
#define SL_CATALOG_EMLIB_CORE_DEBUG_CONFIG_PRESENT
#define SL_CATALOG_EMLIB_RMU_PRESENT
diff --git a/matter/efr32/efr32mg24/BRD2703A/autogen/sl_event_handler.c b/matter/efr32/efr32mg24/BRD2703A/autogen/sl_event_handler.c
index 8f74982292..5fb9720854 100644
--- a/matter/efr32/efr32mg24/BRD2703A/autogen/sl_event_handler.c
+++ b/matter/efr32/efr32mg24/BRD2703A/autogen/sl_event_handler.c
@@ -2,15 +2,16 @@
#include "em_chip.h"
#include "sl_interrupt_manager.h"
+#include "sl_board_init.h"
+#include "sl_clock_manager_init.h"
+#include "sl_device_init_dcdc.h"
#include "sl_clock_manager.h"
#include "sl_hfxo_manager.h"
-#include "sl_device_init_hfxo.h"
-#include "sl_device_init_dpll.h"
#include "SEGGER_RTT.h"
-#include "sl_memory_manager.h"
#include "pa_conversions_efr32.h"
#include "sl_rail_util_power_manager_init.h"
#include "sl_rail_util_pti.h"
+#include "sl_board_control.h"
#include "sl_bt_rtos_adaptation.h"
#include "sl_sleeptimer.h"
#include "gpiointerrupt.h"
@@ -33,12 +34,13 @@ void sl_platform_init(void)
{
CHIP_Init();
sl_interrupt_manager_init();
+ sl_board_preinit();
+ sl_clock_manager_init();
+ sl_device_init_dcdc();
sl_clock_manager_runtime_init();
sl_hfxo_manager_init_hardware();
- sl_device_init_hfxo();
- sl_device_init_dpll();
SEGGER_RTT_Init();
- sl_memory_init();
+ sl_board_init();
nvm3_initDefault();
osKernelInitialize();
sl_power_manager_init();
@@ -62,6 +64,7 @@ void sl_driver_init(void)
void sl_service_init(void)
{
+ sl_board_configure_vcom();
sl_sleeptimer_init();
sl_hfxo_manager_init();
sl_mbedtls_init();
diff --git a/matter/efr32/efr32mg24/BRD2703A/config/buffer_pool_allocator_config.h b/matter/efr32/efr32mg24/BRD2703A/config/buffer_pool_allocator_config.h
new file mode 100644
index 0000000000..2c3fd2e677
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD2703A/config/buffer_pool_allocator_config.h
@@ -0,0 +1,29 @@
+/***************************************************************************//**
+ * @file buffer_pool_allocator_config.h
+ * @brief Configuration file for buffer pool allocator.
+ * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com
+ ******************************************************************************/
+
+#ifndef __BUFFER_POOL_ALLOCATOR_CONFIG_H__
+#define __BUFFER_POOL_ALLOCATOR_CONFIG_H__
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// Memory Manager Configuration
+
+// Number Buffer Pools
+// <0-256:1>
+// Default: 5
+#define BUFFER_POOL_ALLOCATOR_POOL_SIZE 5
+
+// Length of Each Buffer Pool
+// <0-1024:1>
+// Default: 256
+#define BUFFER_POOL_ALLOCATOR_BUFFER_SIZE_MAX 256
+
+// Clear Each Newly Allocated Buffer
+#define BUFFER_POOL_ALLOCATOR_CLEAR_ON_INIT 0
+
+//
+// <<< end of configuration section >>>
+
+#endif // __BUFFER_POOL_ALLOCATOR_CONFIG_H__
diff --git a/matter/efr32/efr32mg24/BRD2703A/config/circular_queue_config.h b/matter/efr32/efr32mg24/BRD2703A/config/circular_queue_config.h
new file mode 100644
index 0000000000..81a7173d6a
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD2703A/config/circular_queue_config.h
@@ -0,0 +1,23 @@
+/***************************************************************************//**
+ * @file circular_queue_config.h
+ * @brief Configuration file for circular queue.
+ * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com
+ ******************************************************************************/
+
+#ifndef __CIRCULAR_QUEUE_CONFIG_H__
+#define __CIRCULAR_QUEUE_CONFIG_H__
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// Circular Queue Configuration
+
+// Max Queue Length
+// <0-256:1>
+// Default: 5
+#ifndef CIRCULAR_QUEUE_LEN_MAX
+#define CIRCULAR_QUEUE_LEN_MAX 16
+#endif
+
+//
+// <<< end of configuration section >>>
+
+#endif // __CIRCULAR_QUEUE_CONFIG_H__
diff --git a/matter/efr32/efr32mg24/BRD2703A/config/sl_board_control_config.h b/matter/efr32/efr32mg24/BRD2703A/config/sl_board_control_config.h
new file mode 100644
index 0000000000..ad7793aa7e
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD2703A/config/sl_board_control_config.h
@@ -0,0 +1,42 @@
+/***************************************************************************//**
+ * @file
+ * @brief Board Control
+ *******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_BOARD_CONTROL_CONFIG_H
+#define SL_BOARD_CONTROL_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_BOARD_CONTROL_CONFIG_H
diff --git a/matter/efr32/efr32mg24/BRD2703A/config/sl_clock_manager_oscillator_config.h b/matter/efr32/efr32mg24/BRD2703A/config/sl_clock_manager_oscillator_config.h
new file mode 100644
index 0000000000..516ec1173a
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD2703A/config/sl_clock_manager_oscillator_config.h
@@ -0,0 +1,321 @@
+/***************************************************************************//**
+ * @file
+ * @brief Clock Manager - Oscillators configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H
+#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H
+
+// Oscillators Settings
+
+// HFXO Settings (if High Frequency crystal is used)
+// Enable to configure HFXO
+#ifndef SL_CLOCK_MANAGER_HFXO_EN
+#define SL_CLOCK_MANAGER_HFXO_EN 1
+#endif
+
+// Mode
+//
+// XTAL
+// EXTCLK
+// EXTCLKPKDET
+// HFXO_CFG_MODE_XTAL
+#ifndef SL_CLOCK_MANAGER_HFXO_MODE
+#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL
+#endif
+
+// Frequency <38000000-40000000>
+// 39000000
+#ifndef SL_CLOCK_MANAGER_HFXO_FREQ
+#define SL_CLOCK_MANAGER_HFXO_FREQ 39000000
+#endif
+
+// CTUNE <0-255>
+// 140
+#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE
+#define SL_CLOCK_MANAGER_HFXO_CTUNE 100
+#endif
+
+// Precision <0-65535>
+// 50
+#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION
+#define SL_CLOCK_MANAGER_HFXO_PRECISION 50
+#endif
+
+// HFXO crystal sharing feature
+// Enable to configure HFXO crystal sharing leader or follower
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN 0
+#endif
+
+// Crystal sharing leader
+// Enable to configure HFXO crystal sharing leader
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN 0
+#endif
+
+// Crystal sharing leader minimum startup delay
+// If enabled, BUFOUT does not start until timeout set in
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP expires.
+// This prevents waste of power if BUFOUT is ready too early.
+// 1
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN 1
+#endif
+
+// Wait duration of oscillator startup sequence
+//
+// T42US
+// T83US
+// T108US
+// T133US
+// T158US
+// T183US
+// T208US
+// T233US
+// T258US
+// T283US
+// T333US
+// T375US
+// T417US
+// T458US
+// T500US
+// T667US
+// HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US
+#endif
+//
+//
+
+// Crystal sharing follower
+// Enable to configure HFXO crystal sharing follower
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN 0
+#endif
+//
+
+// GPIO Port
+// Bufout request GPIO port. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+// is enabled, this port will be used to receive the BUFOUT request. If
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this port
+// will be used to request BUFOUT from the crystal sharing leader.
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT 0
+#endif
+
+// GPIO Pin
+// Bufout request GPIO pin. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+// is enabled, this pin will be used to receive the BUFOUT request. If
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this pin
+// will be used to request BUFOUT from the crystal sharing leader.
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN 10
+#endif
+//
+//
+
+// LFXO Settings (if Low Frequency crystal is used)
+// Enable to configure LFXO
+#ifndef SL_CLOCK_MANAGER_LFXO_EN
+#define SL_CLOCK_MANAGER_LFXO_EN 1
+#endif
+
+// Mode
+//
+// XTAL
+// BUFEXTCLK
+// DIGEXTCLK
+// LFXO_CFG_MODE_XTAL
+#ifndef SL_CLOCK_MANAGER_LFXO_MODE
+#define SL_CLOCK_MANAGER_LFXO_MODE LFXO_CFG_MODE_XTAL
+#endif
+
+// CTUNE <0-127>
+// 63
+#ifndef SL_CLOCK_MANAGER_LFXO_CTUNE
+#define SL_CLOCK_MANAGER_LFXO_CTUNE 37
+#endif
+
+// LFXO precision in PPM <0-65535>
+// 50
+#ifndef SL_CLOCK_MANAGER_LFXO_PRECISION
+#define SL_CLOCK_MANAGER_LFXO_PRECISION 50
+#endif
+
+// Startup Timeout Delay
+//
+// CYCLES2
+// CYCLES256
+// CYCLES1K
+// CYCLES2K
+// CYCLES4K
+// CYCLES8K
+// CYCLES16K
+// CYCLES32K
+// LFXO_CFG_TIMEOUT_CYCLES4K
+#ifndef SL_CLOCK_MANAGER_LFXO_TIMEOUT
+#define SL_CLOCK_MANAGER_LFXO_TIMEOUT LFXO_CFG_TIMEOUT_CYCLES4K
+#endif
+//
+
+// HFRCO and DPLL Settings
+// Frequency Band
+// RC Oscillator Frequency Band
+// 1 MHz
+// 2 MHz
+// 4 MHz
+// 7 MHz
+// 13 MHz
+// 16 MHz
+// 19 MHz
+// 26 MHz
+// 32 MHz
+// 38 MHz
+// 48 MHz
+// 56 MHz
+// 64 MHz
+// 80 MHz
+// cmuHFRCODPLLFreq_80M0Hz
+#ifndef SL_CLOCK_MANAGER_HFRCO_BAND
+#define SL_CLOCK_MANAGER_HFRCO_BAND cmuHFRCODPLLFreq_80M0Hz
+#endif
+
+// Use DPLL
+// Enable to use the DPLL with HFRCO
+#ifndef SL_CLOCK_MANAGER_HFRCO_DPLL_EN
+#define SL_CLOCK_MANAGER_HFRCO_DPLL_EN 1
+#endif
+
+// Target Frequency <1000000-80000000>
+// DPLL target frequency
+// 78000000
+#ifndef SL_CLOCK_MANAGER_DPLL_FREQ
+#define SL_CLOCK_MANAGER_DPLL_FREQ 78000000
+#endif
+
+// Numerator (N) <300-4095>
+// Value of N for output frequency calculation fout = fref * (N+1) / (M+1)
+// 3839
+#ifndef SL_CLOCK_MANAGER_DPLL_N
+#define SL_CLOCK_MANAGER_DPLL_N 3839
+#endif
+
+// Denominator (M) <0-4095>
+// Value of M for output frequency calculation fout = fref * (N+1) / (M+1)
+// 1919
+#ifndef SL_CLOCK_MANAGER_DPLL_M
+#define SL_CLOCK_MANAGER_DPLL_M 1919
+#endif
+
+// Reference Clock
+// Reference clock source for DPLL
+// DISABLED
+// HFXO
+// LFXO
+// CMU_DPLLREFCLKCTRL_CLKSEL_HFXO
+#ifndef SL_CLOCK_MANAGER_DPLL_REFCLK
+#define SL_CLOCK_MANAGER_DPLL_REFCLK CMU_DPLLREFCLKCTRL_CLKSEL_HFXO
+#endif
+
+// Reference Clock Edge Detect
+// Edge detection for reference clock
+// Falling Edge
+// Rising Edge
+// cmuDPLLEdgeSel_Fall
+#ifndef SL_CLOCK_MANAGER_DPLL_EDGE
+#define SL_CLOCK_MANAGER_DPLL_EDGE cmuDPLLEdgeSel_Fall
+#endif
+
+// DPLL Lock Mode
+// Lock mode
+// Frequency-Lock Loop
+// Phase-Lock Loop
+// cmuDPLLLockMode_Freq
+#ifndef SL_CLOCK_MANAGER_DPLL_LOCKMODE
+#define SL_CLOCK_MANAGER_DPLL_LOCKMODE cmuDPLLLockMode_Phase
+#endif
+
+// Automatic Lock Recovery
+// 1
+#ifndef SL_CLOCK_MANAGER_DPLL_AUTORECOVER
+#define SL_CLOCK_MANAGER_DPLL_AUTORECOVER 1
+#endif
+
+// Enable Dither
+// 0
+#ifndef SL_CLOCK_MANAGER_DPLL_DITHER
+#define SL_CLOCK_MANAGER_DPLL_DITHER 0
+#endif
+//
+//
+
+// HFRCOEM23 Settings
+// Frequency Band
+// RC Oscillator Frequency Band
+// 1 MHz
+// 2 MHz
+// 4 MHz
+// 13 MHz
+// 16 MHz
+// 19 MHz
+// 26 MHz
+// 32 MHz
+// 40 MHz
+// cmuHFRCOEM23Freq_19M0Hz
+#ifndef SL_CLOCK_MANAGER_HFRCOEM23_BAND
+#define SL_CLOCK_MANAGER_HFRCOEM23_BAND cmuHFRCOEM23Freq_19M0Hz
+#endif
+//
+
+// LFRCO Settings
+// Precision Mode
+// Precision mode uses hardware to automatically re-calibrate the LFRCO
+// against a crystal driven by the HFXO. Hardware detects temperature
+// changes and initiates a re-calibration of the LFRCO as needed when
+// operating in EM0, EM1, or EM2. If a re-calibration is necessary and the
+// HFXO is not active, the precision mode hardware will automatically
+// enable HFXO for a short time to perform the calibration. EM4 operation is
+// not allowed while precision mode is enabled.
+// If high precision is selected on devices that do not support it, default
+// precision will be used.
+// Default precision
+// High precision
+// cmuPrecisionDefault
+#ifndef SL_CLOCK_MANAGER_LFRCO_PRECISION
+#define SL_CLOCK_MANAGER_LFRCO_PRECISION cmuPrecisionDefault
+#endif
+//
+
+//
+
+#endif /* SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H */
+
+// <<< end of configuration section >>>
diff --git a/matter/efr32/efr32mg24/BRD2703A/config/sl_clock_manager_tree_config.h b/matter/efr32/efr32mg24/BRD2703A/config/sl_clock_manager_tree_config.h
new file mode 100644
index 0000000000..ff9a50a254
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD2703A/config/sl_clock_manager_tree_config.h
@@ -0,0 +1,282 @@
+/***************************************************************************//**
+ * @file
+ * @brief Clock Manager - Clock Tree configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CLOCK_MANAGER_TREE_CONFIG_H
+#define SL_CLOCK_MANAGER_TREE_CONFIG_H
+
+// Internal Defines: DO NOT MODIFY
+// Those defines are used internally to help converting the DEFAULT_HF_CLOCK_SOURCE and DEFAULT_LF_CLOCK_SOURCE
+// selection of each clock branch to the right HW register value.
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL 0xFF
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO 0xFE
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_FSRCO 0xFD
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO 0xFC
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO 0xFB
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_ULFRCO 0xFA
+
+// Clock Tree Settings
+
+// Default Clock Source Selection for HF clock branches
+// HFRCODPLL
+// HFXO
+// FSRCO
+// Selection of the high frequency clock source. HF clock branches can select this value by chosing the DEFAULT_HF value.
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL
+#ifndef SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO
+#endif
+
+// Default Clock Source Selection for LF clock branches
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the low frequency clock source. LF clock branches can select this value by chosing the DEFAULT_HF value.
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO
+#ifndef SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO
+#endif
+
+// System Clock Branch Settings
+
+// Clock Source Selection for SYSCLK branch
+// DEFAULT_HF
+// FSRCO
+// HFRCODPLL
+// HFXO
+// Selection of the Clock source for SYSCLK
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_SYSCLK_SOURCE
+#define SL_CLOCK_MANAGER_SYSCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#endif
+
+// HCLK branch divider
+// DIV1
+// DIV2
+// DIV4
+// DIV8
+// DIV16
+// HCLK branch is derived from SYSCLK. This clock drives the AHB bus interface.
+// CMU_SYSCLKCTRL_HCLKPRESC_DIV1
+#ifndef SL_CLOCK_MANAGER_HCLK_DIVIDER
+#define SL_CLOCK_MANAGER_HCLK_DIVIDER CMU_SYSCLKCTRL_HCLKPRESC_DIV1
+#endif
+
+// PCLK branch divider
+// DIV1
+// DIV2
+// PCLK branch is derived from HCLK. This clock drives the APB bus interface.
+// CMU_SYSCLKCTRL_PCLKPRESC_DIV2
+#ifndef SL_CLOCK_MANAGER_PCLK_DIVIDER
+#define SL_CLOCK_MANAGER_PCLK_DIVIDER CMU_SYSCLKCTRL_PCLKPRESC_DIV2
+#endif
+
+//
+
+// Trace Clock Branches Settings
+// Clock Source Selection for TRACECLK branch
+// DISABLE
+// SYSCLK
+// HFRCOEM23
+// HFRCODPLLRT
+// Selection of the Clock source for TRACECLK
+// CMU_TRACECLKCTRL_CLKSEL_SYSCLK
+#ifndef SL_CLOCK_MANAGER_TRACECLK_SOURCE
+#define SL_CLOCK_MANAGER_TRACECLK_SOURCE CMU_TRACECLKCTRL_CLKSEL_SYSCLK
+#endif
+
+// TRACECLK branch Divider
+// DIV1
+// DIV2
+// DIV3
+// DIV4
+// Selection of the divider value for TRACECLK branch
+// CMU_TRACECLKCTRL_PRESC_DIV1
+#ifndef SL_CLOCK_MANAGER_TRACECLK_DIVIDER
+#define SL_CLOCK_MANAGER_TRACECLK_DIVIDER CMU_TRACECLKCTRL_PRESC_DIV1
+#endif
+
+//
+
+// High Frequency Clock Branches Settings
+// Each HF Clock Tree branch can be customized, else the same clock source as for SYSCLK will be used when possible
+// EM01GRPACLK clock the Timer peripherals
+// Clock Source Selection for EM01GRPACLK branch
+// DEFAULT_HF
+// HFRCODPLL
+// HFXO
+// FSRCO
+// HFRCOEM23
+// HFRCODPLLRT
+// HFXORT
+// Selection of the Clock source for EM01GRPACLK
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE
+#define SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for EM01GRPCCLK branch
+// DEFAULT_HF
+// HFRCODPLL
+// HFXO
+// FSRCO
+// HFRCOEM23
+// HFRCODPLLRT
+// HFXORT
+// Selection of the Clock source for EM01GRPCCLK
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE
+#define SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for IADCCLK branch
+// EM01GRPACLK
+// FSRCO
+// HFRCOEM23
+// Selection of the Clock source for IADCCLK
+// CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK
+#ifndef SL_CLOCK_MANAGER_IADCCLK_SOURCE
+#define SL_CLOCK_MANAGER_IADCCLK_SOURCE CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK
+#endif
+
+//
+
+// Low Frequency Clock Branches Settings
+
+// Clock Source Selection for EM23GRPACLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the Clock source for EM23GRPACLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE
+#define SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for EM4GRPACLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the Clock source for EM4GRPACLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE
+#define SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for SYSRTCCLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the Clock source for SYSRTCCLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE
+#define SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for WDOG0CLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// HCLKDIV1024
+// Selection of the Clock source for WDOG0CLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_WDOG0CLK_SOURCE
+#define SL_CLOCK_MANAGER_WDOG0CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for WDOG1CLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// HCLKDIV1024
+// Selection of the Clock source for WDOG1CLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_WDOG1CLK_SOURCE
+#define SL_CLOCK_MANAGER_WDOG1CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for PCNT0CLK branch
+// DISABLED
+// EM23GRPACLK
+// PCNTS0
+// Selection of the Clock source for PCNT0CLK
+// CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK
+#ifndef SL_CLOCK_MANAGER_PCNT0CLK_SOURCE
+#define SL_CLOCK_MANAGER_PCNT0CLK_SOURCE CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK
+#endif
+
+//
+
+// Mixed Frequency Clock Branch Settings
+// Clock Source Selection for EUSART0CLK branch
+// DISABLED
+// EM01GRPCCLK
+// HFRCOEM23
+// LFRCO
+// LFXO
+// Selection of the Clock source for EUSART0CLK
+// CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK
+#ifndef SL_CLOCK_MANAGER_EUSART0CLK_SOURCE
+#define SL_CLOCK_MANAGER_EUSART0CLK_SOURCE CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK
+#endif
+
+// Clock Source Selection for SYSTICKCLK branch
+// <0=> HCLK
+// <1=> EM23GRPACLK
+// Selection of the Clock source for SYSTICKCLK
+// 0
+#ifndef SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE
+#define SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE 0
+#endif
+
+// Clock Source Selection for VDAC0CLK branch
+// DISABLED
+// EM01GRPACLK
+// EM23GRPACLK
+// FSRCO
+// HFRCOEM23
+// Selection of the Clock source for VDAC0CLK
+// CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK
+#ifndef SL_CLOCK_MANAGER_VDAC0CLK_SOURCE
+#define SL_CLOCK_MANAGER_VDAC0CLK_SOURCE CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK
+#endif
+
+//
+//
+
+#endif /* SL_CLOCK_MANAGER_TREE_CONFIG_H */
+
+// <<< end of configuration section >>>
diff --git a/matter/efr32/efr32mg24/BRD4187A/config/sl_device_init_hfxo_config.h b/matter/efr32/efr32mg24/BRD2703A/config/sl_device_init_dcdc_config.h
similarity index 65%
rename from matter/efr32/efr32mg24/BRD4187A/config/sl_device_init_hfxo_config.h
rename to matter/efr32/efr32mg24/BRD2703A/config/sl_device_init_dcdc_config.h
index 9f3b31ed85..4fb88397d2 100644
--- a/matter/efr32/efr32mg24/BRD4187A/config/sl_device_init_hfxo_config.h
+++ b/matter/efr32/efr32mg24/BRD2703A/config/sl_device_init_dcdc_config.h
@@ -1,6 +1,6 @@
/***************************************************************************//**
* @file
- * @brief DEVICE_INIT_HFXO Config
+ * @brief DEVICE_INIT_DCDC Config
*******************************************************************************
* # License
* Copyright 2022 Silicon Laboratories Inc. www.silabs.com
@@ -28,30 +28,31 @@
*
******************************************************************************/
-#ifndef SL_DEVICE_INIT_HFXO_CONFIG_H
-#define SL_DEVICE_INIT_HFXO_CONFIG_H
+#ifndef SL_DEVICE_INIT_DCDC_CONFIG_H
+#define SL_DEVICE_INIT_DCDC_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
-// Mode
+// Enable DC/DC Converter
//
-// Crystal oscillator
-// External sine wave
-// Default: cmuHfxoOscMode_Crystal
-#define SL_DEVICE_INIT_HFXO_MODE cmuHfxoOscMode_Crystal
+// Default: 1
+#define SL_DEVICE_INIT_DCDC_ENABLE 1
-// Frequency <38000000-40000000>
-// Default: 39000000
-#define SL_DEVICE_INIT_HFXO_FREQ 39000000
+// Set DC/DC Converter in Bypass Mode
+//
+// Default: 0
+#define SL_DEVICE_INIT_DCDC_BYPASS 0
-// HFXO precision in PPM <0-65535>
-// Default: 50
-#define SL_DEVICE_INIT_HFXO_PRECISION 50
+// Override for DCDC PFMX Mode Peak Current Setting
+//
+// Default: 1
+#define SL_DEVICE_INIT_DCDC_PFMX_IPKVAL_OVERRIDE 1
-// CTUNE <0-255>
-// Default: 140
-#define SL_DEVICE_INIT_HFXO_CTUNE 95
+// DCDC PFMX Mode Peak Current Setting <0-15>
+//
+// Default: DCDC_PFMXCTRL_IPKVAL_DEFAULT
+#define SL_DEVICE_INIT_DCDC_PFMX_IPKVAL 12
// <<< end of configuration section >>>
-#endif // SL_DEVICE_INIT_HFXO_CONFIG_H
+#endif // SL_DEVICE_INIT_DCDC_CONFIG_H
diff --git a/matter/efr32/efr32mg24/BRD2703A/config/sl_device_init_dpll_config.h b/matter/efr32/efr32mg24/BRD2703A/config/sl_device_init_dpll_config.h
deleted file mode 100644
index eea3705c71..0000000000
--- a/matter/efr32/efr32mg24/BRD2703A/config/sl_device_init_dpll_config.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/***************************************************************************//**
- * @file
- * @brief DEVICE_INIT_DPLL Config
- *******************************************************************************
- * # License
- * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
- *******************************************************************************
- *
- * SPDX-License-Identifier: Zlib
- *
- * The licensor of this software is Silicon Laboratories Inc.
- *
- * This software is provided 'as-is', without any express or implied
- * warranty. In no event will the authors be held liable for any damages
- * arising from the use of this software.
- *
- * Permission is granted to anyone to use this software for any purpose,
- * including commercial applications, and to alter it and redistribute it
- * freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you must not
- * claim that you wrote the original software. If you use this software
- * in a product, an acknowledgment in the product documentation would be
- * appreciated but is not required.
- * 2. Altered source versions must be plainly marked as such, and must not be
- * misrepresented as being the original software.
- * 3. This notice may not be removed or altered from any source distribution.
- *
- ******************************************************************************/
-
-#ifndef SL_DEVICE_INIT_DPLL_CONFIG_H
-#define SL_DEVICE_INIT_DPLL_CONFIG_H
-
-// <<< Use Configuration Wizard in Context Menu >>>
-
-// Target Frequency <1000000-80000000>
-// DPLL target frequency
-// Default: 78000000
-#define SL_DEVICE_INIT_DPLL_FREQ 78000000
-
-// Numerator (N) <300-4095>
-// Value of N for output frequency calculation fout = fref * (N+1) / (M+1)
-// Default: 3839
-#define SL_DEVICE_INIT_DPLL_N 3839
-
-// Denominator (M) <0-4095>
-// Value of M for output frequency calculation fout = fref * (N+1) / (M+1)
-// Default: 1919
-#define SL_DEVICE_INIT_DPLL_M 1919
-
-// Reference Clock
-// Reference clock source for DPLL
-// HFXO
-// LFXO
-// CLKIN0
-// Default: cmuSelect_HFXO
-#define SL_DEVICE_INIT_DPLL_REFCLK cmuSelect_HFXO
-
-// Reference Clock Edge Detect
-// Edge detection for reference clock
-// Falling Edge
-// Rising Edge
-// Default: cmuDPLLEdgeSel_Fall
-#define SL_DEVICE_INIT_DPLL_EDGE cmuDPLLEdgeSel_Fall
-
-// DPLL Lock Mode
-// Lock mode
-// Frequency-Lock Loop
-// Phase-Lock Loop
-// Default: cmuDPLLLockMode_Freq
-#define SL_DEVICE_INIT_DPLL_LOCKMODE cmuDPLLLockMode_Phase
-
-// Automatic Lock Recovery
-// Default: 1
-#define SL_DEVICE_INIT_DPLL_AUTORECOVER 1
-
-// Enable Dither
-// Default: 0
-#define SL_DEVICE_INIT_DPLL_DITHER 0
-
-// <<< end of configuration section >>>
-
-#endif // SL_DEVICE_INIT_DPLL_CONFIG_H
diff --git a/matter/efr32/efr32mg24/BRD2703A/config/sl_memory_manager_region_config.h b/matter/efr32/efr32mg24/BRD2703A/config/sl_memory_manager_region_config.h
index f940d40ec4..f34bb11775 100644
--- a/matter/efr32/efr32mg24/BRD2703A/config/sl_memory_manager_region_config.h
+++ b/matter/efr32/efr32mg24/BRD2703A/config/sl_memory_manager_region_config.h
@@ -40,7 +40,7 @@
// The stack size configured here will be used by the stack that the
// application uses when coming out of a reset.
#ifndef SL_STACK_SIZE
-#define SL_STACK_SIZE 0
+#define SL_STACK_SIZE 4608
#endif
//
diff --git a/matter/efr32/efr32mg24/BRD4186A/autogen/sl_board_default_init.c b/matter/efr32/efr32mg24/BRD4186A/autogen/sl_board_default_init.c
new file mode 100644
index 0000000000..bd43db368b
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD4186A/autogen/sl_board_default_init.c
@@ -0,0 +1,36 @@
+/***************************************************************************//**
+ * @file
+ * @brief Board Default Init
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+#include "sl_board_control.h"
+
+void sl_board_default_init(void)
+{
+ sl_board_disable_vcom();
+
+}
diff --git a/matter/efr32/efr32mg24/BRD4186A/autogen/sl_component_catalog.h b/matter/efr32/efr32mg24/BRD4186A/autogen/sl_component_catalog.h
index a71fd1d9e9..74ba9d159b 100644
--- a/matter/efr32/efr32mg24/BRD4186A/autogen/sl_component_catalog.h
+++ b/matter/efr32/efr32mg24/BRD4186A/autogen/sl_component_catalog.h
@@ -15,10 +15,11 @@
#define SL_CATALOG_BLUETOOTH_RTOS_ADAPTATION_PRESENT
#define SL_CATALOG_BLUETOOTH_PRESENT
#define SL_CATALOG_BLUETOOTH_FEATURE_MULTIPROTOCOL_PRESENT
+#define SL_CATALOG_CLOCK_MANAGER_PRESENT
#define SL_CATALOG_CMSIS_OS_COMMON_PRESENT
+#define SL_CATALOG_DEVICE_INIT_PRESENT
#define SL_CATALOG_DEVICE_INIT_CORE_PRESENT
-#define SL_CATALOG_DEVICE_INIT_DPLL_PRESENT
-#define SL_CATALOG_DEVICE_INIT_HFXO_PRESENT
+#define SL_CATALOG_DEVICE_INIT_DCDC_PRESENT
#define SL_CATALOG_EMLIB_CORE_PRESENT
#define SL_CATALOG_EMLIB_CORE_DEBUG_CONFIG_PRESENT
#define SL_CATALOG_EMLIB_RMU_PRESENT
diff --git a/matter/efr32/efr32mg24/BRD4186A/autogen/sl_event_handler.c b/matter/efr32/efr32mg24/BRD4186A/autogen/sl_event_handler.c
index 54b50884df..064b0bf1d1 100644
--- a/matter/efr32/efr32mg24/BRD4186A/autogen/sl_event_handler.c
+++ b/matter/efr32/efr32mg24/BRD4186A/autogen/sl_event_handler.c
@@ -2,15 +2,16 @@
#include "em_chip.h"
#include "sl_interrupt_manager.h"
+#include "sl_board_init.h"
+#include "sl_clock_manager_init.h"
+#include "sl_device_init_dcdc.h"
#include "sl_clock_manager.h"
#include "sl_hfxo_manager.h"
-#include "sl_device_init_hfxo.h"
-#include "sl_device_init_dpll.h"
#include "SEGGER_RTT.h"
-#include "sl_memory_manager.h"
#include "pa_conversions_efr32.h"
#include "sl_rail_util_power_manager_init.h"
#include "sl_rail_util_pti.h"
+#include "sl_board_control.h"
#include "sl_bt_rtos_adaptation.h"
#include "sl_sleeptimer.h"
#include "gpiointerrupt.h"
@@ -36,12 +37,13 @@ void sl_platform_init(void)
{
CHIP_Init();
sl_interrupt_manager_init();
+ sl_board_preinit();
+ sl_clock_manager_init();
+ sl_device_init_dcdc();
sl_clock_manager_runtime_init();
sl_hfxo_manager_init_hardware();
- sl_device_init_hfxo();
- sl_device_init_dpll();
SEGGER_RTT_Init();
- sl_memory_init();
+ sl_board_init();
nvm3_initDefault();
osKernelInitialize();
sl_power_manager_init();
@@ -68,6 +70,7 @@ void sl_driver_init(void)
void sl_service_init(void)
{
+ sl_board_configure_vcom();
sl_sleeptimer_init();
sl_hfxo_manager_init();
sl_mbedtls_init();
diff --git a/matter/efr32/efr32mg24/BRD4186A/config/buffer_pool_allocator_config.h b/matter/efr32/efr32mg24/BRD4186A/config/buffer_pool_allocator_config.h
new file mode 100644
index 0000000000..2c3fd2e677
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD4186A/config/buffer_pool_allocator_config.h
@@ -0,0 +1,29 @@
+/***************************************************************************//**
+ * @file buffer_pool_allocator_config.h
+ * @brief Configuration file for buffer pool allocator.
+ * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com
+ ******************************************************************************/
+
+#ifndef __BUFFER_POOL_ALLOCATOR_CONFIG_H__
+#define __BUFFER_POOL_ALLOCATOR_CONFIG_H__
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// Memory Manager Configuration
+
+// Number Buffer Pools
+// <0-256:1>
+// Default: 5
+#define BUFFER_POOL_ALLOCATOR_POOL_SIZE 5
+
+// Length of Each Buffer Pool
+// <0-1024:1>
+// Default: 256
+#define BUFFER_POOL_ALLOCATOR_BUFFER_SIZE_MAX 256
+
+// Clear Each Newly Allocated Buffer
+#define BUFFER_POOL_ALLOCATOR_CLEAR_ON_INIT 0
+
+//
+// <<< end of configuration section >>>
+
+#endif // __BUFFER_POOL_ALLOCATOR_CONFIG_H__
diff --git a/matter/efr32/efr32mg24/BRD4186A/config/circular_queue_config.h b/matter/efr32/efr32mg24/BRD4186A/config/circular_queue_config.h
new file mode 100644
index 0000000000..81a7173d6a
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD4186A/config/circular_queue_config.h
@@ -0,0 +1,23 @@
+/***************************************************************************//**
+ * @file circular_queue_config.h
+ * @brief Configuration file for circular queue.
+ * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com
+ ******************************************************************************/
+
+#ifndef __CIRCULAR_QUEUE_CONFIG_H__
+#define __CIRCULAR_QUEUE_CONFIG_H__
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// Circular Queue Configuration
+
+// Max Queue Length
+// <0-256:1>
+// Default: 5
+#ifndef CIRCULAR_QUEUE_LEN_MAX
+#define CIRCULAR_QUEUE_LEN_MAX 16
+#endif
+
+//
+// <<< end of configuration section >>>
+
+#endif // __CIRCULAR_QUEUE_CONFIG_H__
diff --git a/matter/efr32/efr32mg24/BRD4186A/config/sl_board_control_config.h b/matter/efr32/efr32mg24/BRD4186A/config/sl_board_control_config.h
new file mode 100644
index 0000000000..e175eb54c9
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD4186A/config/sl_board_control_config.h
@@ -0,0 +1,76 @@
+/***************************************************************************//**
+ * @file
+ * @brief Board Control
+ *******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_BOARD_CONTROL_CONFIG_H
+#define SL_BOARD_CONTROL_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Enable Virtual COM UART
+// Default: 0
+#define SL_BOARD_ENABLE_VCOM 0
+
+// Enable Display
+// Default: 0
+#define SL_BOARD_ENABLE_DISPLAY 0
+
+// Enable Relative Humidity and Temperature sensor
+// Default: 0
+#define SL_BOARD_ENABLE_SENSOR_RHT 0
+
+// Disable SPI Flash
+// Default: 1
+#define SL_BOARD_DISABLE_MEMORY_SPI 1
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_BOARD_ENABLE_VCOM
+// $[GPIO_SL_BOARD_ENABLE_VCOM]
+#define SL_BOARD_ENABLE_VCOM_PORT gpioPortB
+#define SL_BOARD_ENABLE_VCOM_PIN 0
+// [GPIO_SL_BOARD_ENABLE_VCOM]$
+
+// SL_BOARD_ENABLE_DISPLAY
+// $[GPIO_SL_BOARD_ENABLE_DISPLAY]
+#define SL_BOARD_ENABLE_DISPLAY_PORT gpioPortC
+#define SL_BOARD_ENABLE_DISPLAY_PIN 9
+// [GPIO_SL_BOARD_ENABLE_DISPLAY]$
+
+// SL_BOARD_ENABLE_SENSOR_RHT
+// $[GPIO_SL_BOARD_ENABLE_SENSOR_RHT]
+#define SL_BOARD_ENABLE_SENSOR_RHT_PORT gpioPortD
+#define SL_BOARD_ENABLE_SENSOR_RHT_PIN 3
+// [GPIO_SL_BOARD_ENABLE_SENSOR_RHT]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_BOARD_CONTROL_CONFIG_H
diff --git a/matter/efr32/efr32mg24/BRD4186A/config/sl_clock_manager_oscillator_config.h b/matter/efr32/efr32mg24/BRD4186A/config/sl_clock_manager_oscillator_config.h
new file mode 100644
index 0000000000..c8a5581741
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD4186A/config/sl_clock_manager_oscillator_config.h
@@ -0,0 +1,321 @@
+/***************************************************************************//**
+ * @file
+ * @brief Clock Manager - Oscillators configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H
+#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H
+
+// Oscillators Settings
+
+// HFXO Settings (if High Frequency crystal is used)
+// Enable to configure HFXO
+#ifndef SL_CLOCK_MANAGER_HFXO_EN
+#define SL_CLOCK_MANAGER_HFXO_EN 1
+#endif
+
+// Mode
+//
+// XTAL
+// EXTCLK
+// EXTCLKPKDET
+// HFXO_CFG_MODE_XTAL
+#ifndef SL_CLOCK_MANAGER_HFXO_MODE
+#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL
+#endif
+
+// Frequency <38000000-40000000>
+// 39000000
+#ifndef SL_CLOCK_MANAGER_HFXO_FREQ
+#define SL_CLOCK_MANAGER_HFXO_FREQ 39000000
+#endif
+
+// CTUNE <0-255>
+// 140
+#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE
+#define SL_CLOCK_MANAGER_HFXO_CTUNE 87
+#endif
+
+// Precision <0-65535>
+// 50
+#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION
+#define SL_CLOCK_MANAGER_HFXO_PRECISION 50
+#endif
+
+// HFXO crystal sharing feature
+// Enable to configure HFXO crystal sharing leader or follower
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN 0
+#endif
+
+// Crystal sharing leader
+// Enable to configure HFXO crystal sharing leader
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN 0
+#endif
+
+// Crystal sharing leader minimum startup delay
+// If enabled, BUFOUT does not start until timeout set in
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP expires.
+// This prevents waste of power if BUFOUT is ready too early.
+// 1
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN 1
+#endif
+
+// Wait duration of oscillator startup sequence
+//
+// T42US
+// T83US
+// T108US
+// T133US
+// T158US
+// T183US
+// T208US
+// T233US
+// T258US
+// T283US
+// T333US
+// T375US
+// T417US
+// T458US
+// T500US
+// T667US
+// HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US
+#endif
+//
+//
+
+// Crystal sharing follower
+// Enable to configure HFXO crystal sharing follower
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN 0
+#endif
+//
+
+// GPIO Port
+// Bufout request GPIO port. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+// is enabled, this port will be used to receive the BUFOUT request. If
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this port
+// will be used to request BUFOUT from the crystal sharing leader.
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT 0
+#endif
+
+// GPIO Pin
+// Bufout request GPIO pin. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+// is enabled, this pin will be used to receive the BUFOUT request. If
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this pin
+// will be used to request BUFOUT from the crystal sharing leader.
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN 10
+#endif
+//
+//
+
+// LFXO Settings (if Low Frequency crystal is used)
+// Enable to configure LFXO
+#ifndef SL_CLOCK_MANAGER_LFXO_EN
+#define SL_CLOCK_MANAGER_LFXO_EN 1
+#endif
+
+// Mode
+//
+// XTAL
+// BUFEXTCLK
+// DIGEXTCLK
+// LFXO_CFG_MODE_XTAL
+#ifndef SL_CLOCK_MANAGER_LFXO_MODE
+#define SL_CLOCK_MANAGER_LFXO_MODE LFXO_CFG_MODE_XTAL
+#endif
+
+// CTUNE <0-127>
+// 63
+#ifndef SL_CLOCK_MANAGER_LFXO_CTUNE
+#define SL_CLOCK_MANAGER_LFXO_CTUNE 36
+#endif
+
+// LFXO precision in PPM <0-65535>
+// 50
+#ifndef SL_CLOCK_MANAGER_LFXO_PRECISION
+#define SL_CLOCK_MANAGER_LFXO_PRECISION 50
+#endif
+
+// Startup Timeout Delay
+//
+// CYCLES2
+// CYCLES256
+// CYCLES1K
+// CYCLES2K
+// CYCLES4K
+// CYCLES8K
+// CYCLES16K
+// CYCLES32K
+// LFXO_CFG_TIMEOUT_CYCLES4K
+#ifndef SL_CLOCK_MANAGER_LFXO_TIMEOUT
+#define SL_CLOCK_MANAGER_LFXO_TIMEOUT LFXO_CFG_TIMEOUT_CYCLES4K
+#endif
+//
+
+// HFRCO and DPLL Settings
+// Frequency Band
+// RC Oscillator Frequency Band
+// 1 MHz
+// 2 MHz
+// 4 MHz
+// 7 MHz
+// 13 MHz
+// 16 MHz
+// 19 MHz
+// 26 MHz
+// 32 MHz
+// 38 MHz
+// 48 MHz
+// 56 MHz
+// 64 MHz
+// 80 MHz
+// cmuHFRCODPLLFreq_80M0Hz
+#ifndef SL_CLOCK_MANAGER_HFRCO_BAND
+#define SL_CLOCK_MANAGER_HFRCO_BAND cmuHFRCODPLLFreq_80M0Hz
+#endif
+
+// Use DPLL
+// Enable to use the DPLL with HFRCO
+#ifndef SL_CLOCK_MANAGER_HFRCO_DPLL_EN
+#define SL_CLOCK_MANAGER_HFRCO_DPLL_EN 1
+#endif
+
+// Target Frequency <1000000-80000000>
+// DPLL target frequency
+// 78000000
+#ifndef SL_CLOCK_MANAGER_DPLL_FREQ
+#define SL_CLOCK_MANAGER_DPLL_FREQ 78000000
+#endif
+
+// Numerator (N) <300-4095>
+// Value of N for output frequency calculation fout = fref * (N+1) / (M+1)
+// 3839
+#ifndef SL_CLOCK_MANAGER_DPLL_N
+#define SL_CLOCK_MANAGER_DPLL_N 3839
+#endif
+
+// Denominator (M) <0-4095>
+// Value of M for output frequency calculation fout = fref * (N+1) / (M+1)
+// 1919
+#ifndef SL_CLOCK_MANAGER_DPLL_M
+#define SL_CLOCK_MANAGER_DPLL_M 1919
+#endif
+
+// Reference Clock
+// Reference clock source for DPLL
+// DISABLED
+// HFXO
+// LFXO
+// CMU_DPLLREFCLKCTRL_CLKSEL_HFXO
+#ifndef SL_CLOCK_MANAGER_DPLL_REFCLK
+#define SL_CLOCK_MANAGER_DPLL_REFCLK CMU_DPLLREFCLKCTRL_CLKSEL_HFXO
+#endif
+
+// Reference Clock Edge Detect
+// Edge detection for reference clock
+// Falling Edge
+// Rising Edge
+// cmuDPLLEdgeSel_Fall
+#ifndef SL_CLOCK_MANAGER_DPLL_EDGE
+#define SL_CLOCK_MANAGER_DPLL_EDGE cmuDPLLEdgeSel_Fall
+#endif
+
+// DPLL Lock Mode
+// Lock mode
+// Frequency-Lock Loop
+// Phase-Lock Loop
+// cmuDPLLLockMode_Freq
+#ifndef SL_CLOCK_MANAGER_DPLL_LOCKMODE
+#define SL_CLOCK_MANAGER_DPLL_LOCKMODE cmuDPLLLockMode_Phase
+#endif
+
+// Automatic Lock Recovery
+// 1
+#ifndef SL_CLOCK_MANAGER_DPLL_AUTORECOVER
+#define SL_CLOCK_MANAGER_DPLL_AUTORECOVER 1
+#endif
+
+// Enable Dither
+// 0
+#ifndef SL_CLOCK_MANAGER_DPLL_DITHER
+#define SL_CLOCK_MANAGER_DPLL_DITHER 0
+#endif
+//
+//
+
+// HFRCOEM23 Settings
+// Frequency Band
+// RC Oscillator Frequency Band
+// 1 MHz
+// 2 MHz
+// 4 MHz
+// 13 MHz
+// 16 MHz
+// 19 MHz
+// 26 MHz
+// 32 MHz
+// 40 MHz
+// cmuHFRCOEM23Freq_19M0Hz
+#ifndef SL_CLOCK_MANAGER_HFRCOEM23_BAND
+#define SL_CLOCK_MANAGER_HFRCOEM23_BAND cmuHFRCOEM23Freq_19M0Hz
+#endif
+//
+
+// LFRCO Settings
+// Precision Mode
+// Precision mode uses hardware to automatically re-calibrate the LFRCO
+// against a crystal driven by the HFXO. Hardware detects temperature
+// changes and initiates a re-calibration of the LFRCO as needed when
+// operating in EM0, EM1, or EM2. If a re-calibration is necessary and the
+// HFXO is not active, the precision mode hardware will automatically
+// enable HFXO for a short time to perform the calibration. EM4 operation is
+// not allowed while precision mode is enabled.
+// If high precision is selected on devices that do not support it, default
+// precision will be used.
+// Default precision
+// High precision
+// cmuPrecisionDefault
+#ifndef SL_CLOCK_MANAGER_LFRCO_PRECISION
+#define SL_CLOCK_MANAGER_LFRCO_PRECISION cmuPrecisionDefault
+#endif
+//
+
+//
+
+#endif /* SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H */
+
+// <<< end of configuration section >>>
diff --git a/matter/efr32/efr32mg24/BRD4186A/config/sl_clock_manager_tree_config.h b/matter/efr32/efr32mg24/BRD4186A/config/sl_clock_manager_tree_config.h
new file mode 100644
index 0000000000..ff9a50a254
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD4186A/config/sl_clock_manager_tree_config.h
@@ -0,0 +1,282 @@
+/***************************************************************************//**
+ * @file
+ * @brief Clock Manager - Clock Tree configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CLOCK_MANAGER_TREE_CONFIG_H
+#define SL_CLOCK_MANAGER_TREE_CONFIG_H
+
+// Internal Defines: DO NOT MODIFY
+// Those defines are used internally to help converting the DEFAULT_HF_CLOCK_SOURCE and DEFAULT_LF_CLOCK_SOURCE
+// selection of each clock branch to the right HW register value.
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL 0xFF
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO 0xFE
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_FSRCO 0xFD
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO 0xFC
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO 0xFB
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_ULFRCO 0xFA
+
+// Clock Tree Settings
+
+// Default Clock Source Selection for HF clock branches
+// HFRCODPLL
+// HFXO
+// FSRCO
+// Selection of the high frequency clock source. HF clock branches can select this value by chosing the DEFAULT_HF value.
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL
+#ifndef SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO
+#endif
+
+// Default Clock Source Selection for LF clock branches
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the low frequency clock source. LF clock branches can select this value by chosing the DEFAULT_HF value.
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO
+#ifndef SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO
+#endif
+
+// System Clock Branch Settings
+
+// Clock Source Selection for SYSCLK branch
+// DEFAULT_HF
+// FSRCO
+// HFRCODPLL
+// HFXO
+// Selection of the Clock source for SYSCLK
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_SYSCLK_SOURCE
+#define SL_CLOCK_MANAGER_SYSCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#endif
+
+// HCLK branch divider
+// DIV1
+// DIV2
+// DIV4
+// DIV8
+// DIV16
+// HCLK branch is derived from SYSCLK. This clock drives the AHB bus interface.
+// CMU_SYSCLKCTRL_HCLKPRESC_DIV1
+#ifndef SL_CLOCK_MANAGER_HCLK_DIVIDER
+#define SL_CLOCK_MANAGER_HCLK_DIVIDER CMU_SYSCLKCTRL_HCLKPRESC_DIV1
+#endif
+
+// PCLK branch divider
+// DIV1
+// DIV2
+// PCLK branch is derived from HCLK. This clock drives the APB bus interface.
+// CMU_SYSCLKCTRL_PCLKPRESC_DIV2
+#ifndef SL_CLOCK_MANAGER_PCLK_DIVIDER
+#define SL_CLOCK_MANAGER_PCLK_DIVIDER CMU_SYSCLKCTRL_PCLKPRESC_DIV2
+#endif
+
+//
+
+// Trace Clock Branches Settings
+// Clock Source Selection for TRACECLK branch
+// DISABLE
+// SYSCLK
+// HFRCOEM23
+// HFRCODPLLRT
+// Selection of the Clock source for TRACECLK
+// CMU_TRACECLKCTRL_CLKSEL_SYSCLK
+#ifndef SL_CLOCK_MANAGER_TRACECLK_SOURCE
+#define SL_CLOCK_MANAGER_TRACECLK_SOURCE CMU_TRACECLKCTRL_CLKSEL_SYSCLK
+#endif
+
+// TRACECLK branch Divider
+// DIV1
+// DIV2
+// DIV3
+// DIV4
+// Selection of the divider value for TRACECLK branch
+// CMU_TRACECLKCTRL_PRESC_DIV1
+#ifndef SL_CLOCK_MANAGER_TRACECLK_DIVIDER
+#define SL_CLOCK_MANAGER_TRACECLK_DIVIDER CMU_TRACECLKCTRL_PRESC_DIV1
+#endif
+
+//
+
+// High Frequency Clock Branches Settings
+// Each HF Clock Tree branch can be customized, else the same clock source as for SYSCLK will be used when possible
+// EM01GRPACLK clock the Timer peripherals
+// Clock Source Selection for EM01GRPACLK branch
+// DEFAULT_HF
+// HFRCODPLL
+// HFXO
+// FSRCO
+// HFRCOEM23
+// HFRCODPLLRT
+// HFXORT
+// Selection of the Clock source for EM01GRPACLK
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE
+#define SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for EM01GRPCCLK branch
+// DEFAULT_HF
+// HFRCODPLL
+// HFXO
+// FSRCO
+// HFRCOEM23
+// HFRCODPLLRT
+// HFXORT
+// Selection of the Clock source for EM01GRPCCLK
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE
+#define SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for IADCCLK branch
+// EM01GRPACLK
+// FSRCO
+// HFRCOEM23
+// Selection of the Clock source for IADCCLK
+// CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK
+#ifndef SL_CLOCK_MANAGER_IADCCLK_SOURCE
+#define SL_CLOCK_MANAGER_IADCCLK_SOURCE CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK
+#endif
+
+//
+
+// Low Frequency Clock Branches Settings
+
+// Clock Source Selection for EM23GRPACLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the Clock source for EM23GRPACLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE
+#define SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for EM4GRPACLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the Clock source for EM4GRPACLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE
+#define SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for SYSRTCCLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the Clock source for SYSRTCCLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE
+#define SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for WDOG0CLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// HCLKDIV1024
+// Selection of the Clock source for WDOG0CLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_WDOG0CLK_SOURCE
+#define SL_CLOCK_MANAGER_WDOG0CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for WDOG1CLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// HCLKDIV1024
+// Selection of the Clock source for WDOG1CLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_WDOG1CLK_SOURCE
+#define SL_CLOCK_MANAGER_WDOG1CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for PCNT0CLK branch
+// DISABLED
+// EM23GRPACLK
+// PCNTS0
+// Selection of the Clock source for PCNT0CLK
+// CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK
+#ifndef SL_CLOCK_MANAGER_PCNT0CLK_SOURCE
+#define SL_CLOCK_MANAGER_PCNT0CLK_SOURCE CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK
+#endif
+
+//
+
+// Mixed Frequency Clock Branch Settings
+// Clock Source Selection for EUSART0CLK branch
+// DISABLED
+// EM01GRPCCLK
+// HFRCOEM23
+// LFRCO
+// LFXO
+// Selection of the Clock source for EUSART0CLK
+// CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK
+#ifndef SL_CLOCK_MANAGER_EUSART0CLK_SOURCE
+#define SL_CLOCK_MANAGER_EUSART0CLK_SOURCE CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK
+#endif
+
+// Clock Source Selection for SYSTICKCLK branch
+// <0=> HCLK
+// <1=> EM23GRPACLK
+// Selection of the Clock source for SYSTICKCLK
+// 0
+#ifndef SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE
+#define SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE 0
+#endif
+
+// Clock Source Selection for VDAC0CLK branch
+// DISABLED
+// EM01GRPACLK
+// EM23GRPACLK
+// FSRCO
+// HFRCOEM23
+// Selection of the Clock source for VDAC0CLK
+// CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK
+#ifndef SL_CLOCK_MANAGER_VDAC0CLK_SOURCE
+#define SL_CLOCK_MANAGER_VDAC0CLK_SOURCE CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK
+#endif
+
+//
+//
+
+#endif /* SL_CLOCK_MANAGER_TREE_CONFIG_H */
+
+// <<< end of configuration section >>>
diff --git a/matter/efr32/efr32mg24/BRD4186C/config/sl_device_init_hfxo_config.h b/matter/efr32/efr32mg24/BRD4186A/config/sl_device_init_dcdc_config.h
similarity index 65%
rename from matter/efr32/efr32mg24/BRD4186C/config/sl_device_init_hfxo_config.h
rename to matter/efr32/efr32mg24/BRD4186A/config/sl_device_init_dcdc_config.h
index 2ad97ef495..4fb88397d2 100644
--- a/matter/efr32/efr32mg24/BRD4186C/config/sl_device_init_hfxo_config.h
+++ b/matter/efr32/efr32mg24/BRD4186A/config/sl_device_init_dcdc_config.h
@@ -1,6 +1,6 @@
/***************************************************************************//**
* @file
- * @brief DEVICE_INIT_HFXO Config
+ * @brief DEVICE_INIT_DCDC Config
*******************************************************************************
* # License
* Copyright 2022 Silicon Laboratories Inc. www.silabs.com
@@ -28,30 +28,31 @@
*
******************************************************************************/
-#ifndef SL_DEVICE_INIT_HFXO_CONFIG_H
-#define SL_DEVICE_INIT_HFXO_CONFIG_H
+#ifndef SL_DEVICE_INIT_DCDC_CONFIG_H
+#define SL_DEVICE_INIT_DCDC_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
-// Mode
+// Enable DC/DC Converter
//
-// Crystal oscillator
-// External sine wave
-// Default: cmuHfxoOscMode_Crystal
-#define SL_DEVICE_INIT_HFXO_MODE cmuHfxoOscMode_Crystal
+// Default: 1
+#define SL_DEVICE_INIT_DCDC_ENABLE 1
-// Frequency <38000000-40000000>
-// Default: 39000000
-#define SL_DEVICE_INIT_HFXO_FREQ 39000000
+// Set DC/DC Converter in Bypass Mode
+//
+// Default: 0
+#define SL_DEVICE_INIT_DCDC_BYPASS 0
-// HFXO precision in PPM <0-65535>
-// Default: 50
-#define SL_DEVICE_INIT_HFXO_PRECISION 50
+// Override for DCDC PFMX Mode Peak Current Setting
+//
+// Default: 1
+#define SL_DEVICE_INIT_DCDC_PFMX_IPKVAL_OVERRIDE 1
-// CTUNE <0-255>
-// Default: 140
-#define SL_DEVICE_INIT_HFXO_CTUNE 87
+// DCDC PFMX Mode Peak Current Setting <0-15>
+//
+// Default: DCDC_PFMXCTRL_IPKVAL_DEFAULT
+#define SL_DEVICE_INIT_DCDC_PFMX_IPKVAL 12
// <<< end of configuration section >>>
-#endif // SL_DEVICE_INIT_HFXO_CONFIG_H
+#endif // SL_DEVICE_INIT_DCDC_CONFIG_H
diff --git a/matter/efr32/efr32mg24/BRD4186A/config/sl_device_init_dpll_config.h b/matter/efr32/efr32mg24/BRD4186A/config/sl_device_init_dpll_config.h
deleted file mode 100644
index eea3705c71..0000000000
--- a/matter/efr32/efr32mg24/BRD4186A/config/sl_device_init_dpll_config.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/***************************************************************************//**
- * @file
- * @brief DEVICE_INIT_DPLL Config
- *******************************************************************************
- * # License
- * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
- *******************************************************************************
- *
- * SPDX-License-Identifier: Zlib
- *
- * The licensor of this software is Silicon Laboratories Inc.
- *
- * This software is provided 'as-is', without any express or implied
- * warranty. In no event will the authors be held liable for any damages
- * arising from the use of this software.
- *
- * Permission is granted to anyone to use this software for any purpose,
- * including commercial applications, and to alter it and redistribute it
- * freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you must not
- * claim that you wrote the original software. If you use this software
- * in a product, an acknowledgment in the product documentation would be
- * appreciated but is not required.
- * 2. Altered source versions must be plainly marked as such, and must not be
- * misrepresented as being the original software.
- * 3. This notice may not be removed or altered from any source distribution.
- *
- ******************************************************************************/
-
-#ifndef SL_DEVICE_INIT_DPLL_CONFIG_H
-#define SL_DEVICE_INIT_DPLL_CONFIG_H
-
-// <<< Use Configuration Wizard in Context Menu >>>
-
-// Target Frequency <1000000-80000000>
-// DPLL target frequency
-// Default: 78000000
-#define SL_DEVICE_INIT_DPLL_FREQ 78000000
-
-// Numerator (N) <300-4095>
-// Value of N for output frequency calculation fout = fref * (N+1) / (M+1)
-// Default: 3839
-#define SL_DEVICE_INIT_DPLL_N 3839
-
-// Denominator (M) <0-4095>
-// Value of M for output frequency calculation fout = fref * (N+1) / (M+1)
-// Default: 1919
-#define SL_DEVICE_INIT_DPLL_M 1919
-
-// Reference Clock
-// Reference clock source for DPLL
-// HFXO
-// LFXO
-// CLKIN0
-// Default: cmuSelect_HFXO
-#define SL_DEVICE_INIT_DPLL_REFCLK cmuSelect_HFXO
-
-// Reference Clock Edge Detect
-// Edge detection for reference clock
-// Falling Edge
-// Rising Edge
-// Default: cmuDPLLEdgeSel_Fall
-#define SL_DEVICE_INIT_DPLL_EDGE cmuDPLLEdgeSel_Fall
-
-// DPLL Lock Mode
-// Lock mode
-// Frequency-Lock Loop
-// Phase-Lock Loop
-// Default: cmuDPLLLockMode_Freq
-#define SL_DEVICE_INIT_DPLL_LOCKMODE cmuDPLLLockMode_Phase
-
-// Automatic Lock Recovery
-// Default: 1
-#define SL_DEVICE_INIT_DPLL_AUTORECOVER 1
-
-// Enable Dither
-// Default: 0
-#define SL_DEVICE_INIT_DPLL_DITHER 0
-
-// <<< end of configuration section >>>
-
-#endif // SL_DEVICE_INIT_DPLL_CONFIG_H
diff --git a/matter/efr32/efr32mg24/BRD4186A/config/sl_memory_manager_region_config.h b/matter/efr32/efr32mg24/BRD4186A/config/sl_memory_manager_region_config.h
index f940d40ec4..f34bb11775 100644
--- a/matter/efr32/efr32mg24/BRD4186A/config/sl_memory_manager_region_config.h
+++ b/matter/efr32/efr32mg24/BRD4186A/config/sl_memory_manager_region_config.h
@@ -40,7 +40,7 @@
// The stack size configured here will be used by the stack that the
// application uses when coming out of a reset.
#ifndef SL_STACK_SIZE
-#define SL_STACK_SIZE 0
+#define SL_STACK_SIZE 4608
#endif
//
diff --git a/matter/efr32/efr32mg24/BRD4186C/autogen/sl_board_default_init.c b/matter/efr32/efr32mg24/BRD4186C/autogen/sl_board_default_init.c
new file mode 100644
index 0000000000..bd43db368b
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD4186C/autogen/sl_board_default_init.c
@@ -0,0 +1,36 @@
+/***************************************************************************//**
+ * @file
+ * @brief Board Default Init
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+#include "sl_board_control.h"
+
+void sl_board_default_init(void)
+{
+ sl_board_disable_vcom();
+
+}
diff --git a/matter/efr32/efr32mg24/BRD4186C/autogen/sl_component_catalog.h b/matter/efr32/efr32mg24/BRD4186C/autogen/sl_component_catalog.h
index 81e17adcec..09d8a38733 100644
--- a/matter/efr32/efr32mg24/BRD4186C/autogen/sl_component_catalog.h
+++ b/matter/efr32/efr32mg24/BRD4186C/autogen/sl_component_catalog.h
@@ -15,10 +15,11 @@
#define SL_CATALOG_BLUETOOTH_RTOS_ADAPTATION_PRESENT
#define SL_CATALOG_BLUETOOTH_PRESENT
#define SL_CATALOG_BLUETOOTH_FEATURE_MULTIPROTOCOL_PRESENT
+#define SL_CATALOG_CLOCK_MANAGER_PRESENT
#define SL_CATALOG_CMSIS_OS_COMMON_PRESENT
+#define SL_CATALOG_DEVICE_INIT_PRESENT
#define SL_CATALOG_DEVICE_INIT_CORE_PRESENT
-#define SL_CATALOG_DEVICE_INIT_DPLL_PRESENT
-#define SL_CATALOG_DEVICE_INIT_HFXO_PRESENT
+#define SL_CATALOG_DEVICE_INIT_DCDC_PRESENT
#define SL_CATALOG_EMLIB_CORE_PRESENT
#define SL_CATALOG_EMLIB_CORE_DEBUG_CONFIG_PRESENT
#define SL_CATALOG_EMLIB_RMU_PRESENT
diff --git a/matter/efr32/efr32mg24/BRD4186C/autogen/sl_event_handler.c b/matter/efr32/efr32mg24/BRD4186C/autogen/sl_event_handler.c
index 9e9f4882d2..d8ad57994a 100644
--- a/matter/efr32/efr32mg24/BRD4186C/autogen/sl_event_handler.c
+++ b/matter/efr32/efr32mg24/BRD4186C/autogen/sl_event_handler.c
@@ -2,17 +2,18 @@
#include "em_chip.h"
#include "sl_interrupt_manager.h"
+#include "sl_board_init.h"
+#include "sl_clock_manager_init.h"
+#include "sl_device_init_dcdc.h"
#include "sl_clock_manager.h"
#include "sl_hfxo_manager.h"
-#include "sl_device_init_hfxo.h"
-#include "sl_device_init_dpll.h"
#include "SEGGER_RTT.h"
-#include "sl_memory_manager.h"
#include "pa_conversions_efr32.h"
#if !RSI_BLE_ENABLE
#include "sl_rail_util_power_manager_init.h"
#endif
#include "sl_rail_util_pti.h"
+#include "sl_board_control.h"
#include "sl_bt_rtos_adaptation.h"
#include "sl_sleeptimer.h"
#include "gpiointerrupt.h"
@@ -41,12 +42,13 @@ void sl_platform_init(void)
{
CHIP_Init();
sl_interrupt_manager_init();
+ sl_board_preinit();
+ sl_clock_manager_init();
+ sl_device_init_dcdc();
sl_clock_manager_runtime_init();
sl_hfxo_manager_init_hardware();
- sl_device_init_hfxo();
- sl_device_init_dpll();
SEGGER_RTT_Init();
- sl_memory_init();
+ sl_board_init();
nvm3_initDefault();
osKernelInitialize();
sl_power_manager_init();
@@ -80,6 +82,7 @@ void sl_driver_init(void)
void sl_service_init(void)
{
+ sl_board_configure_vcom();
sl_sleeptimer_init();
sl_hfxo_manager_init();
sl_mbedtls_init();
diff --git a/matter/efr32/efr32mg24/BRD4186C/config/buffer_pool_allocator_config.h b/matter/efr32/efr32mg24/BRD4186C/config/buffer_pool_allocator_config.h
new file mode 100644
index 0000000000..2c3fd2e677
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD4186C/config/buffer_pool_allocator_config.h
@@ -0,0 +1,29 @@
+/***************************************************************************//**
+ * @file buffer_pool_allocator_config.h
+ * @brief Configuration file for buffer pool allocator.
+ * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com
+ ******************************************************************************/
+
+#ifndef __BUFFER_POOL_ALLOCATOR_CONFIG_H__
+#define __BUFFER_POOL_ALLOCATOR_CONFIG_H__
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// Memory Manager Configuration
+
+// Number Buffer Pools
+// <0-256:1>
+// Default: 5
+#define BUFFER_POOL_ALLOCATOR_POOL_SIZE 5
+
+// Length of Each Buffer Pool
+// <0-1024:1>
+// Default: 256
+#define BUFFER_POOL_ALLOCATOR_BUFFER_SIZE_MAX 256
+
+// Clear Each Newly Allocated Buffer
+#define BUFFER_POOL_ALLOCATOR_CLEAR_ON_INIT 0
+
+//
+// <<< end of configuration section >>>
+
+#endif // __BUFFER_POOL_ALLOCATOR_CONFIG_H__
diff --git a/matter/efr32/efr32mg24/BRD4186C/config/circular_queue_config.h b/matter/efr32/efr32mg24/BRD4186C/config/circular_queue_config.h
new file mode 100644
index 0000000000..81a7173d6a
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD4186C/config/circular_queue_config.h
@@ -0,0 +1,23 @@
+/***************************************************************************//**
+ * @file circular_queue_config.h
+ * @brief Configuration file for circular queue.
+ * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com
+ ******************************************************************************/
+
+#ifndef __CIRCULAR_QUEUE_CONFIG_H__
+#define __CIRCULAR_QUEUE_CONFIG_H__
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// Circular Queue Configuration
+
+// Max Queue Length
+// <0-256:1>
+// Default: 5
+#ifndef CIRCULAR_QUEUE_LEN_MAX
+#define CIRCULAR_QUEUE_LEN_MAX 16
+#endif
+
+//
+// <<< end of configuration section >>>
+
+#endif // __CIRCULAR_QUEUE_CONFIG_H__
diff --git a/matter/efr32/efr32mg24/BRD4186C/config/sl_board_control_config.h b/matter/efr32/efr32mg24/BRD4186C/config/sl_board_control_config.h
new file mode 100644
index 0000000000..e175eb54c9
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD4186C/config/sl_board_control_config.h
@@ -0,0 +1,76 @@
+/***************************************************************************//**
+ * @file
+ * @brief Board Control
+ *******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_BOARD_CONTROL_CONFIG_H
+#define SL_BOARD_CONTROL_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Enable Virtual COM UART
+// Default: 0
+#define SL_BOARD_ENABLE_VCOM 0
+
+// Enable Display
+// Default: 0
+#define SL_BOARD_ENABLE_DISPLAY 0
+
+// Enable Relative Humidity and Temperature sensor
+// Default: 0
+#define SL_BOARD_ENABLE_SENSOR_RHT 0
+
+// Disable SPI Flash
+// Default: 1
+#define SL_BOARD_DISABLE_MEMORY_SPI 1
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_BOARD_ENABLE_VCOM
+// $[GPIO_SL_BOARD_ENABLE_VCOM]
+#define SL_BOARD_ENABLE_VCOM_PORT gpioPortB
+#define SL_BOARD_ENABLE_VCOM_PIN 0
+// [GPIO_SL_BOARD_ENABLE_VCOM]$
+
+// SL_BOARD_ENABLE_DISPLAY
+// $[GPIO_SL_BOARD_ENABLE_DISPLAY]
+#define SL_BOARD_ENABLE_DISPLAY_PORT gpioPortC
+#define SL_BOARD_ENABLE_DISPLAY_PIN 9
+// [GPIO_SL_BOARD_ENABLE_DISPLAY]$
+
+// SL_BOARD_ENABLE_SENSOR_RHT
+// $[GPIO_SL_BOARD_ENABLE_SENSOR_RHT]
+#define SL_BOARD_ENABLE_SENSOR_RHT_PORT gpioPortD
+#define SL_BOARD_ENABLE_SENSOR_RHT_PIN 3
+// [GPIO_SL_BOARD_ENABLE_SENSOR_RHT]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_BOARD_CONTROL_CONFIG_H
diff --git a/matter/efr32/efr32mg24/BRD4186C/config/sl_bt_rtos_config.h b/matter/efr32/efr32mg24/BRD4186C/config/sl_bt_rtos_config.h
index a0ef9988b1..c87ca11c3b 100644
--- a/matter/efr32/efr32mg24/BRD4186C/config/sl_bt_rtos_config.h
+++ b/matter/efr32/efr32mg24/BRD4186C/config/sl_bt_rtos_config.h
@@ -46,7 +46,7 @@
// Default: 1000
// Define the stack size of the Bluetooth link layer task. The value is in bytes
// and will be word aligned when it is applied at the task creation.
-#define SL_BT_RTOS_LINK_LAYER_TASK_STACK_SIZE (1024)
+#define SL_BT_RTOS_LINK_LAYER_TASK_STACK_SIZE 1024
// Bluetooth host stack task priority
// Default: 51 (CMSIS-RTOS2 osPriorityRealtime3)
@@ -58,7 +58,7 @@
// Default: 2000
// Define the stack size of the Bluetooth host stack task. The value is in bytes
// and will be word aligned when it is applied at the task creation.
-#define SL_BT_RTOS_HOST_STACK_TASK_STACK_SIZE (2048)
+#define SL_BT_RTOS_HOST_STACK_TASK_STACK_SIZE 2048
// Bluetooth event handler task priority
// Default: 50 (CMSIS-RTOS2 osPriorityRealtime2)
@@ -71,7 +71,7 @@
// Default: 1000
// Define the stack size of the Bluetooth event handler task. The value is in bytes
// and will be word aligned when it is applied at the task creation.
-#define SL_BT_RTOS_EVENT_HANDLER_STACK_SIZE (1536)
+#define SL_BT_RTOS_EVENT_HANDLER_STACK_SIZE 1536
// End Priority Configuration for Bluetooth RTOS Tasks
diff --git a/matter/efr32/efr32mg24/BRD4186C/config/sl_clock_manager_oscillator_config.h b/matter/efr32/efr32mg24/BRD4186C/config/sl_clock_manager_oscillator_config.h
new file mode 100644
index 0000000000..c8a5581741
--- /dev/null
+++ b/matter/efr32/efr32mg24/BRD4186C/config/sl_clock_manager_oscillator_config.h
@@ -0,0 +1,321 @@
+/***************************************************************************//**
+ * @file
+ * @brief Clock Manager - Oscillators configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H
+#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H
+
+// Oscillators Settings
+
+// HFXO Settings (if High Frequency crystal is used)
+// Enable to configure HFXO
+#ifndef SL_CLOCK_MANAGER_HFXO_EN
+#define SL_CLOCK_MANAGER_HFXO_EN 1
+#endif
+
+// Mode
+//
+// XTAL
+// EXTCLK
+// EXTCLKPKDET
+// HFXO_CFG_MODE_XTAL
+#ifndef SL_CLOCK_MANAGER_HFXO_MODE
+#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL
+#endif
+
+// Frequency <38000000-40000000>
+// 39000000
+#ifndef SL_CLOCK_MANAGER_HFXO_FREQ
+#define SL_CLOCK_MANAGER_HFXO_FREQ 39000000
+#endif
+
+// CTUNE <0-255>
+// 140
+#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE
+#define SL_CLOCK_MANAGER_HFXO_CTUNE 87
+#endif
+
+// Precision <0-65535>
+// 50
+#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION
+#define SL_CLOCK_MANAGER_HFXO_PRECISION 50
+#endif
+
+// HFXO crystal sharing feature
+// Enable to configure HFXO crystal sharing leader or follower
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN 0
+#endif
+
+// Crystal sharing leader
+// Enable to configure HFXO crystal sharing leader
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN 0
+#endif
+
+// Crystal sharing leader minimum startup delay
+// If enabled, BUFOUT does not start until timeout set in
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP expires.
+// This prevents waste of power if BUFOUT is ready too early.
+// 1
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN 1
+#endif
+
+// Wait duration of oscillator startup sequence
+//
+// T42US
+// T83US
+// T108US
+// T133US
+// T158US
+// T183US
+// T208US
+// T233US
+// T258US
+// T283US
+// T333US
+// T375US
+// T417US
+// T458US
+//