[Silabs] EFR32 common files modification, logging and some extra changes (#23751)

* example/platform/silabs/efr32 modifications of common files

* App modifications for the logging

* src/platform folder modification with logging and common file modifications

* restyling and some build changes that were missed

* adding logs to places where it was missed for the build to pass
diff --git a/examples/chef/efr32/include/AppConfig.h b/examples/chef/efr32/include/AppConfig.h
index 946b593..a936fe1 100644
--- a/examples/chef/efr32/include/AppConfig.h
+++ b/examples/chef/efr32/include/AppConfig.h
@@ -32,10 +32,10 @@
 extern "C" {
 #endif
 
-void efr32InitLog(void);
+void silabsInitLog(void);
 
 void efr32Log(const char * aFormat, ...);
-#define EFR32_LOG(...) efr32Log(__VA_ARGS__);
+#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
 void appError(int err);
 
 #ifdef __cplusplus
diff --git a/examples/chef/efr32/src/AppTask.cpp b/examples/chef/efr32/src/AppTask.cpp
index a14eece..0eb2b9e 100644
--- a/examples/chef/efr32/src/AppTask.cpp
+++ b/examples/chef/efr32/src/AppTask.cpp
@@ -135,7 +135,7 @@
     err = BaseApplication::Init(&gIdentify);
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("BaseApplication::Init() failed");
+        SILABS_LOG("BaseApplication::Init() failed");
         appError(err);
     }
 
@@ -155,11 +155,11 @@
     CHIP_ERROR err = sAppTask.Init();
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("AppTask.Init() failed");
+        SILABS_LOG("AppTask.Init() failed");
         appError(err);
     }
 
-    EFR32_LOG("App Task started");
+    SILABS_LOG("App Task started");
 
     while (true)
     {
diff --git a/examples/chef/efr32/src/LightingManager.cpp b/examples/chef/efr32/src/LightingManager.cpp
index 59ee274..d6684bf 100644
--- a/examples/chef/efr32/src/LightingManager.cpp
+++ b/examples/chef/efr32/src/LightingManager.cpp
@@ -39,7 +39,7 @@
 
     if (sLightTimer == NULL)
     {
-        EFR32_LOG("sLightTimer timer create failed");
+        SILABS_LOG("sLightTimer timer create failed");
         return APP_ERROR_CREATE_TIMER_FAILED;
     }
 
@@ -125,7 +125,7 @@
 {
     if (xTimerIsTimerActive(sLightTimer))
     {
-        EFR32_LOG("app timer already started!");
+        SILABS_LOG("app timer already started!");
         CancelTimer();
     }
 
@@ -134,7 +134,7 @@
     // cannot immediately be sent to the timer command queue.
     if (xTimerChangePeriod(sLightTimer, (aTimeoutMs / portTICK_PERIOD_MS), 100) != pdPASS)
     {
-        EFR32_LOG("sLightTimer timer start() failed");
+        SILABS_LOG("sLightTimer timer start() failed");
         appError(APP_ERROR_START_TIMER_FAILED);
     }
 }
@@ -143,7 +143,7 @@
 {
     if (xTimerStop(sLightTimer, 0) == pdFAIL)
     {
-        EFR32_LOG("sLightTimer stop() failed");
+        SILABS_LOG("sLightTimer stop() failed");
         appError(APP_ERROR_STOP_TIMER_FAILED);
     }
 }
@@ -183,7 +183,7 @@
 
     light->mAutoTurnOffTimerArmed = false;
 
-    EFR32_LOG("Auto Turn Off has been triggered!");
+    SILABS_LOG("Auto Turn Off has been triggered!");
 
     light->InitiateAction(actor, OFF_ACTION);
 }
@@ -219,7 +219,7 @@
 
             light->mAutoTurnOffTimerArmed = true;
 
-            EFR32_LOG("Auto Turn off enabled. Will be triggered in %u seconds", light->mAutoTurnOffDuration);
+            SILABS_LOG("Auto Turn off enabled. Will be triggered in %u seconds", light->mAutoTurnOffDuration);
         }
     }
 }
diff --git a/examples/chef/efr32/src/main.cpp b/examples/chef/efr32/src/main.cpp
index 81cc220..c54683e 100644
--- a/examples/chef/efr32/src/main.cpp
+++ b/examples/chef/efr32/src/main.cpp
@@ -65,16 +65,16 @@
 #endif
     chip::DeviceLayer::PlatformMgr().UnlockChipStack();
 
-    EFR32_LOG("Starting App Task");
+    SILABS_LOG("Starting App Task");
     if (AppTask::GetAppTask().StartAppTask() != CHIP_NO_ERROR)
         appError(CHIP_ERROR_INTERNAL);
 
-    EFR32_LOG("Starting FreeRTOS scheduler");
+    SILABS_LOG("Starting FreeRTOS scheduler");
     sl_system_kernel_start();
 
     // Should never get here.
     chip::Platform::MemoryShutdown();
-    EFR32_LOG("vTaskStartScheduler() failed");
+    SILABS_LOG("vTaskStartScheduler() failed");
     appError(CHIP_ERROR_INTERNAL);
 }
 
diff --git a/examples/light-switch-app/efr32/include/AppConfig.h b/examples/light-switch-app/efr32/include/AppConfig.h
index 946b593..a936fe1 100644
--- a/examples/light-switch-app/efr32/include/AppConfig.h
+++ b/examples/light-switch-app/efr32/include/AppConfig.h
@@ -32,10 +32,10 @@
 extern "C" {
 #endif
 
-void efr32InitLog(void);
+void silabsInitLog(void);
 
 void efr32Log(const char * aFormat, ...);
-#define EFR32_LOG(...) efr32Log(__VA_ARGS__);
+#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
 void appError(int err);
 
 #ifdef __cplusplus
diff --git a/examples/light-switch-app/efr32/src/AppTask.cpp b/examples/light-switch-app/efr32/src/AppTask.cpp
index 96459f9..3a3b243 100644
--- a/examples/light-switch-app/efr32/src/AppTask.cpp
+++ b/examples/light-switch-app/efr32/src/AppTask.cpp
@@ -157,7 +157,7 @@
     err = BaseApplication::Init(&gIdentify);
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("BaseApplication::Init() failed");
+        SILABS_LOG("BaseApplication::Init() failed");
         appError(err);
     }
 
@@ -165,7 +165,7 @@
     err = InitBindingHandler();
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("InitBindingHandler() failed");
+        SILABS_LOG("InitBindingHandler() failed");
         appError(err);
     }
 
@@ -185,7 +185,7 @@
     CHIP_ERROR err = sAppTask.Init();
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("AppTask.Init() failed");
+        SILABS_LOG("AppTask.Init() failed");
         appError(err);
     }
 
@@ -193,7 +193,7 @@
     sAppTask.StartStatusLEDTimer();
 #endif
 
-    EFR32_LOG("App Task started");
+    SILABS_LOG("App Task started");
     while (true)
     {
         BaseType_t eventReceived = xQueueReceive(sAppEventQueue, &event, portMAX_DELAY);
diff --git a/examples/light-switch-app/efr32/src/main.cpp b/examples/light-switch-app/efr32/src/main.cpp
index 7c6cebb..0b0211f 100644
--- a/examples/light-switch-app/efr32/src/main.cpp
+++ b/examples/light-switch-app/efr32/src/main.cpp
@@ -28,7 +28,7 @@
 #include <credentials/DeviceAttestationCredsProvider.h>
 #include <matter_config.h>
 #ifdef EFR32_ATTESTATION_CREDENTIALS
-#include <examples/platform/efr32/EFR32DeviceAttestationCreds.h>
+#include <examples/platform/silabs/SilabsDeviceAttestationCreds.h>
 #else
 #include <credentials/examples/DeviceAttestationCredsExample.h>
 #endif
@@ -59,22 +59,22 @@
     chip::DeviceLayer::PlatformMgr().LockChipStack();
     // Initialize device attestation config
 #ifdef EFR32_ATTESTATION_CREDENTIALS
-    SetDeviceAttestationCredentialsProvider(EFR32::GetEFR32DacProvider());
+    SetDeviceAttestationCredentialsProvider(Silabs::GetSilabsDacProvider());
 #else
     SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
 #endif
     chip::DeviceLayer::PlatformMgr().UnlockChipStack();
 
-    EFR32_LOG("Starting App Task");
+    SILABS_LOG("Starting App Task");
     if (AppTask::GetAppTask().StartAppTask() != CHIP_NO_ERROR)
         appError(CHIP_ERROR_INTERNAL);
 
-    EFR32_LOG("Starting FreeRTOS scheduler");
+    SILABS_LOG("Starting FreeRTOS scheduler");
     sl_system_kernel_start();
 
     // Should never get here.
     chip::Platform::MemoryShutdown();
-    EFR32_LOG("vTaskStartScheduler() failed");
+    SILABS_LOG("vTaskStartScheduler() failed");
     appError(CHIP_ERROR_INTERNAL);
 }
 
diff --git a/examples/lighting-app/silabs/efr32/src/AppTask.cpp b/examples/lighting-app/silabs/efr32/src/AppTask.cpp
index 5735943..850649d 100644
--- a/examples/lighting-app/silabs/efr32/src/AppTask.cpp
+++ b/examples/lighting-app/silabs/efr32/src/AppTask.cpp
@@ -141,14 +141,14 @@
     err = BaseApplication::Init(&gIdentify);
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("BaseApplication::Init() failed");
+        SILABS_LOG("BaseApplication::Init() failed");
         appError(err);
     }
 
     err = LightMgr().Init();
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("LightMgr::Init() failed");
+        SILABS_LOG("LightMgr::Init() failed");
         appError(err);
     }
 
@@ -175,7 +175,7 @@
     CHIP_ERROR err = sAppTask.Init();
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("AppTask.Init() failed");
+        SILABS_LOG("AppTask.Init() failed");
         appError(err);
     }
 
@@ -183,7 +183,7 @@
     sAppTask.StartStatusLEDTimer();
 #endif
 
-    EFR32_LOG("App Task started");
+    SILABS_LOG("App Task started");
 
     while (true)
     {
@@ -242,7 +242,7 @@
 
         if (!initiated)
         {
-            EFR32_LOG("Action is already in progress or active.");
+            SILABS_LOG("Action is already in progress or active.");
         }
     }
 }
@@ -274,7 +274,7 @@
 {
     // Action initiated, update the light led
     bool lightOn = aAction == LightingManager::ON_ACTION;
-    EFR32_LOG("Turning light %s", (lightOn) ? "On" : "Off")
+    SILABS_LOG("Turning light %s", (lightOn) ? "On" : "Off")
 
 #ifdef ENABLE_WSTK_LEDS
     sLightLED.Set(lightOn);
@@ -295,11 +295,11 @@
     // action has been completed bon the light
     if (aAction == LightingManager::ON_ACTION)
     {
-        EFR32_LOG("Light ON")
+        SILABS_LOG("Light ON")
     }
     else if (aAction == LightingManager::OFF_ACTION)
     {
-        EFR32_LOG("Light OFF")
+        SILABS_LOG("Light OFF")
     }
 
     if (sAppTask.mSyncClusterToButtonAction)
@@ -328,6 +328,6 @@
 
     if (status != EMBER_ZCL_STATUS_SUCCESS)
     {
-        EFR32_LOG("ERR: updating on/off %x", status);
+        SILABS_LOG("ERR: updating on/off %x", status);
     }
 }
diff --git a/examples/lighting-app/silabs/efr32/src/LightingManager.cpp b/examples/lighting-app/silabs/efr32/src/LightingManager.cpp
index ac5f86a..31a4ca0 100644
--- a/examples/lighting-app/silabs/efr32/src/LightingManager.cpp
+++ b/examples/lighting-app/silabs/efr32/src/LightingManager.cpp
@@ -57,7 +57,7 @@
 
     if (sLightTimer == NULL)
     {
-        EFR32_LOG("sLightTimer timer create failed");
+        SILABS_LOG("sLightTimer timer create failed");
         return APP_ERROR_CREATE_TIMER_FAILED;
     }
 
@@ -156,7 +156,7 @@
 {
     if (xTimerIsTimerActive(sLightTimer))
     {
-        EFR32_LOG("app timer already started!");
+        SILABS_LOG("app timer already started!");
         CancelTimer();
     }
 
@@ -165,7 +165,7 @@
     // cannot immediately be sent to the timer command queue.
     if (xTimerChangePeriod(sLightTimer, (aTimeoutMs / portTICK_PERIOD_MS), 100) != pdPASS)
     {
-        EFR32_LOG("sLightTimer timer start() failed");
+        SILABS_LOG("sLightTimer timer start() failed");
         appError(APP_ERROR_START_TIMER_FAILED);
     }
 }
@@ -174,7 +174,7 @@
 {
     if (xTimerStop(sLightTimer, 0) == pdFAIL)
     {
-        EFR32_LOG("sLightTimer stop() failed");
+        SILABS_LOG("sLightTimer stop() failed");
         appError(APP_ERROR_STOP_TIMER_FAILED);
     }
 }
@@ -218,7 +218,7 @@
 
     light->mAutoTurnOffTimerArmed = false;
 
-    EFR32_LOG("Auto Turn Off has been triggered!");
+    SILABS_LOG("Auto Turn Off has been triggered!");
 
     light->InitiateAction(actor, OFF_ACTION);
 }
@@ -236,7 +236,7 @@
 
     light->mOffEffectArmed = false;
 
-    EFR32_LOG("OffEffect completed");
+    SILABS_LOG("OffEffect completed");
 
     light->InitiateAction(actor, OFF_ACTION);
 }
@@ -272,7 +272,7 @@
 
             light->mAutoTurnOffTimerArmed = true;
 
-            EFR32_LOG("Auto Turn off enabled. Will be triggered in %u seconds", light->mAutoTurnOffDuration);
+            SILABS_LOG("Auto Turn off enabled. Will be triggered in %u seconds", light->mAutoTurnOffDuration);
         }
     }
 }
diff --git a/examples/lighting-app/silabs/efr32/src/main.cpp b/examples/lighting-app/silabs/efr32/src/main.cpp
index c9838ac..2594f6f 100644
--- a/examples/lighting-app/silabs/efr32/src/main.cpp
+++ b/examples/lighting-app/silabs/efr32/src/main.cpp
@@ -28,7 +28,7 @@
 #include <credentials/DeviceAttestationCredsProvider.h>
 #include <matter_config.h>
 #ifdef EFR32_ATTESTATION_CREDENTIALS
-#include <examples/platform/efr32/EFR32DeviceAttestationCreds.h>
+#include <examples/platform/silabs/SilabsDeviceAttestationCreds.h>
 #else
 #include <credentials/examples/DeviceAttestationCredsExample.h>
 #endif
@@ -59,22 +59,22 @@
     chip::DeviceLayer::PlatformMgr().LockChipStack();
     // Initialize device attestation config
 #ifdef EFR32_ATTESTATION_CREDENTIALS
-    SetDeviceAttestationCredentialsProvider(EFR32::GetEFR32DacProvider());
+    SetDeviceAttestationCredentialsProvider(Silabs::GetSilabsDacProvider());
 #else
     SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
 #endif
     chip::DeviceLayer::PlatformMgr().UnlockChipStack();
 
-    EFR32_LOG("Starting App Task");
+    SILABS_LOG("Starting App Task");
     if (AppTask::GetAppTask().StartAppTask() != CHIP_NO_ERROR)
         appError(CHIP_ERROR_INTERNAL);
 
-    EFR32_LOG("Starting FreeRTOS scheduler");
+    SILABS_LOG("Starting FreeRTOS scheduler");
     sl_system_kernel_start();
 
     // Should never get here.
     chip::Platform::MemoryShutdown();
-    EFR32_LOG("vTaskStartScheduler() failed");
+    SILABS_LOG("vTaskStartScheduler() failed");
     appError(CHIP_ERROR_INTERNAL);
 }
 
diff --git a/examples/lock-app/efr32/include/AppConfig.h b/examples/lock-app/efr32/include/AppConfig.h
index 096560a..3014c5b 100644
--- a/examples/lock-app/efr32/include/AppConfig.h
+++ b/examples/lock-app/efr32/include/AppConfig.h
@@ -32,10 +32,10 @@
 extern "C" {
 #endif
 
-void efr32InitLog(void);
+void silabsInitLog(void);
 
 void efr32Log(const char * aFormat, ...);
-#define EFR32_LOG(...) efr32Log(__VA_ARGS__);
+#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
 void appError(int err);
 
 #ifdef __cplusplus
diff --git a/examples/lock-app/efr32/src/AppTask.cpp b/examples/lock-app/efr32/src/AppTask.cpp
index ae683cc..5500393 100644
--- a/examples/lock-app/efr32/src/AppTask.cpp
+++ b/examples/lock-app/efr32/src/AppTask.cpp
@@ -160,7 +160,7 @@
     err = BaseApplication::Init(&gIdentify);
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("BaseApplication::Init() failed");
+        SILABS_LOG("BaseApplication::Init() failed");
         appError(err);
     }
 
@@ -168,7 +168,7 @@
     err = RegisterLockEvents();
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("RegisterLockEvents() failed");
+        SILABS_LOG("RegisterLockEvents() failed");
         appError(err);
     }
 #endif // ENABLE_CHIP_SHELL
@@ -241,7 +241,7 @@
 
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("LockMgr().Init() failed");
+        SILABS_LOG("LockMgr().Init() failed");
         appError(err);
     }
 
@@ -273,7 +273,7 @@
     CHIP_ERROR err = sAppTask.Init();
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("AppTask.Init() failed");
+        SILABS_LOG("AppTask.Init() failed");
         appError(err);
     }
 
@@ -281,7 +281,7 @@
     sAppTask.StartStatusLEDTimer();
 #endif
 
-    EFR32_LOG("App Task started");
+    SILABS_LOG("App Task started");
 
     // Users and credentials should be checked once from nvm flash on boot
     LockMgr().ReadConfigValues();
@@ -350,7 +350,7 @@
 
         if (!initiated)
         {
-            EFR32_LOG("Action is already in progress or active.");
+            SILABS_LOG("Action is already in progress or active.");
         }
     }
 }
@@ -383,7 +383,7 @@
     if (aAction == LockManager::UNLOCK_ACTION || aAction == LockManager::LOCK_ACTION)
     {
         bool locked = (aAction == LockManager::LOCK_ACTION);
-        EFR32_LOG("%s Action has been initiated", (locked) ? "Lock" : "Unlock");
+        SILABS_LOG("%s Action has been initiated", (locked) ? "Lock" : "Unlock");
 #ifdef ENABLE_WSTK_LEDS
         sLockLED.Set(!locked);
 #endif // ENABLE_WSTK_LEDS
@@ -406,11 +406,11 @@
     // Turn on the lock LED if in an UNLOCKED state.
     if (aAction == LockManager::LOCK_ACTION)
     {
-        EFR32_LOG("Lock Action has been completed")
+        SILABS_LOG("Lock Action has been completed")
     }
     else if (aAction == LockManager::UNLOCK_ACTION)
     {
-        EFR32_LOG("Unlock Action has been completed")
+        SILABS_LOG("Unlock Action has been completed")
     }
 
     if (sAppTask.mSyncClusterToButtonAction)
@@ -443,6 +443,6 @@
 
     if (status != EMBER_ZCL_STATUS_SUCCESS)
     {
-        EFR32_LOG("ERR: updating lock state %x", status);
+        SILABS_LOG("ERR: updating lock state %x", status);
     }
 }
diff --git a/examples/lock-app/efr32/src/LockManager.cpp b/examples/lock-app/efr32/src/LockManager.cpp
index 4e7e17b..abc7b45 100644
--- a/examples/lock-app/efr32/src/LockManager.cpp
+++ b/examples/lock-app/efr32/src/LockManager.cpp
@@ -40,22 +40,22 @@
 
     if (LockParams.numberOfUsers > kMaxUsers)
     {
-        EFR32_LOG("Max number of users is greater than %d, the maximum amount of users currently supported on this platform",
-                  kMaxUsers);
+        SILABS_LOG("Max number of users is greater than %d, the maximum amount of users currently supported on this platform",
+                   kMaxUsers);
         return APP_ERROR_ALLOCATION_FAILED;
     }
 
     if (LockParams.numberOfCredentialsPerUser > kMaxCredentialsPerUser)
     {
-        EFR32_LOG("Max number of credentials per user is greater than %d, the maximum amount of users currently supported on this "
-                  "platform",
-                  kMaxCredentialsPerUser);
+        SILABS_LOG("Max number of credentials per user is greater than %d, the maximum amount of users currently supported on this "
+                   "platform",
+                   kMaxCredentialsPerUser);
         return APP_ERROR_ALLOCATION_FAILED;
     }
 
     if (LockParams.numberOfWeekdaySchedulesPerUser > kMaxWeekdaySchedulesPerUser)
     {
-        EFR32_LOG(
+        SILABS_LOG(
             "Max number of schedules is greater than %d, the maximum amount of schedules currently supported on this platform",
             kMaxWeekdaySchedulesPerUser);
         return APP_ERROR_ALLOCATION_FAILED;
@@ -63,7 +63,7 @@
 
     if (LockParams.numberOfYeardaySchedulesPerUser > kMaxYeardaySchedulesPerUser)
     {
-        EFR32_LOG(
+        SILABS_LOG(
             "Max number of schedules is greater than %d, the maximum amount of schedules currently supported on this platform",
             kMaxYeardaySchedulesPerUser);
         return APP_ERROR_ALLOCATION_FAILED;
@@ -71,7 +71,7 @@
 
     if (LockParams.numberOfHolidaySchedules > kMaxHolidaySchedules)
     {
-        EFR32_LOG(
+        SILABS_LOG(
             "Max number of schedules is greater than %d, the maximum amount of schedules currently supported on this platform",
             kMaxHolidaySchedules);
         return APP_ERROR_ALLOCATION_FAILED;
@@ -87,7 +87,7 @@
 
     if (sLockTimer == NULL)
     {
-        EFR32_LOG("sLockTimer timer create failed");
+        SILABS_LOG("sLockTimer timer create failed");
         return APP_ERROR_CREATE_TIMER_FAILED;
     }
 
@@ -131,34 +131,34 @@
 bool LockManager::ReadConfigValues()
 {
     size_t outLen;
-    EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_LockUser, reinterpret_cast<uint8_t *>(&mLockUsers),
-                                    sizeof(EmberAfPluginDoorLockUserInfo) * ArraySize(mLockUsers), outLen);
+    SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_LockUser, reinterpret_cast<uint8_t *>(&mLockUsers),
+                                     sizeof(EmberAfPluginDoorLockUserInfo) * ArraySize(mLockUsers), outLen);
 
-    EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_Credential, reinterpret_cast<uint8_t *>(&mLockCredentials),
-                                    sizeof(EmberAfPluginDoorLockCredentialInfo) * ArraySize(mLockCredentials), outLen);
+    SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_Credential, reinterpret_cast<uint8_t *>(&mLockCredentials),
+                                     sizeof(EmberAfPluginDoorLockCredentialInfo) * ArraySize(mLockCredentials), outLen);
 
-    EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_LockUserName, reinterpret_cast<uint8_t *>(mUserNames),
-                                    sizeof(mUserNames), outLen);
+    SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_LockUserName, reinterpret_cast<uint8_t *>(mUserNames),
+                                     sizeof(mUserNames), outLen);
 
-    EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_CredentialData, reinterpret_cast<uint8_t *>(mCredentialData),
-                                    sizeof(mCredentialData), outLen);
+    SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_CredentialData, reinterpret_cast<uint8_t *>(mCredentialData),
+                                     sizeof(mCredentialData), outLen);
 
-    EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_UserCredentials, reinterpret_cast<uint8_t *>(mCredentials),
-                                    sizeof(DlCredential) * LockParams.numberOfUsers * LockParams.numberOfCredentialsPerUser,
-                                    outLen);
+    SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_UserCredentials, reinterpret_cast<uint8_t *>(mCredentials),
+                                     sizeof(DlCredential) * LockParams.numberOfUsers * LockParams.numberOfCredentialsPerUser,
+                                     outLen);
 
-    EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_WeekDaySchedules, reinterpret_cast<uint8_t *>(mWeekdaySchedule),
-                                    sizeof(EmberAfPluginDoorLockWeekDaySchedule) * LockParams.numberOfWeekdaySchedulesPerUser *
-                                        LockParams.numberOfUsers,
-                                    outLen);
+    SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_WeekDaySchedules, reinterpret_cast<uint8_t *>(mWeekdaySchedule),
+                                     sizeof(EmberAfPluginDoorLockWeekDaySchedule) * LockParams.numberOfWeekdaySchedulesPerUser *
+                                         LockParams.numberOfUsers,
+                                     outLen);
 
-    EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_YearDaySchedules, reinterpret_cast<uint8_t *>(mYeardaySchedule),
-                                    sizeof(EmberAfPluginDoorLockYearDaySchedule) * LockParams.numberOfYeardaySchedulesPerUser *
-                                        LockParams.numberOfUsers,
-                                    outLen);
+    SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_YearDaySchedules, reinterpret_cast<uint8_t *>(mYeardaySchedule),
+                                     sizeof(EmberAfPluginDoorLockYearDaySchedule) * LockParams.numberOfYeardaySchedulesPerUser *
+                                         LockParams.numberOfUsers,
+                                     outLen);
 
-    EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_HolidaySchedules, reinterpret_cast<uint8_t *>(&(mHolidaySchedule)),
-                                    sizeof(EmberAfPluginDoorLockHolidaySchedule) * LockParams.numberOfHolidaySchedules, outLen);
+    SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_HolidaySchedules, reinterpret_cast<uint8_t *>(&(mHolidaySchedule)),
+                                     sizeof(EmberAfPluginDoorLockHolidaySchedule) * LockParams.numberOfHolidaySchedules, outLen);
 
     return true;
 }
@@ -219,7 +219,7 @@
 {
     if (xTimerIsTimerActive(sLockTimer))
     {
-        EFR32_LOG("app timer already started!");
+        SILABS_LOG("app timer already started!");
         CancelTimer();
     }
 
@@ -228,7 +228,7 @@
     // cannot immediately be sent to the timer command queue.
     if (xTimerChangePeriod(sLockTimer, (aTimeoutMs / portTICK_PERIOD_MS), 100) != pdPASS)
     {
-        EFR32_LOG("sLockTimer timer start() failed");
+        SILABS_LOG("sLockTimer timer start() failed");
         appError(APP_ERROR_START_TIMER_FAILED);
     }
 }
@@ -237,7 +237,7 @@
 {
     if (xTimerStop(sLockTimer, 0) == pdFAIL)
     {
-        EFR32_LOG("sLockTimer stop() failed");
+        SILABS_LOG("sLockTimer stop() failed");
         appError(APP_ERROR_STOP_TIMER_FAILED);
     }
 }
@@ -386,14 +386,14 @@
     userInStorage.credentials = chip::Span<const DlCredential>(mCredentials[userIndex], totalCredentials);
 
     // Save user information in NVM flash
-    EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_LockUser, reinterpret_cast<const uint8_t *>(&mLockUsers),
-                                     sizeof(EmberAfPluginDoorLockUserInfo) * LockParams.numberOfUsers);
+    SILABSConfig::WriteConfigValueBin(SILABSConfig::kConfigKey_LockUser, reinterpret_cast<const uint8_t *>(&mLockUsers),
+                                      sizeof(EmberAfPluginDoorLockUserInfo) * LockParams.numberOfUsers);
 
-    EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_UserCredentials, reinterpret_cast<const uint8_t *>(mCredentials),
-                                     sizeof(DlCredential) * LockParams.numberOfUsers * LockParams.numberOfCredentialsPerUser);
+    SILABSConfig::WriteConfigValueBin(SILABSConfig::kConfigKey_UserCredentials, reinterpret_cast<const uint8_t *>(mCredentials),
+                                      sizeof(DlCredential) * LockParams.numberOfUsers * LockParams.numberOfCredentialsPerUser);
 
-    EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_LockUserName, reinterpret_cast<const uint8_t *>(mUserNames),
-                                     sizeof(mUserNames));
+    SILABSConfig::WriteConfigValueBin(SILABSConfig::kConfigKey_LockUserName, reinterpret_cast<const uint8_t *>(mUserNames),
+                                      sizeof(mUserNames));
 
     ChipLogProgress(Zcl, "Successfully set the user [mEndpointId=%d,index=%d]", endpointId, userIndex);
 
@@ -473,11 +473,11 @@
     credentialInStorage.credentialData = chip::ByteSpan{ mCredentialData[credentialIndex], credentialData.size() };
 
     // Save credential information in NVM flash
-    EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_Credential, reinterpret_cast<const uint8_t *>(&mLockCredentials),
-                                     sizeof(EmberAfPluginDoorLockCredentialInfo) * LockParams.numberOfCredentialsPerUser);
+    SILABSConfig::WriteConfigValueBin(SILABSConfig::kConfigKey_Credential, reinterpret_cast<const uint8_t *>(&mLockCredentials),
+                                      sizeof(EmberAfPluginDoorLockCredentialInfo) * LockParams.numberOfCredentialsPerUser);
 
-    EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_CredentialData, reinterpret_cast<const uint8_t *>(&mCredentialData),
-                                     sizeof(mCredentialData));
+    SILABSConfig::WriteConfigValueBin(SILABSConfig::kConfigKey_CredentialData, reinterpret_cast<const uint8_t *>(&mCredentialData),
+                                      sizeof(mCredentialData));
 
     ChipLogProgress(Zcl, "Successfully set the credential [credentialType=%u]", to_underlying(credentialType));
 
@@ -532,9 +532,9 @@
     scheduleInStorage.status               = status;
 
     // Save schedule information in NVM flash
-    EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_WeekDaySchedules, reinterpret_cast<const uint8_t *>(mWeekdaySchedule),
-                                     sizeof(EmberAfPluginDoorLockWeekDaySchedule) * LockParams.numberOfWeekdaySchedulesPerUser *
-                                         LockParams.numberOfUsers);
+    SILABSConfig::WriteConfigValueBin(
+        SILABSConfig::kConfigKey_WeekDaySchedules, reinterpret_cast<const uint8_t *>(mWeekdaySchedule),
+        sizeof(EmberAfPluginDoorLockWeekDaySchedule) * LockParams.numberOfWeekdaySchedulesPerUser * LockParams.numberOfUsers);
 
     return DlStatus::kSuccess;
 }
@@ -581,9 +581,9 @@
     scheduleInStorage.status                  = status;
 
     // Save schedule information in NVM flash
-    EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_YearDaySchedules, reinterpret_cast<const uint8_t *>(mYeardaySchedule),
-                                     sizeof(EmberAfPluginDoorLockYearDaySchedule) * LockParams.numberOfYeardaySchedulesPerUser *
-                                         LockParams.numberOfUsers);
+    SILABSConfig::WriteConfigValueBin(
+        SILABSConfig::kConfigKey_YearDaySchedules, reinterpret_cast<const uint8_t *>(mYeardaySchedule),
+        sizeof(EmberAfPluginDoorLockYearDaySchedule) * LockParams.numberOfYeardaySchedulesPerUser * LockParams.numberOfUsers);
 
     return DlStatus::kSuccess;
 }
@@ -625,9 +625,9 @@
     scheduleInStorage.status                  = status;
 
     // Save schedule information in NVM flash
-    EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_HolidaySchedules,
-                                     reinterpret_cast<const uint8_t *>(&(mHolidaySchedule)),
-                                     sizeof(EmberAfPluginDoorLockHolidaySchedule) * LockParams.numberOfHolidaySchedules);
+    SILABSConfig::WriteConfigValueBin(SILABSConfig::kConfigKey_HolidaySchedules,
+                                      reinterpret_cast<const uint8_t *>(&(mHolidaySchedule)),
+                                      sizeof(EmberAfPluginDoorLockHolidaySchedule) * LockParams.numberOfHolidaySchedules);
 
     return DlStatus::kSuccess;
 }
diff --git a/examples/lock-app/efr32/src/main.cpp b/examples/lock-app/efr32/src/main.cpp
index 0856b9f..67ec50b 100644
--- a/examples/lock-app/efr32/src/main.cpp
+++ b/examples/lock-app/efr32/src/main.cpp
@@ -28,7 +28,7 @@
 #include <credentials/DeviceAttestationCredsProvider.h>
 #include <matter_config.h>
 #ifdef EFR32_ATTESTATION_CREDENTIALS
-#include <examples/platform/efr32/EFR32DeviceAttestationCreds.h>
+#include <examples/platform/silabs/SilabsDeviceAttestationCreds.h>
 #else
 #include <credentials/examples/DeviceAttestationCredsExample.h>
 #endif
@@ -59,22 +59,22 @@
     chip::DeviceLayer::PlatformMgr().LockChipStack();
     // Initialize device attestation config
 #ifdef EFR32_ATTESTATION_CREDENTIALS
-    SetDeviceAttestationCredentialsProvider(EFR32::GetEFR32DacProvider());
+    SetDeviceAttestationCredentialsProvider(Silabs::GetSilabsDacProvider());
 #else
     SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
 #endif
     chip::DeviceLayer::PlatformMgr().UnlockChipStack();
 
-    EFR32_LOG("Starting App Task");
+    SILABS_LOG("Starting App Task");
     if (AppTask::GetAppTask().StartAppTask() != CHIP_NO_ERROR)
         appError(CHIP_ERROR_INTERNAL);
 
-    EFR32_LOG("Starting FreeRTOS scheduler");
+    SILABS_LOG("Starting FreeRTOS scheduler");
     sl_system_kernel_start();
 
     // Should never get here.
     chip::Platform::MemoryShutdown();
-    EFR32_LOG("vTaskStartScheduler() failed");
+    SILABS_LOG("vTaskStartScheduler() failed");
     appError(CHIP_ERROR_INTERNAL);
 }
 
diff --git a/examples/persistent-storage/efr32/include/AppConfig.h b/examples/persistent-storage/efr32/include/AppConfig.h
index ae2846d..a6f11ca 100644
--- a/examples/persistent-storage/efr32/include/AppConfig.h
+++ b/examples/persistent-storage/efr32/include/AppConfig.h
@@ -24,10 +24,10 @@
 extern "C" {
 #endif
 
-void efr32InitLog(void);
+void silabsInitLog(void);
 
 void efr32Log(const char * aFormat, ...);
-#define EFR32_LOG(...) efr32Log(__VA_ARGS__);
+#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
 
 #ifdef __cplusplus
 }
diff --git a/examples/persistent-storage/efr32/main.cpp b/examples/persistent-storage/efr32/main.cpp
index fea4ccb..408ca37 100644
--- a/examples/persistent-storage/efr32/main.cpp
+++ b/examples/persistent-storage/efr32/main.cpp
@@ -40,7 +40,7 @@
 {
     while (true)
     {
-        EFR32_LOG("Running Tests:");
+        SILABS_LOG("Running Tests:");
         chip::RunKvsTest();
         vTaskDelay(60000); // Run every minute
     }
@@ -51,16 +51,16 @@
     init_efrPlatform();
 
     chip::DeviceLayer::PersistedStorage::KeyValueStoreMgrImpl().Init();
-    EFR32_LOG("==================================================");
-    EFR32_LOG("chip-efr32-persitent-storage-example starting");
-    EFR32_LOG("==================================================");
+    SILABS_LOG("==================================================");
+    SILABS_LOG("chip-efr32-persitent-storage-example starting");
+    SILABS_LOG("==================================================");
 
     // Run tests
     xTaskCreate(TestTask, "Test", 2048, NULL, 1, &sTestTaskHandle);
-    EFR32_LOG("Starting FreeRTOS scheduler");
+    SILABS_LOG("Starting FreeRTOS scheduler");
     sl_system_kernel_start();
 
     // Should never get here.
-    EFR32_LOG("vTaskStartScheduler() failed");
+    SILABS_LOG("vTaskStartScheduler() failed");
     return -1;
 }
diff --git a/examples/pigweed-app/efr32/BUILD.gn b/examples/pigweed-app/efr32/BUILD.gn
index cdc2bca..5bbdfc0 100644
--- a/examples/pigweed-app/efr32/BUILD.gn
+++ b/examples/pigweed-app/efr32/BUILD.gn
@@ -42,7 +42,7 @@
   defines = [
     "BOARD_ID=${silabs_board}",
     "HAL_VCOM_ENABLE=1",
-    "EFR32_LOG_ENABLED=1",
+    "SILABS_LOG_ENABLED=1",
     "PW_RPC_ENABLED",
   ]
 }
diff --git a/examples/pigweed-app/efr32/include/AppConfig.h b/examples/pigweed-app/efr32/include/AppConfig.h
index 8935b7f..95955e5 100644
--- a/examples/pigweed-app/efr32/include/AppConfig.h
+++ b/examples/pigweed-app/efr32/include/AppConfig.h
@@ -39,9 +39,9 @@
 extern "C" {
 #endif
 
-void efr32InitLog(void);
+void silabsInitLog(void);
 void efr32Log(const char * aFormat, ...);
-#define EFR32_LOG(...) efr32Log(__VA_ARGS__);
+#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
 void appError(int err);
 
 #ifdef __cplusplus
diff --git a/examples/pigweed-app/efr32/src/main.cpp b/examples/pigweed-app/efr32/src/main.cpp
index 3ac3493..ff53016 100644
--- a/examples/pigweed-app/efr32/src/main.cpp
+++ b/examples/pigweed-app/efr32/src/main.cpp
@@ -60,7 +60,7 @@
 int main(void)
 {
     init_efrPlatform();
-    EFR32_LOG("***** CHIP EFR32 pigweed example *****\r\n");
+    SILABS_LOG("***** CHIP EFR32 pigweed example *****\r\n");
 
     pw_sys_io_Init();
     // Initialize LEDs
diff --git a/examples/platform/silabs/EFR32DeviceAttestationCreds.cpp b/examples/platform/silabs/SilabsDeviceAttestationCreds.cpp
similarity index 80%
rename from examples/platform/silabs/EFR32DeviceAttestationCreds.cpp
rename to examples/platform/silabs/SilabsDeviceAttestationCreds.cpp
index f68f0b8..2b40519 100644
--- a/examples/platform/silabs/EFR32DeviceAttestationCreds.cpp
+++ b/examples/platform/silabs/SilabsDeviceAttestationCreds.cpp
@@ -14,30 +14,30 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
-#include "EFR32DeviceAttestationCreds.h"
+#include "SilabsDeviceAttestationCreds.h"
 #include <crypto/CHIPCryptoPAL.h>
 #include <lib/core/CHIPError.h>
 #include <lib/support/CodeUtils.h>
 #include <lib/support/Span.h>
 
-#include "efr32_creds.h"
 #include "psa/crypto.h"
+#include "silabs_creds.h"
 
 extern uint8_t __attestation_credentials_base[];
 
 namespace chip {
 namespace Credentials {
-namespace EFR32 {
+namespace Silabs {
 
 namespace {
 
-class DeviceAttestationCredsEFR32 : public DeviceAttestationCredentialsProvider
+class DeviceAttestationCredsSilabs : public DeviceAttestationCredentialsProvider
 {
 
 public:
     CHIP_ERROR GetCertificationDeclaration(MutableByteSpan & out_buffer) override
     {
-        ByteSpan cd_span(((uint8_t *) __attestation_credentials_base) + EFR32_CREDENTIALS_CD_OFFSET, EFR32_CREDENTIALS_CD_SIZE);
+        ByteSpan cd_span(((uint8_t *) __attestation_credentials_base) + SILABS_CREDENTIALS_CD_OFFSET, SILABS_CREDENTIALS_CD_SIZE);
         return CopySpanToMutableSpan(cd_span, out_buffer);
     }
 
@@ -50,19 +50,21 @@
 
     CHIP_ERROR GetDeviceAttestationCert(MutableByteSpan & out_buffer) override
     {
-        ByteSpan cert_span(((uint8_t *) __attestation_credentials_base) + EFR32_CREDENTIALS_DAC_OFFSET, EFR32_CREDENTIALS_DAC_SIZE);
+        ByteSpan cert_span(((uint8_t *) __attestation_credentials_base) + SILABS_CREDENTIALS_DAC_OFFSET,
+                           SILABS_CREDENTIALS_DAC_SIZE);
         return CopySpanToMutableSpan(cert_span, out_buffer);
     }
 
     CHIP_ERROR GetProductAttestationIntermediateCert(MutableByteSpan & out_pai_buffer) override
     {
-        ByteSpan cert_span(((uint8_t *) __attestation_credentials_base) + EFR32_CREDENTIALS_PAI_OFFSET, EFR32_CREDENTIALS_PAI_SIZE);
+        ByteSpan cert_span(((uint8_t *) __attestation_credentials_base) + SILABS_CREDENTIALS_PAI_OFFSET,
+                           SILABS_CREDENTIALS_PAI_SIZE);
         return CopySpanToMutableSpan(cert_span, out_pai_buffer);
     }
 
     CHIP_ERROR SignWithDeviceAttestationKey(const ByteSpan & message_to_sign, MutableByteSpan & out_buffer) override
     {
-        psa_key_id_t key_id   = EFR32_CREDENTIALS_DAC_KEY_ID;
+        psa_key_id_t key_id   = SILABS_CREDENTIALS_DAC_KEY_ID;
         uint8_t signature[64] = { 0 };
         size_t signature_size = sizeof(signature);
 
@@ -76,12 +78,12 @@
 
 } // namespace
 
-DeviceAttestationCredentialsProvider * GetEFR32DacProvider()
+DeviceAttestationCredentialsProvider * GetSilabsDacProvider()
 {
-    static DeviceAttestationCredsEFR32 dac_provider;
+    static DeviceAttestationCredsSilabs dac_provider;
     return &dac_provider;
 }
 
-} // namespace EFR32
+} // namespace Silabs
 } // namespace Credentials
 } // namespace chip
diff --git a/examples/platform/silabs/EFR32DeviceAttestationCreds.h b/examples/platform/silabs/SilabsDeviceAttestationCreds.h
similarity index 92%
rename from examples/platform/silabs/EFR32DeviceAttestationCreds.h
rename to examples/platform/silabs/SilabsDeviceAttestationCreds.h
index 3dbc48a..ad98fbb 100644
--- a/examples/platform/silabs/EFR32DeviceAttestationCreds.h
+++ b/examples/platform/silabs/SilabsDeviceAttestationCreds.h
@@ -23,7 +23,7 @@
 
 namespace chip {
 namespace Credentials {
-namespace EFR32 {
+namespace Silabs {
 
 /**
  * @brief Get implementation of a sample DAC provider to validate device
@@ -32,8 +32,8 @@
  * @returns a singleton DeviceAttestationCredentialsProvider that relies on no
  *          storage abstractions.
  */
-DeviceAttestationCredentialsProvider * GetEFR32DacProvider();
+DeviceAttestationCredentialsProvider * GetSilabsDacProvider();
 
-} // namespace EFR32
+} // namespace Silabs
 } // namespace Credentials
 } // namespace chip
diff --git a/examples/platform/silabs/efr32/BUILD.gn b/examples/platform/silabs/efr32/BUILD.gn
index 9f64403..dbd8473 100644
--- a/examples/platform/silabs/efr32/BUILD.gn
+++ b/examples/platform/silabs/efr32/BUILD.gn
@@ -82,8 +82,8 @@
 
 source_set("efr32-attestation-credentials") {
   sources = [
-    "../EFR32DeviceAttestationCreds.cpp",
-    "../EFR32DeviceAttestationCreds.h",
+    "../SilabsDeviceAttestationCreds.cpp",
+    "../SilabsDeviceAttestationCreds.h",
   ]
 
   public_deps = [
diff --git a/examples/platform/silabs/efr32/BaseApplication.cpp b/examples/platform/silabs/efr32/BaseApplication.cpp
index 70f876c..85748b3 100644
--- a/examples/platform/silabs/efr32/BaseApplication.cpp
+++ b/examples/platform/silabs/efr32/BaseApplication.cpp
@@ -142,7 +142,7 @@
     sAppEventQueue = xQueueCreateStatic(APP_EVENT_QUEUE_SIZE, sizeof(AppEvent), sAppEventQueueBuffer, &sAppEventQueueStruct);
     if (sAppEventQueue == NULL)
     {
-        EFR32_LOG("Failed to allocate app event queue");
+        SILABS_LOG("Failed to allocate app event queue");
         appError(APP_ERROR_EVENT_QUEUE_FAILED);
     }
 
@@ -151,7 +151,7 @@
         xTaskCreateStatic(taskFunction, APP_TASK_NAME, ArraySize(appStack), &sAppEventQueue, 1, appStack, &appTaskStruct);
     if (sAppTaskHandle == nullptr)
     {
-        EFR32_LOG("Failed to create app task");
+        SILABS_LOG("Failed to create app task");
         appError(APP_ERROR_CREATE_TASK_FAILED);
     }
     return CHIP_NO_ERROR;
@@ -163,7 +163,7 @@
 
     if (identifyObj == nullptr)
     {
-        EFR32_LOG("Invalid Identify Object!");
+        SILABS_LOG("Invalid Identify Object!");
         appError(CHIP_ERROR_INVALID_ARGUMENT);
     }
 
@@ -173,12 +173,12 @@
     /*
      * Wait for the WiFi to be initialized
      */
-    EFR32_LOG("APP: Wait WiFi Init");
+    SILABS_LOG("APP: Wait WiFi Init");
     while (!wfx_hw_ready())
     {
         vTaskDelay(10);
     }
-    EFR32_LOG("APP: Done WiFi Init");
+    SILABS_LOG("APP: Done WiFi Init");
     /* We will init server when we get IP */
 
     sWiFiNetworkCommissioningInstance.Init();
@@ -193,7 +193,7 @@
     );
     if (sFunctionTimer == NULL)
     {
-        EFR32_LOG("funct timer create failed");
+        SILABS_LOG("funct timer create failed");
         appError(APP_ERROR_CREATE_TIMER_FAILED);
     }
 
@@ -206,11 +206,11 @@
     );
     if (sLightTimer == NULL)
     {
-        EFR32_LOG("Light Timer create failed");
+        SILABS_LOG("Light Timer create failed");
         appError(APP_ERROR_CREATE_TIMER_FAILED);
     }
 
-    EFR32_LOG("Current Software Version: %s", CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING);
+    SILABS_LOG("Current Software Version: %s", CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING);
 
 #ifdef ENABLE_WSTK_LEDS
     LEDWidget::InitGpio();
@@ -235,7 +235,7 @@
     }
     else
     {
-        EFR32_LOG("Getting QR code failed!");
+        SILABS_LOG("Getting QR code failed!");
     }
 
     return err;
@@ -261,7 +261,7 @@
     // initiate factory reset
     if (mFunctionTimerActive && mFunction == kFunction_StartBleAdv)
     {
-        EFR32_LOG("Factory Reset Triggered. Release button within %ums to cancel.", FACTORY_RESET_CANCEL_WINDOW_TIMEOUT);
+        SILABS_LOG("Factory Reset Triggered. Release button within %ums to cancel.", FACTORY_RESET_CANCEL_WINDOW_TIMEOUT);
 
         // Start timer for FACTORY_RESET_CANCEL_WINDOW_TIMEOUT to allow user to
         // cancel, if required.
@@ -438,10 +438,10 @@
                 chip::DeviceLayer::PlatformMgr().UnlockChipStack();
                 if (err != CHIP_NO_ERROR)
                 {
-                    EFR32_LOG("Failed to open the Basic Commissioning Window");
+                    SILABS_LOG("Failed to open the Basic Commissioning Window");
                 }
             }
-            else { EFR32_LOG("Network is already provisioned, Ble advertissement not enabled"); }
+            else { SILABS_LOG("Network is already provisioned, Ble advertissement not enabled"); }
         }
         else if (mFunctionTimerActive && mFunction == kFunction_FactoryReset)
         {
@@ -454,7 +454,7 @@
             // Change the function to none selected since factory reset has been
             // canceled.
             mFunction = kFunction_NoneSelected;
-            EFR32_LOG("Factory Reset has been Canceled");
+            SILABS_LOG("Factory Reset has been Canceled");
         }
     }
 }
@@ -463,7 +463,7 @@
 {
     if (xTimerStop(sFunctionTimer, 0) == pdFAIL)
     {
-        EFR32_LOG("app timer stop() failed");
+        SILABS_LOG("app timer stop() failed");
         appError(APP_ERROR_STOP_TIMER_FAILED);
     }
 
@@ -474,7 +474,7 @@
 {
     if (xTimerIsTimerActive(sFunctionTimer))
     {
-        EFR32_LOG("app timer already started!");
+        SILABS_LOG("app timer already started!");
         CancelFunctionTimer();
     }
 
@@ -483,7 +483,7 @@
     // cannot immediately be sent to the timer command queue.
     if (xTimerChangePeriod(sFunctionTimer, aTimeoutInMs / portTICK_PERIOD_MS, 100) != pdPASS)
     {
-        EFR32_LOG("app timer start() failed");
+        SILABS_LOG("app timer start() failed");
         appError(APP_ERROR_START_TIMER_FAILED);
     }
 
@@ -494,7 +494,7 @@
 {
     if (pdPASS != xTimerStart(sLightTimer, 0))
     {
-        EFR32_LOG("Light Time start failed");
+        SILABS_LOG("Light Time start failed");
         appError(APP_ERROR_START_TIMER_FAILED);
     }
 }
@@ -507,7 +507,7 @@
 
     if (xTimerStop(sLightTimer, 100) != pdPASS)
     {
-        EFR32_LOG("Light Time start failed");
+        SILABS_LOG("Light Time start failed");
         appError(APP_ERROR_START_TIMER_FAILED);
     }
 }
@@ -549,12 +549,12 @@
 
         if (!status)
         {
-            EFR32_LOG("Failed to post event to app task event queue");
+            SILABS_LOG("Failed to post event to app task event queue");
         }
     }
     else
     {
-        EFR32_LOG("Event Queue is NULL should never happen");
+        SILABS_LOG("Event Queue is NULL should never happen");
     }
 }
 
@@ -566,6 +566,6 @@
     }
     else
     {
-        EFR32_LOG("Event received with no handler. Dropping event.");
+        SILABS_LOG("Event received with no handler. Dropping event.");
     }
 }
diff --git a/examples/platform/silabs/efr32/EFR32DeviceDataProvider.cpp b/examples/platform/silabs/efr32/EFR32DeviceDataProvider.cpp
index 07966d3..6e097ff 100644
--- a/examples/platform/silabs/efr32/EFR32DeviceDataProvider.cpp
+++ b/examples/platform/silabs/efr32/EFR32DeviceDataProvider.cpp
@@ -18,7 +18,7 @@
 #include "EFR32DeviceDataProvider.h"
 #include <crypto/CHIPCryptoPAL.h>
 #include <lib/support/Base64.h>
-#include <platform/silabs/EFR32Config.h>
+#include <platform/silabs/SilabsConfig.h>
 #include <setup_payload/Base38Encode.h>
 #include <setup_payload/SetupPayload.h>
 
@@ -34,7 +34,7 @@
     CHIP_ERROR err;
     uint32_t setupDiscriminator32;
 
-    err = EFR32Config::ReadConfigValue(EFR32Config::kConfigKey_SetupDiscriminator, setupDiscriminator32);
+    err = SILABSConfig::ReadConfigValue(SILABSConfig::kConfigKey_SetupDiscriminator, setupDiscriminator32);
 #if defined(CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR) && CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND)
     {
@@ -50,7 +50,7 @@
 
 CHIP_ERROR EFR32DeviceDataProvider::GetSpake2pIterationCount(uint32_t & iterationCount)
 {
-    CHIP_ERROR err = EFR32Config::ReadConfigValue(EFR32Config::kConfigKey_Spake2pIterationCount, iterationCount);
+    CHIP_ERROR err = SILABSConfig::ReadConfigValue(SILABSConfig::kConfigKey_Spake2pIterationCount, iterationCount);
 
 #if defined(CHIP_DEVICE_CONFIG_USE_TEST_SPAKE2P_ITERATION_COUNT) && CHIP_DEVICE_CONFIG_USE_TEST_SPAKE2P_ITERATION_COUNT
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND)
@@ -70,7 +70,7 @@
     char saltB64[kSpake2pSalt_MaxBase64Len] = { 0 };
     size_t saltB64Len                       = 0;
 
-    err = EFR32Config::ReadConfigValueStr(EFR32Config::kConfigKey_Spake2pSalt, saltB64, sizeof(saltB64), saltB64Len);
+    err = SILABSConfig::ReadConfigValueStr(SILABSConfig::kConfigKey_Spake2pSalt, saltB64, sizeof(saltB64), saltB64Len);
 
 #if defined(CHIP_DEVICE_CONFIG_USE_TEST_SPAKE2P_SALT)
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND)
@@ -103,8 +103,8 @@
     char verifierB64[kSpake2pSerializedVerifier_MaxBase64Len] = { 0 };
     size_t verifierB64Len                                     = 0;
 
-    err =
-        EFR32Config::ReadConfigValueStr(EFR32Config::kConfigKey_Spake2pVerifier, verifierB64, sizeof(verifierB64), verifierB64Len);
+    err = SILABSConfig::ReadConfigValueStr(SILABSConfig::kConfigKey_Spake2pVerifier, verifierB64, sizeof(verifierB64),
+                                           verifierB64Len);
 
 #if defined(CHIP_DEVICE_CONFIG_USE_TEST_SPAKE2P_VERIFIER)
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND)
@@ -133,8 +133,8 @@
     uint8_t payloadBitSet[kTotalPayloadDataSizeInBytes] = { 0 };
     size_t bitSetLen                                    = 0;
 
-    err = EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_SetupPayloadBitSet, payloadBitSet, kTotalPayloadDataSizeInBytes,
-                                          bitSetLen);
+    err = SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_SetupPayloadBitSet, payloadBitSet, kTotalPayloadDataSizeInBytes,
+                                           bitSetLen);
 
 #if defined(CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE) && CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND)
@@ -170,7 +170,7 @@
 CHIP_ERROR EFR32DeviceDataProvider::GetVendorName(char * buf, size_t bufSize)
 {
     size_t vendorNameLen = 0; // without counting null-terminator
-    return EFR32Config::ReadConfigValueStr(EFR32Config::kConfigKey_VendorName, buf, bufSize, vendorNameLen);
+    return SILABSConfig::ReadConfigValueStr(SILABSConfig::kConfigKey_VendorName, buf, bufSize, vendorNameLen);
 }
 
 CHIP_ERROR EFR32DeviceDataProvider::GetVendorId(uint16_t & vendorId)
@@ -178,7 +178,7 @@
     ChipError err       = CHIP_NO_ERROR;
     uint32_t vendorId32 = 0;
 
-    err = EFR32Config::ReadConfigValue(EFR32Config::kConfigKey_VendorId, vendorId32);
+    err = SILABSConfig::ReadConfigValue(SILABSConfig::kConfigKey_VendorId, vendorId32);
 
 #if defined(CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID) && CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND)
@@ -196,7 +196,7 @@
 CHIP_ERROR EFR32DeviceDataProvider::GetProductName(char * buf, size_t bufSize)
 {
     size_t productNameLen = 0; // without counting null-terminator
-    return EFR32Config::ReadConfigValueStr(EFR32Config::kConfigKey_ProductName, buf, bufSize, productNameLen);
+    return SILABSConfig::ReadConfigValueStr(SILABSConfig::kConfigKey_ProductName, buf, bufSize, productNameLen);
 }
 
 CHIP_ERROR EFR32DeviceDataProvider::GetProductId(uint16_t & productId)
@@ -204,7 +204,7 @@
     ChipError err        = CHIP_NO_ERROR;
     uint32_t productId32 = 0;
 
-    err = EFR32Config::ReadConfigValue(EFR32Config::kConfigKey_ProductId, productId32);
+    err = SILABSConfig::ReadConfigValue(SILABSConfig::kConfigKey_ProductId, productId32);
 
 #if defined(CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID) && CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND)
@@ -223,7 +223,7 @@
 {
     size_t hardwareVersionStringLen = 0; // without counting null-terminator
     CHIP_ERROR err =
-        EFR32Config::ReadConfigValueStr(EFR32Config::kConfigKey_HardwareVersionString, buf, bufSize, hardwareVersionStringLen);
+        SILABSConfig::ReadConfigValueStr(SILABSConfig::kConfigKey_HardwareVersionString, buf, bufSize, hardwareVersionStringLen);
 #if defined(CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING)
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND)
     {
@@ -239,7 +239,7 @@
     CHIP_ERROR err;
     uint32_t hardwareVersion32;
 
-    err = EFR32Config::ReadConfigValue(EFR32Config::kConfigKey_HardwareVersion, hardwareVersion32);
+    err = SILABSConfig::ReadConfigValue(SILABSConfig::kConfigKey_HardwareVersion, hardwareVersion32);
 #if defined(CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION)
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND)
     {
@@ -260,7 +260,8 @@
                   "Length of unique ID for rotating device ID is smaller than minimum.");
 
     size_t uniqueIdLen = 0;
-    err = EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_UniqueId, uniqueIdSpan.data(), uniqueIdSpan.size(), uniqueIdLen);
+    err =
+        SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_UniqueId, uniqueIdSpan.data(), uniqueIdSpan.size(), uniqueIdLen);
 #ifdef CHIP_DEVICE_CONFIG_ROTATING_DEVICE_ID_UNIQUE_ID
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND)
     {
@@ -282,7 +283,7 @@
 CHIP_ERROR EFR32DeviceDataProvider::GetSerialNumber(char * buf, size_t bufSize)
 {
     size_t serialNumberLen = 0; // without counting null-terminator
-    return EFR32Config::ReadConfigValueStr(EFR32Config::kConfigKey_SerialNum, buf, bufSize, serialNumberLen);
+    return SILABSConfig::ReadConfigValueStr(SILABSConfig::kConfigKey_SerialNum, buf, bufSize, serialNumberLen);
 }
 
 CHIP_ERROR EFR32DeviceDataProvider::GetManufacturingDate(uint16_t & year, uint8_t & month, uint8_t & day)
@@ -293,8 +294,8 @@
     size_t dateLen;
     char * parseEnd;
 
-    err = EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_ManufacturingDate, reinterpret_cast<uint8_t *>(dateStr),
-                                          sizeof(dateStr), dateLen);
+    err = SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_ManufacturingDate, reinterpret_cast<uint8_t *>(dateStr),
+                                           sizeof(dateStr), dateLen);
     SuccessOrExit(err);
 
     VerifyOrExit(dateLen == kDateStringLength, err = CHIP_ERROR_INVALID_ARGUMENT);
diff --git a/examples/platform/silabs/efr32/EFR32DeviceDataProvider.h b/examples/platform/silabs/efr32/EFR32DeviceDataProvider.h
index 3efc9a4..99d9049 100644
--- a/examples/platform/silabs/efr32/EFR32DeviceDataProvider.h
+++ b/examples/platform/silabs/efr32/EFR32DeviceDataProvider.h
@@ -29,11 +29,11 @@
  */
 
 class EFR32DeviceDataProvider : public CommissionableDataProvider,
-                                public Internal::GenericDeviceInstanceInfoProvider<Internal::EFR32Config>
+                                public Internal::GenericDeviceInstanceInfoProvider<Internal::SILABSConfig>
 {
 public:
     EFR32DeviceDataProvider() :
-        CommissionableDataProvider(), Internal::GenericDeviceInstanceInfoProvider<Internal::EFR32Config>(
+        CommissionableDataProvider(), Internal::GenericDeviceInstanceInfoProvider<Internal::SILABSConfig>(
                                           ConfigurationManagerImpl::GetDefaultInstance())
     {}
 
diff --git a/examples/platform/silabs/efr32/MemMonitoring.cpp b/examples/platform/silabs/efr32/MemMonitoring.cpp
index 08de06e..9da075e 100644
--- a/examples/platform/silabs/efr32/MemMonitoring.cpp
+++ b/examples/platform/silabs/efr32/MemMonitoring.cpp
@@ -72,23 +72,23 @@
         lwipTaskValue = uxTaskGetStackHighWaterMark(lwipHandle);
 #endif // CHIP_SYSTEM_CONFIG_USE_LWIP
 
-        EFR32_LOG("=============================");
-        EFR32_LOG("     ");
-        EFR32_LOG("Largest Block allocated              0x%x", largestBlockAllocated);
-        EFR32_LOG("Number Of Successful Alloc           0x%x", nbAllocSuccess);
-        EFR32_LOG("Number Of Successful Frees           0x%x", nbFreeSuccess);
-        EFR32_LOG("     ");
-        EFR32_LOG("App Task most bytes ever Free         0x%x", (appTaskValue * 4));
-        EFR32_LOG("BLE Event most bytes ever Free        0x%x", (bleEventTaskValue * 4));
-        EFR32_LOG("BLE Stack most bytes ever Free        0x%x", (bleTaskValue * 4));
-        EFR32_LOG("Link Layer Task most bytes ever Free  0x%x", (linkLayerTaskValue * 4));
-        EFR32_LOG("OpenThread Task most bytes ever Free  0x%x", (openThreadTaskValue * 4));
-        EFR32_LOG("Event Loop Task most bytes ever Free  0x%x", (eventLoopTaskValue * 4));
+        SILABS_LOG("=============================");
+        SILABS_LOG("     ");
+        SILABS_LOG("Largest Block allocated              0x%x", largestBlockAllocated);
+        SILABS_LOG("Number Of Successful Alloc           0x%x", nbAllocSuccess);
+        SILABS_LOG("Number Of Successful Frees           0x%x", nbFreeSuccess);
+        SILABS_LOG("     ");
+        SILABS_LOG("App Task most bytes ever Free         0x%x", (appTaskValue * 4));
+        SILABS_LOG("BLE Event most bytes ever Free        0x%x", (bleEventTaskValue * 4));
+        SILABS_LOG("BLE Stack most bytes ever Free        0x%x", (bleTaskValue * 4));
+        SILABS_LOG("Link Layer Task most bytes ever Free  0x%x", (linkLayerTaskValue * 4));
+        SILABS_LOG("OpenThread Task most bytes ever Free  0x%x", (openThreadTaskValue * 4));
+        SILABS_LOG("Event Loop Task most bytes ever Free  0x%x", (eventLoopTaskValue * 4));
 #if CHIP_SYSTEM_CONFIG_USE_LWIP
-        EFR32_LOG("LWIP Task most bytes ever Free        0x%x", (lwipTaskValue * 4));
+        SILABS_LOG("LWIP Task most bytes ever Free        0x%x", (lwipTaskValue * 4));
 #endif // CHIP_SYSTEM_CONFIG_USE_LWIP
-        EFR32_LOG("     ");
-        EFR32_LOG("=============================");
+        SILABS_LOG("     ");
+        SILABS_LOG("=============================");
         vTaskDelay(pdMS_TO_TICKS(5000));
     }
 }
diff --git a/examples/platform/silabs/efr32/display/lcd.cpp b/examples/platform/silabs/efr32/display/lcd.cpp
index 8e6b38e..6e1f2d2 100644
--- a/examples/platform/silabs/efr32/display/lcd.cpp
+++ b/examples/platform/silabs/efr32/display/lcd.cpp
@@ -51,7 +51,7 @@
     {
         if (APP_NAME_MAX_LENGTH < strlen((char *) name))
         {
-            EFR32_LOG("App Name too long");
+            SILABS_LOG("App Name too long");
             return CHIP_ERROR_INVALID_ARGUMENT;
         }
         else
@@ -64,7 +64,7 @@
     status = sl_board_enable_display();
     if (status != SL_STATUS_OK)
     {
-        EFR32_LOG("Board Display enable fail %d", status);
+        SILABS_LOG("Board Display enable fail %d", status);
         err = CHIP_ERROR_INTERNAL;
     }
 
@@ -72,7 +72,7 @@
     status = DMD_init(0);
     if (DMD_OK != status)
     {
-        EFR32_LOG("DMD init failed %d", status);
+        SILABS_LOG("DMD init failed %d", status);
         err = CHIP_ERROR_INTERNAL;
     }
 
@@ -80,7 +80,7 @@
     status = GLIB_contextInit(&glibContext);
     if (GLIB_OK != status)
     {
-        EFR32_LOG("Glib context init failed %d", status);
+        SILABS_LOG("Glib context init failed %d", status);
         err = CHIP_ERROR_INTERNAL;
     }
 
@@ -89,7 +89,7 @@
     status                      = GLIB_clear(&glibContext);
     if (GLIB_OK != status)
     {
-        EFR32_LOG("Glib clear failed %d", status);
+        SILABS_LOG("Glib clear failed %d", status);
         err = CHIP_ERROR_INTERNAL;
     }
     demoUIInit(&glibContext);
@@ -157,7 +157,7 @@
     if (!qrcodegen_encodeText((const char *) mQRCodeBuffer, workBuffer, qrCode, qrcodegen_Ecc_LOW, QR_CODE_VERSION, QR_CODE_VERSION,
                               qrcodegen_Mask_AUTO, true))
     {
-        EFR32_LOG("qrcodegen_encodeText() failed");
+        SILABS_LOG("qrcodegen_encodeText() failed");
         return;
     }
 
diff --git a/examples/platform/silabs/efr32/efr32_utils.cpp b/examples/platform/silabs/efr32/efr32_utils.cpp
index b428435..bd2bf77 100644
--- a/examples/platform/silabs/efr32/efr32_utils.cpp
+++ b/examples/platform/silabs/efr32/efr32_utils.cpp
@@ -25,7 +25,7 @@
 
 void appError(int err)
 {
-    EFR32_LOG("!!!!!!!!!!!! App Critical Error: %d !!!!!!!!!!!", err);
+    SILABS_LOG("!!!!!!!!!!!! App Critical Error: %d !!!!!!!!!!!", err);
     portDISABLE_INTERRUPTS();
     while (true)
         ;
diff --git a/examples/platform/silabs/efr32/efr32_utils.h b/examples/platform/silabs/efr32/efr32_utils.h
index 9808709..b0d508d 100644
--- a/examples/platform/silabs/efr32/efr32_utils.h
+++ b/examples/platform/silabs/efr32/efr32_utils.h
@@ -24,10 +24,10 @@
 extern "C" {
 #endif
 
-void efr32InitLog(void);
+void silabsInitLog(void);
 
 void efr32Log(const char * aFormat, ...);
-#define EFR32_LOG(...) efr32Log(__VA_ARGS__);
+#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
 void appError(int err);
 
 #ifdef __cplusplus
diff --git a/examples/platform/silabs/efr32/init_efrPlatform.cpp b/examples/platform/silabs/efr32/init_efrPlatform.cpp
index 2234be0..993b4fe 100644
--- a/examples/platform/silabs/efr32/init_efrPlatform.cpp
+++ b/examples/platform/silabs/efr32/init_efrPlatform.cpp
@@ -71,8 +71,8 @@
     SEGGER_SYSVIEW_Start();
 #endif
 
-#if EFR32_LOG_ENABLED
-    efr32InitLog();
+#if SILABS_LOG_ENABLED
+    silabsInitLog();
 #endif
 
 #if CHIP_ENABLE_OPENTHREAD
diff --git a/examples/platform/silabs/efr32/matter_config.cpp b/examples/platform/silabs/efr32/matter_config.cpp
index a9dc33c..83e9095 100644
--- a/examples/platform/silabs/efr32/matter_config.cpp
+++ b/examples/platform/silabs/efr32/matter_config.cpp
@@ -87,7 +87,7 @@
 
 CHIP_ERROR EFR32MatterConfig::InitOpenThread(void)
 {
-    EFR32_LOG("Initializing OpenThread stack");
+    SILABS_LOG("Initializing OpenThread stack");
     ReturnErrorOnFailure(ThreadStackMgr().InitThreadStack());
 
 #if CHIP_DEVICE_CONFIG_THREAD_FTD
@@ -100,7 +100,7 @@
 #endif // CHIP_DEVICE_CONFIG_ENABLE_SED
 #endif // CHIP_DEVICE_CONFIG_THREAD_FTD
 
-    EFR32_LOG("Starting OpenThread task");
+    SILABS_LOG("Starting OpenThread task");
     return ThreadStackMgrImpl().StartThreadTask();
 }
 #endif // CHIP_ENABLE_OPENTHREAD
@@ -121,7 +121,7 @@
          (event->InternetConnectivityChange.IPv6 == kConnectivity_Established)))
     {
 #if EFR32_OTA_ENABLED
-        EFR32_LOG("Scheduling OTA Requestor initialization")
+        SILABS_LOG("Scheduling OTA Requestor initialization")
         chip::DeviceLayer::SystemLayer().StartTimer(chip::System::Clock::Seconds32(OTAConfig::kInitOTARequestorDelaySec),
                                                     InitOTARequestorHandler, nullptr);
 #endif
@@ -134,9 +134,9 @@
 
     mbedtls_platform_set_calloc_free(CHIPPlatformMemoryCalloc, CHIPPlatformMemoryFree);
 
-    EFR32_LOG("==================================================");
-    EFR32_LOG("%s starting", appName);
-    EFR32_LOG("==================================================");
+    SILABS_LOG("==================================================");
+    SILABS_LOG("%s starting", appName);
+    SILABS_LOG("==================================================");
 
 #if PW_RPC_ENABLED
     chip::rpc::Init();
@@ -151,7 +151,7 @@
     //==============================================
     // Init Matter Stack
     //==============================================
-    EFR32_LOG("Init CHIP Stack");
+    SILABS_LOG("Init CHIP Stack");
     // Init Chip memory management before the stack
     ReturnErrorOnFailure(chip::Platform::MemoryInit());
     ReturnErrorOnFailure(PlatformMgr().InitChipStack());
@@ -196,7 +196,7 @@
     // OTA Requestor initialization will be triggered by the connectivity events
     PlatformMgr().AddEventHandler(ConnectivityEventCallback, reinterpret_cast<intptr_t>(nullptr));
 
-    EFR32_LOG("Starting Platform Manager Event Loop");
+    SILABS_LOG("Starting Platform Manager Event Loop");
     ReturnErrorOnFailure(PlatformMgr().StartEventLoopTask());
 
 #ifdef SL_WIFI
@@ -239,5 +239,5 @@
     // FreeRTOS Idle callback
 
     // Check CHIP Config nvm3 and repack flash if necessary.
-    Internal::EFR32Config::RepackNvm3Flash();
+    Internal::SILABSConfig::RepackNvm3Flash();
 }
diff --git a/examples/platform/silabs/efr32/wf200/efr_spi.c b/examples/platform/silabs/efr32/wf200/efr_spi.c
index d1d26c5..fb35093 100644
--- a/examples/platform/silabs/efr32/wf200/efr_spi.c
+++ b/examples/platform/silabs/efr32/wf200/efr_spi.c
@@ -399,7 +399,7 @@
  *****************************************************************************/
 void sl_wfx_host_gpio_init(void)
 {
-    EFR32_LOG("WIFI: GPIO Init:IRQ=%d", wirq_irq_nb);
+    SILABS_LOG("WIFI: GPIO Init:IRQ=%d", wirq_irq_nb);
     // Enable GPIO clock.
     CMU_ClockEnable(cmuClock_GPIO, true);
 
diff --git a/examples/platform/silabs/efr32/wf200/host_if.cpp b/examples/platform/silabs/efr32/wf200/host_if.cpp
index 60b914c..c722496 100644
--- a/examples/platform/silabs/efr32/wf200/host_if.cpp
+++ b/examples/platform/silabs/efr32/wf200/host_if.cpp
@@ -91,7 +91,7 @@
 wfx_wifi_provision_t wifi_provision;
 sl_wfx_get_counters_cnf_t * counters;
 sl_wfx_get_counters_cnf_t * Tempcounters;
-#define PUT_COUNTER(name) EFR32_LOG("%-24s %lu\r\n", #name, (unsigned long) counters->body.count_##name);
+#define PUT_COUNTER(name) SILABS_LOG("%-24s %lu\r\n", #name, (unsigned long) counters->body.count_##name);
 
 bool hasNotifiedIPV6             = false;
 bool hasNotifiedIPV4             = false;
@@ -142,7 +142,7 @@
                                                wfxEventTaskStack, &wfxEventTaskBuffer);
     if (NULL == wfx_events_task_handle)
     {
-        EFR32_LOG("Failed to create WFX wfx_events");
+        SILABS_LOG("Failed to create WFX wfx_events");
     }
 }
 
@@ -159,7 +159,7 @@
     {
     /******** INDICATION ********/
     case SL_WFX_STARTUP_IND_ID: {
-        EFR32_LOG("WFX Startup Completed\r\n");
+        SILABS_LOG("WFX Startup Completed\r\n");
         PlatformMgrImpl().HandleWFXSystemEvent(WIFI_EVENT, event_payload);
         break;
     }
@@ -238,32 +238,32 @@
     case SL_WFX_EXCEPTION_IND_ID: {
         sl_wfx_exception_ind_t * firmware_exception = (sl_wfx_exception_ind_t *) event_payload;
         uint8_t * exception_tmp                     = (uint8_t *) firmware_exception;
-        EFR32_LOG("firmware exception\r\n");
+        SILABS_LOG("firmware exception\r\n");
         for (uint16_t i = 0; i < firmware_exception->header.length; i += 16)
         {
-            EFR32_LOG("hif: %.8x:", i);
+            SILABS_LOG("hif: %.8x:", i);
             for (uint8_t j = 0; (j < 16) && ((i + j) < firmware_exception->header.length); j++)
             {
-                EFR32_LOG(" %.2x", *exception_tmp);
+                SILABS_LOG(" %.2x", *exception_tmp);
                 exception_tmp++;
             }
-            EFR32_LOG("\r\n");
+            SILABS_LOG("\r\n");
         }
         break;
     }
     case SL_WFX_ERROR_IND_ID: {
         sl_wfx_error_ind_t * firmware_error = (sl_wfx_error_ind_t *) event_payload;
         uint8_t * error_tmp                 = (uint8_t *) firmware_error;
-        EFR32_LOG("firmware error %lu\r\n", firmware_error->body.type);
+        SILABS_LOG("firmware error %lu\r\n", firmware_error->body.type);
         for (uint16_t i = 0; i < firmware_error->header.length; i += 16)
         {
-            EFR32_LOG("hif: %.8x:", i);
+            SILABS_LOG("hif: %.8x:", i);
             for (uint8_t j = 0; (j < 16) && ((i + j) < firmware_error->header.length); j++)
             {
-                EFR32_LOG(" %.2x", *error_tmp);
+                SILABS_LOG(" %.2x", *error_tmp);
                 error_tmp++;
             }
-            EFR32_LOG("\r\n");
+            SILABS_LOG("\r\n");
         }
         break;
     }
@@ -282,11 +282,11 @@
 {
     struct scan_result_holder * ap;
 
-    EFR32_LOG("# %2d %2d  %03d %02X:%02X:%02X:%02X:%02X:%02X  %s", scan_count, scan_result->channel,
-              ((int16_t)(scan_result->rcpi - 220) / 2), scan_result->mac[0], scan_result->mac[1], scan_result->mac[2],
-              scan_result->mac[3], scan_result->mac[4], scan_result->mac[5], scan_result->ssid_def.ssid);
+    SILABS_LOG("# %2d %2d  %03d %02X:%02X:%02X:%02X:%02X:%02X  %s", scan_count, scan_result->channel,
+               ((int16_t)(scan_result->rcpi - 220) / 2), scan_result->mac[0], scan_result->mac[1], scan_result->mac[2],
+               scan_result->mac[3], scan_result->mac[4], scan_result->mac[5], scan_result->ssid_def.ssid);
     /*Report one AP information*/
-    EFR32_LOG("\r\n");
+    SILABS_LOG("\r\n");
     /* don't save if filter only wants specific ssid */
     if (scan_ssid != (char *) 0)
     {
@@ -295,7 +295,7 @@
     }
     if ((ap = (struct scan_result_holder *) pvPortMalloc(sizeof(*ap))) == (struct scan_result_holder *) 0)
     {
-        EFR32_LOG("*ERR*Scan: No Mem");
+        SILABS_LOG("*ERR*Scan: No Mem");
     }
     else
     {
@@ -360,7 +360,7 @@
     switch (status)
     {
     case WFM_STATUS_SUCCESS: {
-        EFR32_LOG("STA-Connected\r\n");
+        SILABS_LOG("STA-Connected\r\n");
         memcpy(&ap_mac.octet[0], mac, MAC_ADDRESS_FIRST_OCTET);
         sl_wfx_context->state =
             static_cast<sl_wfx_state_t>(static_cast<int>(sl_wfx_context->state) | static_cast<int>(SL_WFX_STA_INTERFACE_CONNECTED));
@@ -368,27 +368,27 @@
         break;
     }
     case WFM_STATUS_NO_MATCHING_AP: {
-        EFR32_LOG("WFX Connection failed, access point not found\r\n");
+        SILABS_LOG("WFX Connection failed, access point not found\r\n");
         break;
     }
     case WFM_STATUS_CONNECTION_ABORTED: {
-        EFR32_LOG("WFX Connection aborted\r\n");
+        SILABS_LOG("WFX Connection aborted\r\n");
         break;
     }
     case WFM_STATUS_CONNECTION_TIMEOUT: {
-        EFR32_LOG("WFX Connection timeout\r\n");
+        SILABS_LOG("WFX Connection timeout\r\n");
         break;
     }
     case WFM_STATUS_CONNECTION_REJECTED_BY_AP: {
-        EFR32_LOG("WFX Connection rejected by the access point\r\n");
+        SILABS_LOG("WFX Connection rejected by the access point\r\n");
         break;
     }
     case WFM_STATUS_CONNECTION_AUTH_FAILURE: {
-        EFR32_LOG("WFX Connection authentication failure\r\n");
+        SILABS_LOG("WFX Connection authentication failure\r\n");
         break;
     }
     default: {
-        EFR32_LOG("WF Connection attempt error\r\n");
+        SILABS_LOG("WF Connection attempt error\r\n");
     }
     }
 
@@ -396,7 +396,7 @@
     {
         retryJoin += 1;
         retryInProgress = false;
-        EFR32_LOG("WFX Retry to connect to network count: %d", retryJoin);
+        SILABS_LOG("WFX Retry to connect to network count: %d", retryJoin);
         sl_wfx_context->state =
             static_cast<sl_wfx_state_t>(static_cast<int>(sl_wfx_context->state) & ~static_cast<int>(SL_WFX_STARTED));
         xEventGroupSetBits(sl_wfx_event_group, SL_WFX_RETRY_CONNECT);
@@ -412,7 +412,7 @@
 static void sl_wfx_disconnect_callback(uint8_t * mac, uint16_t reason)
 {
     (void) (mac);
-    EFR32_LOG("WFX Disconnected %d\r\n", reason);
+    SILABS_LOG("WFX Disconnected %d\r\n", reason);
     sl_wfx_context->state =
         static_cast<sl_wfx_state_t>(static_cast<int>(sl_wfx_context->state) & ~static_cast<int>(SL_WFX_STA_INTERFACE_CONNECTED));
     xEventGroupSetBits(sl_wfx_event_group, SL_WFX_DISCONNECT);
@@ -428,14 +428,14 @@
 {
     if (status == AP_START_SUCCESS)
     {
-        EFR32_LOG("AP started\r\n");
+        SILABS_LOG("AP started\r\n");
         sl_wfx_context->state =
             static_cast<sl_wfx_state_t>(static_cast<int>(sl_wfx_context->state) | static_cast<int>(SL_WFX_AP_INTERFACE_UP));
         xEventGroupSetBits(sl_wfx_event_group, SL_WFX_START_AP);
     }
     else
     {
-        EFR32_LOG("AP start failed\r\n");
+        SILABS_LOG("AP start failed\r\n");
         strcpy(event_log, "AP start failed");
     }
 }
@@ -448,7 +448,7 @@
 {
     // TODO
     // dhcpserver_clear_stored_mac();
-    EFR32_LOG("SoftAP stopped\r\n");
+    SILABS_LOG("SoftAP stopped\r\n");
     sl_wfx_context->state =
         static_cast<sl_wfx_state_t>(static_cast<int>(sl_wfx_context->state) & ~static_cast<int>(SL_WFX_AP_INTERFACE_UP));
     xEventGroupSetBits(sl_wfx_event_group, SL_WFX_STOP_AP);
@@ -461,9 +461,9 @@
  *****************************************************************************/
 static void sl_wfx_client_connected_callback(uint8_t * mac)
 {
-    EFR32_LOG("Client connected, MAC: %02X:%02X:%02X:%02X:%02X:%02X\r\n", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
+    SILABS_LOG("Client connected, MAC: %02X:%02X:%02X:%02X:%02X:%02X\r\n", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
     // TODO
-    EFR32_LOG("Open a web browser and go to http://%d.%d.%d.%d\r\n", ap_ip_addr0, ap_ip_addr1, ap_ip_addr2, ap_ip_addr3);
+    SILABS_LOG("Open a web browser and go to http://%d.%d.%d.%d\r\n", ap_ip_addr0, ap_ip_addr1, ap_ip_addr2, ap_ip_addr3);
 }
 
 /****************************************************************************
@@ -474,8 +474,8 @@
  *****************************************************************************/
 static void sl_wfx_ap_client_rejected_callback(uint32_t status, uint8_t * mac)
 {
-    EFR32_LOG("Client rejected, reason: %d, MAC: %02X:%02X:%02X:%02X:%02X:%02X\r\n", (int) status, mac[0], mac[1], mac[2], mac[3],
-              mac[4], mac[5]);
+    SILABS_LOG("Client rejected, reason: %d, MAC: %02X:%02X:%02X:%02X:%02X:%02X\r\n", (int) status, mac[0], mac[1], mac[2], mac[3],
+               mac[4], mac[5]);
 }
 
 /****************************************************************************
@@ -487,8 +487,8 @@
 static void sl_wfx_ap_client_disconnected_callback(uint32_t status, uint8_t * mac)
 {
     // TODO
-    EFR32_LOG("Client disconnected, reason: %d, MAC: %02X:%02X:%02X:%02X:%02X:%02X\r\n", (int) status, mac[0], mac[1], mac[2],
-              mac[3], mac[4], mac[5]);
+    SILABS_LOG("Client disconnected, reason: %d, MAC: %02X:%02X:%02X:%02X:%02X:%02X\r\n", (int) status, mac[0], mac[1], mac[2],
+               mac[3], mac[4], mac[5]);
 }
 #endif /* SL_WFX_CONFIG_SOFTAP */
 
@@ -500,7 +500,7 @@
 static void sl_wfx_generic_status_callback(sl_wfx_generic_ind_t * frame)
 {
     (void) (frame);
-    EFR32_LOG("WFX Generic status received\r\n");
+    SILABS_LOG("WFX Generic status received\r\n");
 }
 
 /***************************************************************************
@@ -532,7 +532,7 @@
         {
             if (!retryInProgress)
             {
-                EFR32_LOG("WFX sending the connect command");
+                SILABS_LOG("WFX sending the connect command");
                 wfx_connect_to_ap();
                 retryInProgress = true;
             }
@@ -551,7 +551,7 @@
                     hasNotifiedIPV4 = true;
                     if (!hasNotifiedWifiConnectivity)
                     {
-                        EFR32_LOG("WIFI: Has Notified Wifi Connectivity");
+                        SILABS_LOG("WIFI: Has Notified Wifi Connectivity");
                         wfx_connected_notify(CONNECTION_STATUS_SUCCESS, &ap_mac);
                         hasNotifiedWifiConnectivity = true;
                     }
@@ -585,7 +585,7 @@
             wfx_ipv6_notify(GET_IPV6_FAIL);
             hasNotifiedIPV6             = false;
             hasNotifiedWifiConnectivity = false;
-            EFR32_LOG("WIFI: Connected to AP");
+            SILABS_LOG("WIFI: Connected to AP");
             wifi_extra |= WE_ST_STA_CONN;
             wfx_lwip_set_sta_link_up();
 #ifdef SLEEP_ENABLED
@@ -635,9 +635,9 @@
                 sp       = (sl_wfx_ssid_def_t *) 0;
             }
 
-            EFR32_LOG("WIFI Scan Paramter set to Active channel time %d, Passive "
-                      "Channel Time: %d, Number of prob: %d",
-                      ACTIVE_CHANNEL_TIME, PASSIVE_CHANNEL_TIME, NUM_PROBE_REQUEST);
+            SILABS_LOG("WIFI Scan Paramter set to Active channel time %d, Passive "
+                       "Channel Time: %d, Number of prob: %d",
+                       ACTIVE_CHANNEL_TIME, PASSIVE_CHANNEL_TIME, NUM_PROBE_REQUEST);
             (void) sl_wfx_set_scan_parameters(ACTIVE_CHANNEL_TIME, PASSIVE_CHANNEL_TIME, NUM_PROBE_REQUEST);
             (void) sl_wfx_send_scan_command(WFM_SCAN_MODE_ACTIVE, CHANNEL_LIST, /* Channel list */
                                             CHANNEL_COUNT,                      /* Scan all chans */
@@ -648,7 +648,7 @@
         {
             struct scan_result_holder *hp, *next;
 
-            EFR32_LOG("WIFI: Return %d scan results", scan_count);
+            SILABS_LOG("WIFI: Return %d scan results", scan_count);
             for (hp = scan_save; hp; hp = next)
             {
                 next = hp->next;
@@ -679,15 +679,15 @@
     /* Initialize the WF200 used by the two interfaces */
     wfx_events_task_start();
     sl_status_t status = sl_wfx_init(&wifiContext);
-    EFR32_LOG("FMAC Driver version    %s", FMAC_DRIVER_VERSION_STRING);
+    SILABS_LOG("FMAC Driver version    %s", FMAC_DRIVER_VERSION_STRING);
     switch (status)
     {
     case SL_STATUS_OK:
-        EFR32_LOG("WF200 FW ver:%d.%d.%d [MAC %02x:%02x:%02x-%02x:%02x:%02x]", wifiContext.firmware_major,
-                  wifiContext.firmware_minor, wifiContext.firmware_build, wifiContext.mac_addr_0.octet[0],
-                  wifiContext.mac_addr_0.octet[1], wifiContext.mac_addr_0.octet[2], wifiContext.mac_addr_0.octet[3],
-                  wifiContext.mac_addr_0.octet[4], wifiContext.mac_addr_0.octet[5]);
-        EFR32_LOG("WF200 Init OK");
+        SILABS_LOG("WF200 FW ver:%d.%d.%d [MAC %02x:%02x:%02x-%02x:%02x:%02x]", wifiContext.firmware_major,
+                   wifiContext.firmware_minor, wifiContext.firmware_build, wifiContext.mac_addr_0.octet[0],
+                   wifiContext.mac_addr_0.octet[1], wifiContext.mac_addr_0.octet[2], wifiContext.mac_addr_0.octet[3],
+                   wifiContext.mac_addr_0.octet[4], wifiContext.mac_addr_0.octet[5]);
+        SILABS_LOG("WF200 Init OK");
 
         if (wifiContext.state == SL_WFX_STA_INTERFACE_CONNECTED)
         {
@@ -696,19 +696,19 @@
 
         break;
     case SL_STATUS_WIFI_INVALID_KEY:
-        EFR32_LOG("*ERR*WF200: F/W keyset invalid");
+        SILABS_LOG("*ERR*WF200: F/W keyset invalid");
         break;
     case SL_STATUS_WIFI_FIRMWARE_DOWNLOAD_TIMEOUT:
-        EFR32_LOG("*ERR*WF200: F/W download timo");
+        SILABS_LOG("*ERR*WF200: F/W download timo");
         break;
     case SL_STATUS_TIMEOUT:
-        EFR32_LOG("*ERR*WF200: Poll for value timo");
+        SILABS_LOG("*ERR*WF200: Poll for value timo");
         break;
     case SL_STATUS_FAIL:
-        EFR32_LOG("*ERR*WF200: Error");
+        SILABS_LOG("*ERR*WF200: Error");
         break;
     default:
-        EFR32_LOG("*ERR*WF200: Unknown");
+        SILABS_LOG("*ERR*WF200: Unknown");
     }
 
     return status;
@@ -726,21 +726,21 @@
 
     if (wifi_extra & WE_ST_HW_STARTED)
         return;
-    EFR32_LOG("STARTING WF200\n");
+    SILABS_LOG("STARTING WF200\n");
     wifi_extra |= WE_ST_HW_STARTED;
 
     sl_wfx_host_gpio_init();
     if ((status = wfx_init()) == SL_STATUS_OK)
     {
         /* Initialize the LwIP stack */
-        EFR32_LOG("WF200:Start LWIP");
+        SILABS_LOG("WF200:Start LWIP");
         wfx_lwip_start();
         wifiContext.state = SL_WFX_STARTED; /* Really this is a bit mask */
-        EFR32_LOG("WF200:ready..");
+        SILABS_LOG("WF200:ready..");
     }
     else
     {
-        EFR32_LOG("*ERR*WF200:init failed");
+        SILABS_LOG("*ERR*WF200:init failed");
     }
 }
 
@@ -753,21 +753,21 @@
 int32_t wfx_get_ap_info(wfx_wifi_scan_result_t * ap)
 {
     int32_t signal_strength;
-    EFR32_LOG("WIFI:SSID:: %s", &ap_info.ssid[0]);
+    SILABS_LOG("WIFI:SSID:: %s", &ap_info.ssid[0]);
     memcpy(ap->ssid, ap_info.ssid, sizeof(ap_info.ssid));
-    EFR32_LOG("WIFI:Mac addr:: %02x:%02x:%02x:%02x:%02x:%02x", ap_info.bssid[0], ap_info.bssid[1], ap_info.bssid[2],
-              ap_info.bssid[3], ap_info.bssid[4], ap_info.bssid[5]);
+    SILABS_LOG("WIFI:Mac addr:: %02x:%02x:%02x:%02x:%02x:%02x", ap_info.bssid[0], ap_info.bssid[1], ap_info.bssid[2],
+               ap_info.bssid[3], ap_info.bssid[4], ap_info.bssid[5]);
     memcpy(ap->bssid, ap_info.bssid, sizeof(ap_info.bssid));
     ap->security = ap_info.security;
-    EFR32_LOG("WIFI:security:: %d", ap->security);
+    SILABS_LOG("WIFI:security:: %d", ap->security);
     ap->chan = ap_info.chan;
-    EFR32_LOG("WIFI:Channel:: to %d", ap->chan);
+    SILABS_LOG("WIFI:Channel:: to %d", ap->chan);
 
     sl_status_t status = sl_wfx_get_signal_strength((uint32_t *) &signal_strength);
 
     if (status == SL_STATUS_OK)
     {
-        EFR32_LOG("status SL_STATUS_OK & signal_strength:: %d", signal_strength);
+        SILABS_LOG("status SL_STATUS_OK & signal_strength:: %d", signal_strength);
         ap->rssi = (signal_strength - 220) / 2;
     }
     return status;
@@ -785,7 +785,7 @@
     status = get_all_counters();
     if (status != SL_STATUS_OK)
     {
-        EFR32_LOG("Failed to get the couters");
+        SILABS_LOG("Failed to get the couters");
     }
     else
     {
@@ -825,8 +825,8 @@
     result = sl_wfx_host_wait_for_confirmation(command_id, SL_WFX_DEFAULT_REQUEST_TIMEOUT_MS, (void **) &counters);
     SL_WFX_ERROR_CHECK(result);
 
-    EFR32_LOG("%-24s %12s \r\n", "", "Debug Counters Content");
-    EFR32_LOG("%-24s %lu\r\n", "rcpi", (unsigned long) counters->body.rcpi);
+    SILABS_LOG("%-24s %12s \r\n", "", "Debug Counters Content");
+    SILABS_LOG("%-24s %lu\r\n", "rcpi", (unsigned long) counters->body.rcpi);
     PUT_COUNTER(plcp_errors);
     PUT_COUNTER(fcs_errors);
     PUT_COUNTER(tx_packets);
@@ -890,7 +890,7 @@
 {
     if (wifi_extra & WE_ST_STARTED)
     {
-        EFR32_LOG("WIFI: Already started");
+        SILABS_LOG("WIFI: Already started");
         return SL_STATUS_OK;
     }
     wifi_extra |= WE_ST_STARTED;
@@ -954,7 +954,7 @@
 {
     memcpy(wifi_provision.ssid, wifiConfig->ssid, sizeof(wifiConfig->ssid));
     memcpy(wifi_provision.passkey, wifiConfig->passkey, sizeof(wifiConfig->passkey));
-    EFR32_LOG("WIFI: Provision SSID=%s", &wifi_provision.ssid[0]);
+    SILABS_LOG("WIFI: Provision SSID=%s", &wifi_provision.ssid[0]);
 
     /* Not very good - To be improved */
     switch (wifiConfig->security)
@@ -1031,11 +1031,11 @@
     {
         return SL_STATUS_NOT_AVAILABLE;
     }
-    EFR32_LOG("WIFI:JOIN to %s", &wifi_provision.ssid[0]);
+    SILABS_LOG("WIFI:JOIN to %s", &wifi_provision.ssid[0]);
 
-    EFR32_LOG("WIFI Scan Paramter set to Active channel time %d, Passive Channel "
-              "Time: %d, Number of prob: %d",
-              ACTIVE_CHANNEL_TIME, PASSIVE_CHANNEL_TIME, NUM_PROBE_REQUEST);
+    SILABS_LOG("WIFI Scan Paramter set to Active channel time %d, Passive Channel "
+               "Time: %d, Number of prob: %d",
+               ACTIVE_CHANNEL_TIME, PASSIVE_CHANNEL_TIME, NUM_PROBE_REQUEST);
     (void) sl_wfx_set_scan_parameters(ACTIVE_CHANNEL_TIME, PASSIVE_CHANNEL_TIME, NUM_PROBE_REQUEST);
     result =
         sl_wfx_send_join_command((uint8_t *) wifi_provision.ssid, strlen(wifi_provision.ssid), NULL, CHANNEL_0,
@@ -1061,8 +1061,8 @@
     mac = &wifiContext.mac_addr_0;
 #endif
     *addr = *mac;
-    EFR32_LOG("WLAN:Get WiFi Mac addr %02x:%02x:%02x:%02x:%02x:%02x", mac->octet[0], mac->octet[1], mac->octet[2], mac->octet[3],
-              mac->octet[4], mac->octet[5]);
+    SILABS_LOG("WLAN:Get WiFi Mac addr %02x:%02x:%02x:%02x:%02x:%02x", mac->octet[0], mac->octet[1], mac->octet[2], mac->octet[3],
+               mac->octet[4], mac->octet[5]);
     memcpy(&ap_info.bssid[0], &mac->octet[0], 6);
 }
 
@@ -1094,7 +1094,7 @@
  *****************************************************************************/
 bool wfx_have_ipv6_addr(sl_wfx_interface_t which_if)
 {
-    EFR32_LOG("%s: started.", __func__);
+    SILABS_LOG("%s: started.", __func__);
     bool status = false;
     if (which_if == SL_WFX_STA_INTERFACE)
     {
@@ -1104,7 +1104,7 @@
     {
         status = false; /* TODO */
     }
-    EFR32_LOG("%s: status: %d", __func__, status);
+    SILABS_LOG("%s: status: %d", __func__, status);
     return status;
 }
 
@@ -1116,7 +1116,7 @@
  *****************************************************************************/
 sl_status_t wfx_sta_discon(void)
 {
-    EFR32_LOG("STA-Disconnecting");
+    SILABS_LOG("STA-Disconnecting");
     int32_t status = sl_wfx_send_disconnect_command();
     wifi_extra &= ~WE_ST_STA_CONN;
     xEventGroupSetBits(sl_wfx_event_group, SL_WFX_RETRY_CONNECT);
@@ -1145,7 +1145,7 @@
 
     val = (wifi_extra & WE_ST_STA_CONN) ? true : false;
 
-    EFR32_LOG("WLAN: STA %s connected", (val ? "IS" : "NOT"));
+    SILABS_LOG("WLAN: STA %s connected", (val ? "IS" : "NOT"));
 
     return val;
 }
@@ -1158,7 +1158,7 @@
  *****************************************************************************/
 void wfx_setup_ip6_link_local(sl_wfx_interface_t whichif)
 {
-    EFR32_LOG("Setup-IP6: TODO"); /* It is automatically done when lwip link up */
+    SILABS_LOG("Setup-IP6: TODO"); /* It is automatically done when lwip link up */
 }
 
 /****************************************************************************
diff --git a/examples/platform/silabs/efr32/wf200/sl_wfx_task.c b/examples/platform/silabs/efr32/wf200/sl_wfx_task.c
index baa4847..8a00e45 100644
--- a/examples/platform/silabs/efr32/wf200/sl_wfx_task.c
+++ b/examples/platform/silabs/efr32/wf200/sl_wfx_task.c
@@ -91,7 +91,7 @@
  */
 static void wfx_bus_task(void * p_arg)
 {
-    EFR32_LOG("SPI: Bus Task started");
+    SILABS_LOG("SPI: Bus Task started");
     sl_wfx_host_start_platform_interrupt();
     for (;;)
     {
@@ -123,6 +123,6 @@
         xTaskCreateStatic(wfx_bus_task, "wfxbus", BUS_TASK_STACK_SIZE, NULL, WFX_BUS_TASK_PRIORITY, busStack, &busTaskStruct);
     if (wfx_bus_task_handle == NULL)
     {
-        EFR32_LOG("*ERR*WFX BusTask");
+        SILABS_LOG("*ERR*WFX BusTask");
     }
 }
diff --git a/examples/platform/silabs/efr32/wf200/wf200_init.c b/examples/platform/silabs/efr32/wf200/wf200_init.c
index bebdaf0..12973d3 100644
--- a/examples/platform/silabs/efr32/wf200/wf200_init.c
+++ b/examples/platform/silabs/efr32/wf200/wf200_init.c
@@ -89,7 +89,7 @@
  *****************************************************************************/
 sl_status_t wfx_soft_init(void)
 {
-    EFR32_LOG("WF200:Soft Init");
+    SILABS_LOG("WF200:Soft Init");
     if ((wfx_event_Q = xQueueCreateStatic(SL_WFX_EVENT_LIST_SIZE, sizeof(uint8_t), sWfxEventQueueBuffer, &sWfxEventQueueStruct)) ==
         NULL)
     {
@@ -118,7 +118,7 @@
  *****************************************************************************/
 sl_status_t sl_wfx_host_init(void)
 {
-    EFR32_LOG("WFX: Host Init");
+    SILABS_LOG("WFX: Host Init");
     host_context.wf200_firmware_download_progress = 0;
     host_context.wf200_initialized                = 0;
     return SL_STATUS_OK;
@@ -420,7 +420,7 @@
 
     if (xSemaphoreTake(wfx_mutex, TICKS_TO_WAIT_500) != pdTRUE)
     {
-        EFR32_LOG("*ERR*Wi-Fi driver mutex timo");
+        SILABS_LOG("*ERR*Wi-Fi driver mutex timo");
         status = SL_STATUS_TIMEOUT;
     }
 
@@ -536,7 +536,7 @@
 void otSysEventSignalPending(void)
 {
     // BaseType_t yieldRequired = ThreadStackMgrImpl().SignalThreadActivityPendingFromISR();
-    EFR32_LOG("*ERR*UART intr - NOT Handled");
+    SILABS_LOG("*ERR*UART intr - NOT Handled");
     portYIELD_FROM_ISR(pdFALSE);
 }
 #endif /* !CHIP_ENABLE_OPENTHREAD */
diff --git a/examples/platform/silabs/efr32_creds.h b/examples/platform/silabs/efr32_creds.h
deleted file mode 100644
index 60a3b17..0000000
--- a/examples/platform/silabs/efr32_creds.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * This is a boilerplat header to define the EFR32 authentication credentials.
- * Applications must provide their own version of this header, and include:
- *  - The content of the CSA-provided Certification Declaration
- *  - The location and size of the PAI, and DAC
- *  - The key ID of the key-pair associated with the DAC
- *
- *  These credentials MUST be provided if the build variable "chip_build_device_attestation_credentials" is set to true.
- */
-#ifndef EFR32_DEVICE_CREDENTIALS
-#define EFR32_DEVICE_CREDENTIALS
-
-#ifndef EFR32_CREDENTIALS_CD_OFFSET
-#define EFR32_CREDENTIALS_CD_OFFSET 0x0000
-#endif
-
-#ifndef EFR32_CREDENTIALS_CD_SIZE
-#define EFR32_CREDENTIALS_CD_SIZE 541
-#endif
-
-#ifndef EFR32_CREDENTIALS_PAI_OFFSET
-#define EFR32_CREDENTIALS_PAI_OFFSET 0x400
-#endif
-
-#ifndef EFR32_CREDENTIALS_PAI_SIZE
-#define EFR32_CREDENTIALS_PAI_SIZE 463
-#endif
-
-#ifndef EFR32_CREDENTIALS_DAC_OFFSET
-#define EFR32_CREDENTIALS_DAC_OFFSET 0x600
-#endif
-
-#ifndef EFR32_CREDENTIALS_DAC_SIZE
-#define EFR32_CREDENTIALS_DAC_SIZE 492
-#endif
-
-#ifndef EFR32_CREDENTIALS_DAC_KEY_ID
-#define EFR32_CREDENTIALS_DAC_KEY_ID PSA_KEY_ID_USER_MIN + 1
-#endif
-
-#endif // EFR32_DEVICE_CREDENTIALS
diff --git a/examples/platform/silabs/silabs_creds.h b/examples/platform/silabs/silabs_creds.h
new file mode 100644
index 0000000..f4808c6
--- /dev/null
+++ b/examples/platform/silabs/silabs_creds.h
@@ -0,0 +1,41 @@
+/**
+ * This is a boilerplat header to define the SILABS authentication credentials.
+ * Applications must provide their own version of this header, and include:
+ *  - The content of the CSA-provided Certification Declaration
+ *  - The location and size of the PAI, and DAC
+ *  - The key ID of the key-pair associated with the DAC
+ *
+ *  These credentials MUST be provided if the build variable "chip_build_device_attestation_credentials" is set to true.
+ */
+#ifndef SILABS_DEVICE_CREDENTIALS
+#define SILABS_DEVICE_CREDENTIALS
+
+#ifndef SILABS_CREDENTIALS_CD_OFFSET
+#define SILABS_CREDENTIALS_CD_OFFSET 0x0000
+#endif
+
+#ifndef SILABS_CREDENTIALS_CD_SIZE
+#define SILABS_CREDENTIALS_CD_SIZE 541
+#endif
+
+#ifndef SILABS_CREDENTIALS_PAI_OFFSET
+#define SILABS_CREDENTIALS_PAI_OFFSET 0x400
+#endif
+
+#ifndef SILABS_CREDENTIALS_PAI_SIZE
+#define SILABS_CREDENTIALS_PAI_SIZE 463
+#endif
+
+#ifndef SILABS_CREDENTIALS_DAC_OFFSET
+#define SILABS_CREDENTIALS_DAC_OFFSET 0x600
+#endif
+
+#ifndef SILABS_CREDENTIALS_DAC_SIZE
+#define SILABS_CREDENTIALS_DAC_SIZE 492
+#endif
+
+#ifndef SILABS_CREDENTIALS_DAC_KEY_ID
+#define SILABS_CREDENTIALS_DAC_KEY_ID PSA_KEY_ID_USER_MIN + 1
+#endif
+
+#endif // SILABS_DEVICE_CREDENTIALS
diff --git a/examples/shell/efr32/include/AppConfig.h b/examples/shell/efr32/include/AppConfig.h
index 743c6ed..3412924 100644
--- a/examples/shell/efr32/include/AppConfig.h
+++ b/examples/shell/efr32/include/AppConfig.h
@@ -54,10 +54,10 @@
 extern "C" {
 #endif
 
-void efr32InitLog(void);
+void silabsInitLog(void);
 
 void efr32Log(const char * aFormat, ...);
-#define EFR32_LOG(...) efr32Log(__VA_ARGS__);
+#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
 void appError(int err);
 
 #ifdef __cplusplus
diff --git a/examples/shell/efr32/src/main.cpp b/examples/shell/efr32/src/main.cpp
index 7a6c59a..a7e6f9d 100644
--- a/examples/shell/efr32/src/main.cpp
+++ b/examples/shell/efr32/src/main.cpp
@@ -70,7 +70,7 @@
 
 void appError(int err)
 {
-    EFR32_LOG("!!!!!!!!!!!! App Critical Error: %d !!!!!!!!!!!", err);
+    SILABS_LOG("!!!!!!!!!!!! App Critical Error: %d !!!!!!!!!!!", err);
     portDISABLE_INTERRUPTS();
     while (true)
         ;
@@ -102,11 +102,11 @@
     MemMonitoring::startHeapMonitoring();
 #endif
 
-    EFR32_LOG("==================================================");
-    EFR32_LOG("chip-efr32-shell-example starting");
-    EFR32_LOG("==================================================");
+    SILABS_LOG("==================================================");
+    SILABS_LOG("chip-efr32-shell-example starting");
+    SILABS_LOG("==================================================");
 
-    EFR32_LOG("Init CHIP Stack");
+    SILABS_LOG("Init CHIP Stack");
 
     // Init Chip memory management before the stack
     chip::Platform::MemoryInit();
@@ -114,44 +114,44 @@
     CHIP_ERROR ret = PlatformMgr().InitChipStack();
     if (ret != CHIP_NO_ERROR)
     {
-        EFR32_LOG("PlatformMgr().InitChipStack() failed");
+        SILABS_LOG("PlatformMgr().InitChipStack() failed");
         appError(ret);
     }
     chip::DeviceLayer::ConnectivityMgr().SetBLEDeviceName("EFR32_SHELL");
 
-    EFR32_LOG("Starting Platform Manager Event Loop");
+    SILABS_LOG("Starting Platform Manager Event Loop");
     ret = PlatformMgr().StartEventLoopTask();
     if (ret != CHIP_NO_ERROR)
     {
-        EFR32_LOG("PlatformMgr().StartEventLoopTask() failed");
+        SILABS_LOG("PlatformMgr().StartEventLoopTask() failed");
         appError(ret);
     }
 
 #if CHIP_ENABLE_OPENTHREAD
-    EFR32_LOG("Initializing OpenThread stack");
+    SILABS_LOG("Initializing OpenThread stack");
     ret = ThreadStackMgr().InitThreadStack();
     if (ret != CHIP_NO_ERROR)
     {
-        EFR32_LOG("ThreadStackMgr().InitThreadStack() failed");
+        SILABS_LOG("ThreadStackMgr().InitThreadStack() failed");
         appError(ret);
     }
 
     ret = ConnectivityMgr().SetThreadDeviceType(ConnectivityManager::kThreadDeviceType_Router);
     if (ret != CHIP_NO_ERROR)
     {
-        EFR32_LOG("ConnectivityMgr().SetThreadDeviceType() failed");
+        SILABS_LOG("ConnectivityMgr().SetThreadDeviceType() failed");
         appError(ret);
     }
 #endif // CHIP_ENABLE_OPENTHREAD
 
 #if CHIP_ENABLE_OPENTHREAD
-    EFR32_LOG("Starting OpenThread task");
+    SILABS_LOG("Starting OpenThread task");
 
     // Start OpenThread task
     ret = ThreadStackMgrImpl().StartThreadTask();
     if (ret != CHIP_NO_ERROR)
     {
-        EFR32_LOG("ThreadStackMgr().StartThreadTask() failed");
+        SILABS_LOG("ThreadStackMgr().StartThreadTask() failed");
         appError(ret);
     }
 #endif // CHIP_ENABLE_OPENTHREAD
diff --git a/examples/thermostat/efr32/include/AppConfig.h b/examples/thermostat/efr32/include/AppConfig.h
index 946b593..a936fe1 100644
--- a/examples/thermostat/efr32/include/AppConfig.h
+++ b/examples/thermostat/efr32/include/AppConfig.h
@@ -32,10 +32,10 @@
 extern "C" {
 #endif
 
-void efr32InitLog(void);
+void silabsInitLog(void);
 
 void efr32Log(const char * aFormat, ...);
-#define EFR32_LOG(...) efr32Log(__VA_ARGS__);
+#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
 void appError(int err);
 
 #ifdef __cplusplus
diff --git a/examples/thermostat/efr32/src/AppTask.cpp b/examples/thermostat/efr32/src/AppTask.cpp
index 64af085..073a52b 100644
--- a/examples/thermostat/efr32/src/AppTask.cpp
+++ b/examples/thermostat/efr32/src/AppTask.cpp
@@ -157,19 +157,19 @@
     err = BaseApplication::Init(&gIdentify);
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("BaseApplication::Init() failed");
+        SILABS_LOG("BaseApplication::Init() failed");
         appError(err);
     }
     err = SensorMgr().Init();
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("SensorMgr::Init() failed");
+        SILABS_LOG("SensorMgr::Init() failed");
         appError(err);
     }
     err = TempMgr().Init();
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("TempMgr::Init() failed");
+        SILABS_LOG("TempMgr::Init() failed");
         appError(err);
     }
 
@@ -189,7 +189,7 @@
     CHIP_ERROR err = sAppTask.Init();
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("AppTask.Init() failed");
+        SILABS_LOG("AppTask.Init() failed");
         appError(err);
     }
 
@@ -197,7 +197,7 @@
     sAppTask.StartStatusLEDTimer();
 #endif
 
-    EFR32_LOG("App Task started");
+    SILABS_LOG("App Task started");
     while (true)
     {
         BaseType_t eventReceived = xQueueReceive(sAppEventQueue, &event, portMAX_DELAY);
@@ -244,8 +244,8 @@
         AppTask::GetAppTask().GetLCD().WriteDemoUI(false); // State doesn't Matter
     }
 #else
-    EFR32_LOG("Thermostat Status - M:%d T:%d'C H:%d'C C:%d'C", TempMgr().GetMode(), TempMgr().GetCurrentTemp(),
-              TempMgr().GetHeatingSetPoint(), TempMgr().GetCoolingSetPoint());
+    SILABS_LOG("Thermostat Status - M:%d T:%d'C H:%d'C C:%d'C", TempMgr().GetMode(), TempMgr().GetCurrentTemp(),
+               TempMgr().GetHeatingSetPoint(), TempMgr().GetCoolingSetPoint());
 #endif // DISPLAY_ENABLED
 }
 
diff --git a/examples/thermostat/efr32/src/SensorManager.cpp b/examples/thermostat/efr32/src/SensorManager.cpp
index 4a60846..427b1da 100644
--- a/examples/thermostat/efr32/src/SensorManager.cpp
+++ b/examples/thermostat/efr32/src/SensorManager.cpp
@@ -62,14 +62,14 @@
 
     if (sSensorTimer == NULL)
     {
-        EFR32_LOG("sSensorTimer timer create failed");
+        SILABS_LOG("sSensorTimer timer create failed");
         return APP_ERROR_CREATE_TIMER_FAILED;
     }
 
 #ifdef USE_TEMP_SENSOR
     if (SL_STATUS_OK != TemperatureSensor::Init())
     {
-        EFR32_LOG("Failed to Init Sensor");
+        SILABS_LOG("Failed to Init Sensor");
         return CHIP_ERROR_INTERNAL;
     }
 #endif
@@ -96,7 +96,7 @@
     {
         if (SL_STATUS_OK != TemperatureSensor::GetTemp(&humidity, &temperature))
         {
-            EFR32_LOG("Failed to read Temperature !!!");
+            SILABS_LOG("Failed to read Temperature !!!");
         }
         tempSum += temperature;
     }
@@ -118,7 +118,7 @@
     }
 #endif // USE_TEMP_SENSOR
 
-    EFR32_LOG("Sensor Temp is : %d", temperature);
+    SILABS_LOG("Sensor Temp is : %d", temperature);
 
     if ((temperature >= (lastTemperature + kMinTemperatureDelta)) || temperature <= (lastTemperature - kMinTemperatureDelta))
     {
diff --git a/examples/thermostat/efr32/src/TemperatureManager.cpp b/examples/thermostat/efr32/src/TemperatureManager.cpp
index 8b0d6c7..30b2ab2 100644
--- a/examples/thermostat/efr32/src/TemperatureManager.cpp
+++ b/examples/thermostat/efr32/src/TemperatureManager.cpp
@@ -90,27 +90,27 @@
     {
     case ThermAttr::LocalTemperature::Id: {
         int8_t Temp = ConvertToPrintableTemp(*((int16_t *) value));
-        EFR32_LOG("Local temp %d", Temp);
+        SILABS_LOG("Local temp %d", Temp);
         mCurrentTempCelsius = Temp;
     }
     break;
 
     case ThermAttr::OccupiedCoolingSetpoint::Id: {
         int8_t coolingTemp = ConvertToPrintableTemp(*((int16_t *) value));
-        EFR32_LOG("CoolingSetpoint %d", coolingTemp);
+        SILABS_LOG("CoolingSetpoint %d", coolingTemp);
         mCoolingCelsiusSetPoint = coolingTemp;
     }
     break;
 
     case ThermAttr::OccupiedHeatingSetpoint::Id: {
         int8_t heatingTemp = ConvertToPrintableTemp(*((int16_t *) value));
-        EFR32_LOG("HeatingSetpoint %d", heatingTemp);
+        SILABS_LOG("HeatingSetpoint %d", heatingTemp);
         mHeatingCelsiusSetPoint = heatingTemp;
     }
     break;
 
     case ThermAttr::SystemMode::Id: {
-        EFR32_LOG("SystemMode %d", static_cast<uint8_t>(*value));
+        SILABS_LOG("SystemMode %d", static_cast<uint8_t>(*value));
         uint8_t mode = static_cast<uint8_t>(*value);
         if (mThermMode != mode)
         {
@@ -120,7 +120,7 @@
     break;
 
     default: {
-        EFR32_LOG("Unhandled thermostat attribute %x", attributeId);
+        SILABS_LOG("Unhandled thermostat attribute %x", attributeId);
         return;
     }
     break;
diff --git a/examples/thermostat/efr32/src/ThermostatUI.cpp b/examples/thermostat/efr32/src/ThermostatUI.cpp
index 9336d35..26e1518 100644
--- a/examples/thermostat/efr32/src/ThermostatUI.cpp
+++ b/examples/thermostat/efr32/src/ThermostatUI.cpp
@@ -56,7 +56,7 @@
 {
     if (glibContext == nullptr)
     {
-        EFR32_LOG("Context is null");
+        SILABS_LOG("Context is null");
         return;
     }
 
diff --git a/examples/thermostat/efr32/src/main.cpp b/examples/thermostat/efr32/src/main.cpp
index d2f1961..e822b71 100644
--- a/examples/thermostat/efr32/src/main.cpp
+++ b/examples/thermostat/efr32/src/main.cpp
@@ -28,7 +28,7 @@
 #include <credentials/DeviceAttestationCredsProvider.h>
 #include <matter_config.h>
 #ifdef EFR32_ATTESTATION_CREDENTIALS
-#include <examples/platform/efr32/EFR32DeviceAttestationCreds.h>
+#include <examples/platform/silabs/SilabsDeviceAttestationCreds.h>
 #else
 #include <credentials/examples/DeviceAttestationCredsExample.h>
 #endif
@@ -59,22 +59,22 @@
     chip::DeviceLayer::PlatformMgr().LockChipStack();
     // Initialize device attestation config
 #ifdef EFR32_ATTESTATION_CREDENTIALS
-    SetDeviceAttestationCredentialsProvider(EFR32::GetEFR32DacProvider());
+    SetDeviceAttestationCredentialsProvider(Silabs::GetSilabsDacProvider());
 #else
     SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
 #endif
     chip::DeviceLayer::PlatformMgr().UnlockChipStack();
 
-    EFR32_LOG("Starting App Task");
+    SILABS_LOG("Starting App Task");
     if (AppTask::GetAppTask().StartAppTask() != CHIP_NO_ERROR)
         appError(CHIP_ERROR_INTERNAL);
 
-    EFR32_LOG("Starting FreeRTOS scheduler");
+    SILABS_LOG("Starting FreeRTOS scheduler");
     sl_system_kernel_start();
 
     // Should never get here.
     chip::Platform::MemoryShutdown();
-    EFR32_LOG("vTaskStartScheduler() failed");
+    SILABS_LOG("vTaskStartScheduler() failed");
     appError(CHIP_ERROR_INTERNAL);
 }
 
diff --git a/examples/window-app/efr32/include/AppConfig.h b/examples/window-app/efr32/include/AppConfig.h
index a9957cf..661819a 100644
--- a/examples/window-app/efr32/include/AppConfig.h
+++ b/examples/window-app/efr32/include/AppConfig.h
@@ -57,10 +57,10 @@
 #define COVER_LIFT_TILT_TIMEOUT 500
 #endif
 
-void efr32InitLog(void);
+void silabsInitLog(void);
 
 void efr32Log(const char * aFormat, ...);
-#define EFR32_LOG(...) efr32Log(__VA_ARGS__);
+#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
 
 #ifdef __cplusplus
 }
diff --git a/examples/window-app/efr32/src/WindowAppImpl.cpp b/examples/window-app/efr32/src/WindowAppImpl.cpp
index 6e4c4cf..dd81cab 100644
--- a/examples/window-app/efr32/src/WindowAppImpl.cpp
+++ b/examples/window-app/efr32/src/WindowAppImpl.cpp
@@ -82,7 +82,7 @@
     );
     if (mHandler == NULL)
     {
-        EFR32_LOG("Timer create failed");
+        SILABS_LOG("Timer create failed");
         appError(CHIP_ERROR_INTERNAL);
     }
 }
@@ -97,7 +97,7 @@
     // Timer is not active
     if (xTimerStart(mHandler, 100) != pdPASS)
     {
-        EFR32_LOG("Timer start() failed");
+        SILABS_LOG("Timer start() failed");
         appError(CHIP_ERROR_INTERNAL);
     }
 
@@ -122,7 +122,7 @@
     mIsActive = false;
     if (xTimerStop(mHandler, 0) == pdFAIL)
     {
-        EFR32_LOG("Timer stop() failed");
+        SILABS_LOG("Timer stop() failed");
         appError(CHIP_ERROR_INTERNAL);
     }
 }
@@ -165,12 +165,12 @@
     /*
      * Wait for the WiFi to be initialized
      */
-    EFR32_LOG("APP: Wait WiFi Init");
+    SILABS_LOG("APP: Wait WiFi Init");
     while (!wfx_hw_ready())
     {
         vTaskDelay(10);
     }
-    EFR32_LOG("APP: Done WiFi Init");
+    SILABS_LOG("APP: Done WiFi Init");
     /* We will init server when we get IP */
     sWiFiNetworkCommissioningInstance.Init();
     /* added for commisioning with wifi */
@@ -195,7 +195,7 @@
     mHandle = xTaskCreateStatic(OnTaskCallback, APP_TASK_NAME, ArraySize(sAppStack), NULL, 1, sAppStack, &sAppTaskStruct);
     if (NULL == mHandle)
     {
-        EFR32_LOG("Failed to allocate app task");
+        SILABS_LOG("Failed to allocate app task");
         return CHIP_ERROR_NO_MEMORY;
     }
 
@@ -203,7 +203,7 @@
     mQueue = xQueueCreateStatic(APP_EVENT_QUEUE_SIZE, sizeof(WindowApp::Event), sAppEventQueueBuffer, &sAppEventQueueStruct);
     if (NULL == mQueue)
     {
-        EFR32_LOG("Failed to allocate app event queue");
+        SILABS_LOG("Failed to allocate app event queue");
         return CHIP_ERROR_NO_MEMORY;
     }
 
@@ -229,7 +229,7 @@
     }
     else
     {
-        EFR32_LOG("Getting QR code failed!");
+        SILABS_LOG("Getting QR code failed!");
     }
 #endif // QR_CODE_ENABLED
 
@@ -238,7 +238,7 @@
 
 CHIP_ERROR WindowAppImpl::Start()
 {
-    EFR32_LOG("Starting FreeRTOS scheduler");
+    SILABS_LOG("Starting FreeRTOS scheduler");
     sl_system_kernel_start();
 
     return CHIP_NO_ERROR;
@@ -249,7 +249,7 @@
     WindowApp::Finish();
     chip::Platform::MemoryShutdown();
     // Should never get here.
-    EFR32_LOG("vTaskStartScheduler() failed");
+    SILABS_LOG("vTaskStartScheduler() failed");
     appError(CHIP_ERROR_INTERNAL);
 }
 
@@ -278,7 +278,7 @@
 
         if (!status)
         {
-            EFR32_LOG("Failed to post event to app task event queue");
+            SILABS_LOG("Failed to post event to app task event queue");
         }
     }
 }
@@ -349,13 +349,13 @@
         DispatchEventAttributeChange(event.mEndpoint, event.mAttributeId);
         break;
     case EventId::ResetWarning:
-        EFR32_LOG("Factory Reset Triggered. Release button within %ums to cancel.", LONG_PRESS_TIMEOUT);
+        SILABS_LOG("Factory Reset Triggered. Release button within %ums to cancel.", LONG_PRESS_TIMEOUT);
         // Turn off all LEDs before starting blink to make sure blink is
         // co-ordinated.
         UpdateLEDs();
         break;
     case EventId::ResetCanceled:
-        EFR32_LOG("Factory Reset has been Canceled");
+        SILABS_LOG("Factory Reset has been Canceled");
         UpdateLEDs();
         break;
     case EventId::ProvisionedStateChanged:
diff --git a/examples/window-app/efr32/src/main.cpp b/examples/window-app/efr32/src/main.cpp
index 41cc1ba..f0536c6 100644
--- a/examples/window-app/efr32/src/main.cpp
+++ b/examples/window-app/efr32/src/main.cpp
@@ -28,7 +28,7 @@
 #include <credentials/DeviceAttestationCredsProvider.h>
 #include <matter_config.h>
 #ifdef EFR32_ATTESTATION_CREDENTIALS
-#include <examples/platform/efr32/EFR32DeviceAttestationCreds.h>
+#include <examples/platform/silabs/SilabsDeviceAttestationCreds.h>
 #else
 #include <credentials/examples/DeviceAttestationCredsExample.h>
 #endif
@@ -58,12 +58,12 @@
 
     WindowApp & app = WindowApp::Instance();
 
-    EFR32_LOG("Starting App");
+    SILABS_LOG("Starting App");
     chip::DeviceLayer::PlatformMgr().LockChipStack();
     err = app.Init();
     // Initialize device attestation config
 #ifdef EFR32_ATTESTATION_CREDENTIALS
-    SetDeviceAttestationCredentialsProvider(EFR32::GetEFR32DacProvider());
+    SetDeviceAttestationCredentialsProvider(Silabs::GetSilabsDacProvider());
 #else
     SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
 #endif
@@ -71,14 +71,14 @@
 
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("App Init failed");
+        SILABS_LOG("App Init failed");
         appError(err);
     }
 
     err = app.Start();
     if (err != CHIP_NO_ERROR)
     {
-        EFR32_LOG("App Start failed");
+        SILABS_LOG("App Start failed");
         appError(err);
     }
 
diff --git a/src/platform/silabs/CHIPDevicePlatformConfig.h b/src/platform/silabs/CHIPDevicePlatformConfig.h
index 1843088..b2f46f2 100644
--- a/src/platform/silabs/CHIPDevicePlatformConfig.h
+++ b/src/platform/silabs/CHIPDevicePlatformConfig.h
@@ -19,15 +19,15 @@
 /**
  *    @file
  *          Platform-specific configuration overrides for the Chip Device Layer
- *          on EFR32 platforms using the Silicon Labs SDK.
+ *          on Silabs platforms using the Silicon Labs SDK.
  */
 
 #pragma once
 
 // ==================== Platform Adaptations ====================
 
-#define CHIP_DEVICE_CONFIG_EFR32_NVM3_ERROR_MIN 0xB00000
-#define CHIP_DEVICE_CONFIG_EFR32_BLE_ERROR_MIN 0xC00000
+#define CHIP_DEVICE_CONFIG_SILABS_NVM3_ERROR_MIN 0xB00000
+#define CHIP_DEVICE_CONFIG_SILABS_BLE_ERROR_MIN 0xC00000
 
 #define CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP 0
 
diff --git a/src/platform/silabs/CHIPDevicePlatformEvent.h b/src/platform/silabs/CHIPDevicePlatformEvent.h
index 1252e16..8ab1e21 100644
--- a/src/platform/silabs/CHIPDevicePlatformEvent.h
+++ b/src/platform/silabs/CHIPDevicePlatformEvent.h
@@ -19,7 +19,7 @@
 /**
  *    @file
  *          Defines platform-specific event types and data for the Chip
- *          Device Layer on EFR32 platforms using the Silicon Labs SDK.
+ *          Device Layer on Silabs platforms using the Silicon Labs SDK.
  */
 
 #pragma once
@@ -35,7 +35,7 @@
 namespace DeviceEventType {
 
 /**
- * Enumerates EFR32 platform-specific event types that are visible to the application.
+ * Enumerates Silabs platform-specific event types that are visible to the application.
  */
 enum PublicPlatformSpecificEventTypes
 {
@@ -43,7 +43,7 @@
 };
 
 /**
- * Enumerates EFR32 platform-specific event types that are internal to the Chip Device Layer.
+ * Enumerates Silabs platform-specific event types that are internal to the Chip Device Layer.
  */
 enum InternalPlatformSpecificEventTypes
 {
@@ -53,7 +53,7 @@
 } // namespace DeviceEventType
 
 /**
- * Represents platform-specific event information for Silicon Labs EFR32 platforms.
+ * Represents platform-specific event information for Silicon Labs platforms.
  */
 
 struct ChipDevicePlatformEvent final
diff --git a/src/platform/silabs/CHIPPlatformConfig.h b/src/platform/silabs/CHIPPlatformConfig.h
index cffeb46..ec36bc8 100644
--- a/src/platform/silabs/CHIPPlatformConfig.h
+++ b/src/platform/silabs/CHIPPlatformConfig.h
@@ -19,7 +19,7 @@
 /**
  *    @file
  *          Platform-specific configuration overrides for CHIP on
- *          Silcon Labs EFR32 platforms.
+ *          Silcon Labs Silabs platforms.
  */
 
 #pragma once
@@ -34,13 +34,13 @@
 #define CHIP_CONFIG_PERSISTED_STORAGE_ENC_MSG_CNTR_ID 1
 #define CHIP_CONFIG_PERSISTED_STORAGE_MAX_KEY_LENGTH 2
 
-#define CHIP_CONFIG_LIFETIIME_PERSISTED_COUNTER_KEY EFR32Config::kConfigKey_LifeTimeCounter
+#define CHIP_CONFIG_LIFETIIME_PERSISTED_COUNTER_KEY SilabsConfig::kConfigKey_LifeTimeCounter
 
 // ==================== Security Adaptations ====================
 
-// FIXME: EFR32 set to MBED-TLS (But this is third-party repo in CHIP, not SDK)
+// FIXME: Silabs set to MBED-TLS (But this is third-party repo in CHIP, not SDK)
 
-// FIXME: EFR32 currently set to CHIP (Does this use Entropy.cpp ?)
+// FIXME: Silabs currently set to CHIP (Does this use Entropy.cpp ?)
 
 #if CHIP_HAVE_CONFIG_H
 #include <crypto/CryptoBuildConfig.h>
diff --git a/src/platform/silabs/ConfigurationManagerImpl.h b/src/platform/silabs/ConfigurationManagerImpl.h
index 7c47e98..35f8c23 100644
--- a/src/platform/silabs/ConfigurationManagerImpl.h
+++ b/src/platform/silabs/ConfigurationManagerImpl.h
@@ -26,7 +26,7 @@
 
 #include <platform/internal/GenericConfigurationManagerImpl.h>
 
-#include <platform/silabs/EFR32Config.h>
+#include <platform/silabs/SilabsConfig.h>
 
 namespace chip {
 namespace DeviceLayer {
@@ -34,7 +34,7 @@
 /**
  * Concrete implementation of the ConfigurationManager singleton object for the EFR32 platform.
  */
-class ConfigurationManagerImpl : public Internal::GenericConfigurationManagerImpl<Internal::EFR32Config>
+class ConfigurationManagerImpl : public Internal::GenericConfigurationManagerImpl<Internal::SILABSConfig>
 {
 public:
     // This returns an instance of this class.
diff --git a/src/platform/silabs/ConnectivityManagerImpl.h b/src/platform/silabs/ConnectivityManagerImpl.h
index 97f71e1..6e2540f 100644
--- a/src/platform/silabs/ConnectivityManagerImpl.h
+++ b/src/platform/silabs/ConnectivityManagerImpl.h
@@ -51,7 +51,7 @@
 class PlatformManagerImpl;
 
 /**
- * Concrete implementation of the ConnectivityManager singleton object for Silicon Labs EFR32 platforms.
+ * Concrete implementation of the ConnectivityManager singleton object for Silicon Labs Silabs platforms.
  */
 class ConnectivityManagerImpl final : public ConnectivityManager,
                                       public Internal::GenericConnectivityManagerImpl<ConnectivityManagerImpl>,
@@ -193,7 +193,7 @@
  * Returns the platform-specific implementation of the ConnectivityManager singleton object.
  *
  * Chip applications can use this to gain access to features of the ConnectivityManager
- * that are specific to the ESP32 platform.
+ * that are specific to the Silabs platform.
  */
 inline ConnectivityManagerImpl & ConnectivityMgrImpl(void)
 {
diff --git a/src/platform/silabs/DiagnosticDataProviderImpl.cpp b/src/platform/silabs/DiagnosticDataProviderImpl.cpp
index b1c548b..0b62542 100644
--- a/src/platform/silabs/DiagnosticDataProviderImpl.cpp
+++ b/src/platform/silabs/DiagnosticDataProviderImpl.cpp
@@ -18,7 +18,7 @@
 /**
  *    @file
  *          Provides an implementation of the DiagnosticDataProvider object
- *          for EFR32 platform.
+ *          for Silabs platform.
  */
 
 #include <platform/internal/CHIPDeviceLayerInternal.h>
@@ -47,7 +47,7 @@
 // Software Diagnostics Getters
 /*
  * The following Heap stats are compiled values done by the FreeRTOS Heap4 implementation.
- * See /examples/platform/efr32/heap_4_silabs.c
+ * See /examples/platform/silabs/heap_4_silabs.c
  * It keeps track of the number of calls to allocate and free memory as well as the
  * number of free bytes remaining, but says nothing about fragmentation.
  */
diff --git a/src/platform/silabs/EFR32/BLEManagerImpl.cpp b/src/platform/silabs/EFR32/BLEManagerImpl.cpp
index 91de55f..a76f26c 100644
--- a/src/platform/silabs/EFR32/BLEManagerImpl.cpp
+++ b/src/platform/silabs/EFR32/BLEManagerImpl.cpp
@@ -371,7 +371,7 @@
     case SL_STATUS_NOT_SUPPORTED:
         return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE;
     default:
-        return CHIP_ERROR(ChipError::Range::kPlatform, bleErr + CHIP_DEVICE_CONFIG_EFR32_BLE_ERROR_MIN);
+        return CHIP_ERROR(ChipError::Range::kPlatform, bleErr + CHIP_DEVICE_CONFIG_SILABS_BLE_ERROR_MIN);
     }
 }
 
diff --git a/src/platform/silabs/EFR32/BUILD.gn b/src/platform/silabs/EFR32/BUILD.gn
index 546fe7a..b67c63c 100644
--- a/src/platform/silabs/EFR32/BUILD.gn
+++ b/src/platform/silabs/EFR32/BUILD.gn
@@ -44,12 +44,12 @@
     "${silabs_platform_dir}/ConnectivityManagerImpl.h",
     "${silabs_platform_dir}/DiagnosticDataProviderImpl.cpp",
     "${silabs_platform_dir}/DiagnosticDataProviderImpl.h",
-    "${silabs_platform_dir}/EFR32Config.cpp",
-    "${silabs_platform_dir}/EFR32Config.h",
     "${silabs_platform_dir}/InetPlatformConfig.h",
     "${silabs_platform_dir}/KeyValueStoreManagerImpl.h",
     "${silabs_platform_dir}/Logging.cpp",
     "${silabs_platform_dir}/PlatformManagerImpl.h",
+    "${silabs_platform_dir}/SilabsConfig.cpp",
+    "${silabs_platform_dir}/SilabsConfig.h",
     "${silabs_platform_dir}/SystemPlatformConfig.h",
     "../../FreeRTOS/SystemTimeSupport.cpp",
     "../../SingletonConfigurationManager.cpp",
diff --git a/src/platform/silabs/EFR32/ConfigurationManagerImpl.cpp b/src/platform/silabs/EFR32/ConfigurationManagerImpl.cpp
index 5dc4be6..aad7493 100644
--- a/src/platform/silabs/EFR32/ConfigurationManagerImpl.cpp
+++ b/src/platform/silabs/EFR32/ConfigurationManagerImpl.cpp
@@ -28,7 +28,7 @@
 
 #include <platform/ConfigurationManager.h>
 #include <platform/DiagnosticDataProvider.h>
-#include <platform/silabs/EFR32Config.h>
+#include <platform/silabs/SilabsConfig.h>
 
 #include "em_rmu.h"
 
@@ -52,7 +52,7 @@
     CHIP_ERROR err;
 
     // Initialize the generic implementation base class.
-    err = Internal::GenericConfigurationManagerImpl<EFR32Config>::Init();
+    err = Internal::GenericConfigurationManagerImpl<SILABSConfig>::Init();
     SuccessOrExit(err);
 
     // TODO: Initialize the global GroupKeyStore object here (#1626)
@@ -82,19 +82,19 @@
 
 CHIP_ERROR ConfigurationManagerImpl::GetRebootCount(uint32_t & rebootCount)
 {
-    return EFR32Config::ReadConfigValue(EFR32Config::kConfigKey_BootCount, rebootCount);
+    return SILABSConfig::ReadConfigValue(SILABSConfig::kConfigKey_BootCount, rebootCount);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::IncreaseBootCount(void)
 {
     uint32_t bootCount = 0;
 
-    if (EFR32Config::ConfigValueExists(EFR32Config::kConfigKey_BootCount))
+    if (SILABSConfig::ConfigValueExists(SILABSConfig::kConfigKey_BootCount))
     {
         GetRebootCount(bootCount);
     }
 
-    return EFR32Config::WriteConfigValue(EFR32Config::kConfigKey_BootCount, bootCount + 1);
+    return SILABSConfig::WriteConfigValue(SILABSConfig::kConfigKey_BootCount, bootCount + 1);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::GetBootReason(uint32_t & bootReason)
@@ -156,18 +156,18 @@
 
 CHIP_ERROR ConfigurationManagerImpl::GetTotalOperationalHours(uint32_t & totalOperationalHours)
 {
-    if (!EFR32Config::ConfigValueExists(EFR32Config::kConfigKey_TotalOperationalHours))
+    if (!SILABSConfig::ConfigValueExists(SILABSConfig::kConfigKey_TotalOperationalHours))
     {
         totalOperationalHours = 0;
         return CHIP_NO_ERROR;
     }
 
-    return EFR32Config::ReadConfigValue(EFR32Config::kConfigKey_TotalOperationalHours, totalOperationalHours);
+    return SILABSConfig::ReadConfigValue(SILABSConfig::kConfigKey_TotalOperationalHours, totalOperationalHours);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::StoreTotalOperationalHours(uint32_t totalOperationalHours)
 {
-    return EFR32Config::WriteConfigValue(EFR32Config::kConfigKey_TotalOperationalHours, totalOperationalHours);
+    return SILABSConfig::WriteConfigValue(SILABSConfig::kConfigKey_TotalOperationalHours, totalOperationalHours);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::ReadPersistedStorageValue(::chip::Platform::PersistedStorage::Key persistedStorageKey,
@@ -177,7 +177,7 @@
     // (where persistedStorageKey represents an index to the counter).
     CHIP_ERROR err;
 
-    err = EFR32Config::ReadConfigValueCounter(persistedStorageKey, value);
+    err = SILABSConfig::ReadConfigValueCounter(persistedStorageKey, value);
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND)
     {
         err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND;
@@ -195,7 +195,7 @@
     // (where persistedStorageKey represents an index to the counter).
     CHIP_ERROR err;
 
-    err = EFR32Config::WriteConfigValueCounter(persistedStorageKey, value);
+    err = SILABSConfig::WriteConfigValueCounter(persistedStorageKey, value);
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND)
     {
         err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND;
@@ -208,62 +208,62 @@
 
 CHIP_ERROR ConfigurationManagerImpl::ReadConfigValue(Key key, bool & val)
 {
-    return EFR32Config::ReadConfigValue(key, val);
+    return SILABSConfig::ReadConfigValue(key, val);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::ReadConfigValue(Key key, uint32_t & val)
 {
-    return EFR32Config::ReadConfigValue(key, val);
+    return SILABSConfig::ReadConfigValue(key, val);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::ReadConfigValue(Key key, uint64_t & val)
 {
-    return EFR32Config::ReadConfigValue(key, val);
+    return SILABSConfig::ReadConfigValue(key, val);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::ReadConfigValueStr(Key key, char * buf, size_t bufSize, size_t & outLen)
 {
-    return EFR32Config::ReadConfigValueStr(key, buf, bufSize, outLen);
+    return SILABSConfig::ReadConfigValueStr(key, buf, bufSize, outLen);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen)
 {
-    return EFR32Config::ReadConfigValueBin(key, buf, bufSize, outLen);
+    return SILABSConfig::ReadConfigValueBin(key, buf, bufSize, outLen);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::WriteConfigValue(Key key, bool val)
 {
-    return EFR32Config::WriteConfigValue(key, val);
+    return SILABSConfig::WriteConfigValue(key, val);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::WriteConfigValue(Key key, uint32_t val)
 {
-    return EFR32Config::WriteConfigValue(key, val);
+    return SILABSConfig::WriteConfigValue(key, val);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::WriteConfigValue(Key key, uint64_t val)
 {
-    return EFR32Config::WriteConfigValue(key, val);
+    return SILABSConfig::WriteConfigValue(key, val);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::WriteConfigValueStr(Key key, const char * str)
 {
-    return EFR32Config::WriteConfigValueStr(key, str);
+    return SILABSConfig::WriteConfigValueStr(key, str);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::WriteConfigValueStr(Key key, const char * str, size_t strLen)
 {
-    return EFR32Config::WriteConfigValueStr(key, str, strLen);
+    return SILABSConfig::WriteConfigValueStr(key, str, strLen);
 }
 
 CHIP_ERROR ConfigurationManagerImpl::WriteConfigValueBin(Key key, const uint8_t * data, size_t dataLen)
 {
-    return EFR32Config::WriteConfigValueBin(key, data, dataLen);
+    return SILABSConfig::WriteConfigValueBin(key, data, dataLen);
 }
 
 void ConfigurationManagerImpl::RunConfigUnitTest(void)
 {
-    EFR32Config::RunConfigUnitTest();
+    SILABSConfig::RunConfigUnitTest();
 }
 
 void ConfigurationManagerImpl::DoFactoryReset(intptr_t arg)
@@ -272,7 +272,7 @@
 
     ChipLogProgress(DeviceLayer, "Performing factory reset");
 
-    err = EFR32Config::FactoryResetConfig();
+    err = SILABSConfig::FactoryResetConfig();
     if (err != CHIP_NO_ERROR)
     {
         ChipLogError(DeviceLayer, "FactoryResetConfig() failed: %s", chip::ErrorStr(err));
diff --git a/src/platform/silabs/EFR32/Efr32PsaOperationalKeystore.cpp b/src/platform/silabs/EFR32/Efr32PsaOperationalKeystore.cpp
index 411db04..e8fdf61 100644
--- a/src/platform/silabs/EFR32/Efr32PsaOperationalKeystore.cpp
+++ b/src/platform/silabs/EFR32/Efr32PsaOperationalKeystore.cpp
@@ -25,7 +25,7 @@
 #include <lib/support/SafeInt.h>
 
 #include "Efr32OpaqueKeypair.h"
-#include <platform/silabs/EFR32Config.h>
+#include <platform/silabs/SilabsConfig.h>
 
 namespace chip {
 namespace DeviceLayer {
@@ -56,7 +56,7 @@
     size_t existingLen = 0;
     bool update_cache  = false;
 
-    if (EFR32Config::ConfigValueExists(EFR32Config::kConfigKey_OpKeyMap, existingLen))
+    if (SILABSConfig::ConfigValueExists(SILABSConfig::kConfigKey_OpKeyMap, existingLen))
     {
         // There's a pre-existing key map on disk. Size the map to read it fully.
         size_t outLen = 0;
@@ -76,7 +76,7 @@
         VerifyOrExit(mKeyMap, error = CHIP_ERROR_NO_MEMORY);
 
         // Read the existing key map
-        error = EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_OpKeyMap, (uint8_t *) mKeyMap, existingLen, outLen);
+        error = SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_OpKeyMap, (uint8_t *) mKeyMap, existingLen, outLen);
         SuccessOrExit(error);
 
         // If upsizing, extend the map with undefined indices
@@ -127,7 +127,7 @@
     // Write-out keymap if needed
     if (update_cache)
     {
-        error = EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_OpKeyMap, mKeyMap, mKeyMapSize);
+        error = SILABSConfig::WriteConfigValueBin(SILABSConfig::kConfigKey_OpKeyMap, mKeyMap, mKeyMapSize);
         SuccessOrExit(error);
     }
 
@@ -304,7 +304,7 @@
     mKeyMap[keymap_index] = fabricIndex;
 
     // Persist key map
-    CHIP_ERROR error = EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_OpKeyMap, mKeyMap, mKeyMapSize);
+    CHIP_ERROR error = SILABSConfig::WriteConfigValueBin(SILABSConfig::kConfigKey_OpKeyMap, mKeyMap, mKeyMapSize);
     if (error != CHIP_NO_ERROR)
     {
         return error;
@@ -349,7 +349,7 @@
     mKeyMap[keymap_index] = kUndefinedFabricIndex;
 
     // Persist key map
-    CHIP_ERROR error = EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_OpKeyMap, mKeyMap, mKeyMapSize);
+    CHIP_ERROR error = SILABSConfig::WriteConfigValueBin(SILABSConfig::kConfigKey_OpKeyMap, mKeyMap, mKeyMapSize);
     if (error != CHIP_NO_ERROR)
     {
         return error;
diff --git a/src/platform/silabs/EFR32/KeyValueStoreManagerImpl.cpp b/src/platform/silabs/EFR32/KeyValueStoreManagerImpl.cpp
index 05b3acf..c752c75 100644
--- a/src/platform/silabs/EFR32/KeyValueStoreManagerImpl.cpp
+++ b/src/platform/silabs/EFR32/KeyValueStoreManagerImpl.cpp
@@ -18,22 +18,22 @@
 
 /**
  *    @file
- *          Platform-specific key value storage implementation for EFR32
+ *          Platform-specific key value storage implementation for SILABS
  */
 
 #include <lib/support/CHIPMemString.h>
 #include <lib/support/CodeUtils.h>
 #include <platform/CHIPDeviceLayer.h>
 #include <platform/KeyValueStoreManager.h>
-#include <platform/silabs/EFR32Config.h>
+#include <platform/silabs/SilabsConfig.h>
 #include <stdio.h>
 #include <string.h>
 
 using namespace ::chip;
 using namespace ::chip::DeviceLayer::Internal;
 
-#define CONVERT_KEYMAP_INDEX_TO_NVM3KEY(index) (EFR32Config::kConfigKey_KvsFirstKeySlot + index)
-#define CONVERT_NVM3KEY_TO_KEYMAP_INDEX(nvm3Key) (nvm3Key - EFR32Config::kConfigKey_KvsFirstKeySlot)
+#define CONVERT_KEYMAP_INDEX_TO_NVM3KEY(index) (SILABSConfig::kConfigKey_KvsFirstKeySlot + index)
+#define CONVERT_NVM3KEY_TO_KEYMAP_INDEX(nvm3Key) (nvm3Key - SILABSConfig::kConfigKey_KvsFirstKeySlot)
 
 namespace chip {
 namespace DeviceLayer {
@@ -45,13 +45,13 @@
 CHIP_ERROR KeyValueStoreManagerImpl::Init(void)
 {
     CHIP_ERROR err;
-    err = EFR32Config::Init();
+    err = SILABSConfig::Init();
     SuccessOrExit(err);
 
     memset(mKvsStoredKeyString, 0, sizeof(mKvsStoredKeyString));
     size_t outLen;
-    err = EFR32Config::ReadConfigValueBin(EFR32Config::kConfigKey_KvsStringKeyMap, reinterpret_cast<uint8_t *>(mKvsStoredKeyString),
-                                          sizeof(mKvsStoredKeyString), outLen);
+    err = SILABSConfig::ReadConfigValueBin(SILABSConfig::kConfigKey_KvsStringKeyMap,
+                                           reinterpret_cast<uint8_t *>(mKvsStoredKeyString), sizeof(mKvsStoredKeyString), outLen);
 
     if (err == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND) // Initial boot
     {
@@ -64,7 +64,7 @@
 
 bool KeyValueStoreManagerImpl::IsValidKvsNvm3Key(uint32_t nvm3Key) const
 {
-    return ((EFR32Config::kConfigKey_KvsFirstKeySlot <= nvm3Key) && (nvm3Key <= EFR32Config::kConfigKey_KvsLastKeySlot));
+    return ((SILABSConfig::kConfigKey_KvsFirstKeySlot <= nvm3Key) && (nvm3Key <= SILABSConfig::kConfigKey_KvsLastKeySlot));
 }
 
 CHIP_ERROR KeyValueStoreManagerImpl::MapKvsKeyToNvm3(const char * key, uint32_t & nvm3Key, bool isSlotNeeded) const
@@ -113,8 +113,8 @@
 
 void KeyValueStoreManagerImpl::OnScheduledKeyMapSave(System::Layer * systemLayer, void * appState)
 {
-    EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_KvsStringKeyMap,
-                                     reinterpret_cast<const uint8_t *>(mKvsStoredKeyString), sizeof(mKvsStoredKeyString));
+    SILABSConfig::WriteConfigValueBin(SILABSConfig::kConfigKey_KvsStringKeyMap,
+                                      reinterpret_cast<const uint8_t *>(mKvsStoredKeyString), sizeof(mKvsStoredKeyString));
 }
 
 void KeyValueStoreManagerImpl::ScheduleKeyMapSave(void)
@@ -124,7 +124,7 @@
         Commit the key map in nvm once it as stabilized.
     */
     SystemLayer().StartTimer(
-        std::chrono::duration_cast<System::Clock::Timeout>(System::Clock::Seconds32(EFR32_KVS_SAVE_DELAY_SECONDS)),
+        std::chrono::duration_cast<System::Clock::Timeout>(System::Clock::Seconds32(SILABS_KVS_SAVE_DELAY_SECONDS)),
         KeyValueStoreManagerImpl::OnScheduledKeyMapSave, NULL);
 }
 
@@ -138,7 +138,7 @@
     VerifyOrReturnError(err == CHIP_NO_ERROR, err);
 
     size_t outLen;
-    err = EFR32Config::ReadConfigValueBin(nvm3Key, reinterpret_cast<uint8_t *>(value), value_size, outLen, offset_bytes);
+    err = SILABSConfig::ReadConfigValueBin(nvm3Key, reinterpret_cast<uint8_t *>(value), value_size, outLen, offset_bytes);
     if (read_bytes_size)
     {
         *read_bytes_size = outLen;
@@ -160,10 +160,10 @@
     CHIP_ERROR err = MapKvsKeyToNvm3(key, nvm3Key, /* isSlotNeeded */ true);
     VerifyOrReturnError(err == CHIP_NO_ERROR, err);
 
-    err = EFR32Config::WriteConfigValueBin(nvm3Key, reinterpret_cast<const uint8_t *>(value), value_size);
+    err = SILABSConfig::WriteConfigValueBin(nvm3Key, reinterpret_cast<const uint8_t *>(value), value_size);
     if (err == CHIP_NO_ERROR)
     {
-        uint32_t keyIndex = nvm3Key - EFR32Config::kConfigKey_KvsFirstKeySlot;
+        uint32_t keyIndex = nvm3Key - SILABSConfig::kConfigKey_KvsFirstKeySlot;
         Platform::CopyString(mKvsStoredKeyString[keyIndex], key);
         ScheduleKeyMapSave();
     }
@@ -179,7 +179,7 @@
     CHIP_ERROR err = MapKvsKeyToNvm3(key, nvm3Key);
     VerifyOrReturnError(err == CHIP_NO_ERROR, err);
 
-    err = EFR32Config::ClearConfigValue(nvm3Key);
+    err = SILABSConfig::ClearConfigValue(nvm3Key);
     if (err == CHIP_NO_ERROR)
     {
         uint32_t keyIndex = CONVERT_NVM3KEY_TO_KEYMAP_INDEX(nvm3Key);
@@ -194,9 +194,9 @@
 {
     // Iterate over all the Matter Kvs nvm3 records and delete each one...
     CHIP_ERROR err = CHIP_NO_ERROR;
-    for (uint32_t nvm3Key = EFR32Config::kMinConfigKey_MatterKvs; nvm3Key < EFR32Config::kMaxConfigKey_MatterKvs; nvm3Key++)
+    for (uint32_t nvm3Key = SILABSConfig::kMinConfigKey_MatterKvs; nvm3Key < SILABSConfig::kMaxConfigKey_MatterKvs; nvm3Key++)
     {
-        err = EFR32Config::ClearConfigValue(nvm3Key);
+        err = SILABSConfig::ClearConfigValue(nvm3Key);
 
         if (err != CHIP_NO_ERROR)
         {
diff --git a/src/platform/silabs/EFR32/OTAImageProcessorImpl.cpp b/src/platform/silabs/EFR32/OTAImageProcessorImpl.cpp
index 49fd73d..f07fd94 100644
--- a/src/platform/silabs/EFR32/OTAImageProcessorImpl.cpp
+++ b/src/platform/silabs/EFR32/OTAImageProcessorImpl.cpp
@@ -25,7 +25,7 @@
 #include "em_bus.h" // For CORE_CRITICAL_SECTION
 }
 
-#include <platform/silabs/EFR32Config.h>
+#include <platform/silabs/SilabsConfig.h>
 
 /// No error, operation OK
 #define SL_BOOTLOADER_OK 0L
diff --git a/src/platform/silabs/EFR32/PlatformManagerImpl.cpp b/src/platform/silabs/EFR32/PlatformManagerImpl.cpp
index 626ea16..25de6d5 100644
--- a/src/platform/silabs/EFR32/PlatformManagerImpl.cpp
+++ b/src/platform/silabs/EFR32/PlatformManagerImpl.cpp
@@ -19,7 +19,7 @@
 /**
  *    @file
  *          Provides an implementation of the PlatformManager object
- *          for EFR32 platforms using the Silicon Labs EFR32 SDK.
+ *          for Silabs platforms using the Silicon Labs SDK.
  */
 /* this file behaves like a config.h, comes first */
 #include <platform/internal/CHIPDeviceLayerInternal.h>
diff --git a/src/platform/silabs/EFR32/wifi/dhcp_client.cpp b/src/platform/silabs/EFR32/wifi/dhcp_client.cpp
index f3e8c55..15c6785 100644
--- a/src/platform/silabs/EFR32/wifi/dhcp_client.cpp
+++ b/src/platform/silabs/EFR32/wifi/dhcp_client.cpp
@@ -68,7 +68,7 @@
     if (link_up)
     {
         dhcp_state = DHCP_START;
-        EFR32_LOG("DHCP: Starting");
+        SILABS_LOG("DHCP: Starting");
     }
     else
     {
@@ -94,7 +94,7 @@
     switch (dhcp_state)
     {
     case DHCP_START:
-        EFR32_LOG("DHCP: Wait addr");
+        SILABS_LOG("DHCP: Wait addr");
         ip_addr_set_zero_ip4(&netif->ip_addr);
         ip_addr_set_zero_ip4(&netif->netmask);
         ip_addr_set_zero_ip4(&netif->gw);
@@ -108,8 +108,8 @@
             dhcp_state = DHCP_ADDRESS_ASSIGNED;
 
             uint64_t addr = netif->ip_addr.u_addr.ip4.addr;
-            EFR32_LOG("DHCP IP: %d.%d.%d.%d", NETIF_IPV4_ADDRESS(addr, 0), NETIF_IPV4_ADDRESS(addr, 1), NETIF_IPV4_ADDRESS(addr, 2),
-                      NETIF_IPV4_ADDRESS(addr, 3));
+            SILABS_LOG("DHCP IP: %d.%d.%d.%d", NETIF_IPV4_ADDRESS(addr, 0), NETIF_IPV4_ADDRESS(addr, 1),
+                       NETIF_IPV4_ADDRESS(addr, 2), NETIF_IPV4_ADDRESS(addr, 3));
         }
         else
         {
@@ -120,7 +120,7 @@
             {
                 dhcp_state = DHCP_TIMEOUT;
 
-                EFR32_LOG("*ERR*DHCP: Failed");
+                SILABS_LOG("*ERR*DHCP: Failed");
                 /* Stop DHCP */
                 dhcp_stop(netif);
 
@@ -136,7 +136,7 @@
 
     case DHCP_LINK_DOWN:
         /* Stop DHCP */
-        EFR32_LOG("*ERR*DHCP Link down");
+        SILABS_LOG("*ERR*DHCP Link down");
         dhcp_stop(netif);
         dhcp_state = DHCP_OFF;
         break;
diff --git a/src/platform/silabs/EFR32/wifi/ethernetif.cpp b/src/platform/silabs/EFR32/wifi/ethernetif.cpp
index 8c2e818..d1fcc01 100644
--- a/src/platform/silabs/EFR32/wifi/ethernetif.cpp
+++ b/src/platform/silabs/EFR32/wifi/ethernetif.cpp
@@ -44,10 +44,10 @@
 #include "lwip/timeouts.h"
 #include "netif/etharp.h"
 
-#ifndef EFR32_LOG
+#ifndef SILABS_LOG
 extern "C" {
 void efr32Log(const char * aFormat, ...);
-#define EFR32_LOG(...) efr32Log(__VA_ARGS__);
+#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
 }
 #endif
 
@@ -136,13 +136,13 @@
         (memcmp(netif->hwaddr, dst_mac, netif->hwaddr_len) != 0))
     {
 #ifdef WIFI_DEBUG_ENABLED
-        EFR32_LOG("%s: DROP, [%02x:%02x:%02x:%02x:%02x:%02x]<-[%02x:%02x:%02x:%02x:%02x:%02x] type=%02x%02x", __func__,
+        SILABS_LOG("%s: DROP, [%02x:%02x:%02x:%02x:%02x:%02x]<-[%02x:%02x:%02x:%02x:%02x:%02x] type=%02x%02x", __func__,
 
-                  dst_mac[0], dst_mac[1], dst_mac[2], dst_mac[3], dst_mac[4], dst_mac[5],
+                   dst_mac[0], dst_mac[1], dst_mac[2], dst_mac[3], dst_mac[4], dst_mac[5],
 
-                  src_mac[0], src_mac[1], src_mac[2], src_mac[3], src_mac[4], src_mac[5],
+                   src_mac[0], src_mac[1], src_mac[2], src_mac[3], src_mac[4], src_mac[5],
 
-                  b[12], b[13]);
+                   b[12], b[13]);
 #endif
         return;
     }
@@ -158,27 +158,27 @@
             bufferoffset += q->len;
         }
 #ifdef WIFI_DEBUG_ENABLED
-        EFR32_LOG("%s: ACCEPT %d, [%02x:%02x:%02x:%02x:%02x:%02x]<-[%02x:%02x:%02x:%02x:%02x:%02x] type=%02x%02x", __func__,
-                  bufferoffset,
+        SILABS_LOG("%s: ACCEPT %d, [%02x:%02x:%02x:%02x:%02x:%02x]<-[%02x:%02x:%02x:%02x:%02x:%02x] type=%02x%02x", __func__,
+                   bufferoffset,
 
-                  dst_mac[0], dst_mac[1], dst_mac[2], dst_mac[3], dst_mac[4], dst_mac[5],
+                   dst_mac[0], dst_mac[1], dst_mac[2], dst_mac[3], dst_mac[4], dst_mac[5],
 
-                  src_mac[0], src_mac[1], src_mac[2], src_mac[3], src_mac[4], src_mac[5],
+                   src_mac[0], src_mac[1], src_mac[2], src_mac[3], src_mac[4], src_mac[5],
 
-                  b[12], b[13]);
+                   b[12], b[13]);
 #endif
 
         if (netif->input(p, netif) != ERR_OK)
         {
             gOverrunCount++;
-            EFR32_LOG("overrun count entering when fail to alloc value %d", gOverrunCount);
+            SILABS_LOG("overrun count entering when fail to alloc value %d", gOverrunCount);
             pbuf_free(p);
         }
     }
     else
     {
         gOverrunCount++;
-        EFR32_LOG("overrun count entering when fail to alloc value %d", gOverrunCount);
+        SILABS_LOG("overrun count entering when fail to alloc value %d", gOverrunCount);
     }
 }
 
@@ -225,9 +225,9 @@
     // 12 is size of other data in buffer struct, user shouldn't have to care about this?
     if (sl_wfx_host_allocate_buffer((void **) &tx_buffer, SL_WFX_TX_FRAME_BUFFER, asize) != SL_STATUS_OK)
     {
-        EFR32_LOG("*ERR*EN-Out: No mem frame len=%d", framelength);
+        SILABS_LOG("*ERR*EN-Out: No mem frame len=%d", framelength);
         gOverrunCount++;
-        EFR32_LOG("overrun count exiting when faied to alloc value %d", gOverrunCount);
+        SILABS_LOG("overrun count exiting when faied to alloc value %d", gOverrunCount);
         return ERR_MEM;
     }
     buffer = tx_buffer->body.packet_data;
@@ -249,7 +249,7 @@
     result = SL_STATUS_FAIL;
 
 #ifdef WIFI_DEBUG_ENABLED
-    EFR32_LOG("WF200: Out %d", (int) framelength);
+    SILABS_LOG("WF200: Out %d", (int) framelength);
 #endif
 
     /* send the generated frame over Wifi network */
@@ -261,7 +261,7 @@
 
     if (result != SL_STATUS_OK)
     {
-        EFR32_LOG("*ERR*Send enet %d", (int) framelength);
+        SILABS_LOG("*ERR*Send enet %d", (int) framelength);
         return ERR_IF;
     }
     return ERR_OK;
@@ -296,7 +296,7 @@
             buffer = (uint8_t *) &(rx_buffer->body.frame[rx_buffer->body.frame_padding]);
 
 #ifdef WIFI_DEBUG_ENABLED
-            EFR32_LOG("WF200: In %d", (int) len);
+            SILABS_LOG("WF200: In %d", (int) len);
 #endif
 
             low_level_input(netif, buffer, len);
@@ -304,14 +304,14 @@
         else
         {
 #ifdef WIFI_DEBUG_ENABLED
-            EFR32_LOG("WF200: NO-INTF");
+            SILABS_LOG("WF200: NO-INTF");
 #endif
         }
     }
     else
     {
 #ifdef WIFI_DEBUG_ENABLED
-        EFR32_LOG("WF200: Invalid frame IN");
+        SILABS_LOG("WF200: Invalid frame IN");
 #endif
     }
 }
@@ -342,11 +342,11 @@
         return ERR_IF;
     }
 #ifdef WIFI_DEBUG_ENABLED
-    EFR32_LOG("EN-RSI: Output");
+    SILABS_LOG("EN-RSI: Output");
 #endif
     if ((netif->flags & (NETIF_FLAG_LINK_UP | NETIF_FLAG_UP)) != (NETIF_FLAG_LINK_UP | NETIF_FLAG_UP))
     {
-        EFR32_LOG("EN-RSI:NOT UP");
+        SILABS_LOG("EN-RSI:NOT UP");
         xSemaphoreGive(ethout_sem);
         return ERR_IF;
     }
@@ -354,15 +354,15 @@
     rsipkt = wfx_rsi_alloc_pkt();
     if (!rsipkt)
     {
-        EFR32_LOG("EN-RSI:No buf");
+        SILABS_LOG("EN-RSI:No buf");
         xSemaphoreGive(ethout_sem);
         return ERR_IF;
     }
 
 #ifdef WIFI_DEBUG_ENABLED
     uint8_t * b = (uint8_t *) p->payload;
-    EFR32_LOG("EN-RSI: Out [%02x:%02x:%02x:%02x:%02x:%02x][%02x:%02x:%02x:%02x:%02x:%02x]type=%02x%02x", b[0], b[1], b[2], b[3],
-              b[4], b[5], b[6], b[7], b[8], b[9], b[10], b[11], b[12], b[13]);
+    SILABS_LOG("EN-RSI: Out [%02x:%02x:%02x:%02x:%02x:%02x][%02x:%02x:%02x:%02x:%02x:%02x]type=%02x%02x", b[0], b[1], b[2], b[3],
+               b[4], b[5], b[6], b[7], b[8], b[9], b[10], b[11], b[12], b[13]);
 #endif
     /* Generate the packet */
     for (q = p, framelength = 0; q != NULL; q = q->next)
@@ -376,7 +376,7 @@
         wfx_rsi_pkt_add_data(rsipkt, (uint8_t *) (p->payload), LWIP_FRAME_ALIGNMENT - framelength, framelength);
     }
 #ifdef WIFI_DEBUG_ENABLED
-    EFR32_LOG("EN-RSI: Sending %d", framelength);
+    SILABS_LOG("EN-RSI: Sending %d", framelength);
 #endif
 
     /* forward the generated packet to RSI to
@@ -384,13 +384,13 @@
      */
     if (wfx_rsi_send_data(rsipkt, framelength))
     {
-        EFR32_LOG("*ERR*EN-RSI:Send fail");
+        SILABS_LOG("*ERR*EN-RSI:Send fail");
         xSemaphoreGive(ethout_sem);
         return ERR_IF;
     }
 
 #ifdef WIFI_DEBUG_ENABLED
-    EFR32_LOG("EN-RSI:Xmit %d", framelength);
+    SILABS_LOG("EN-RSI:Xmit %d", framelength);
 #endif
     xSemaphoreGive(ethout_sem);
 
diff --git a/src/platform/silabs/EFR32/wifi/wfx_notify.cpp b/src/platform/silabs/EFR32/wifi/wfx_notify.cpp
index 7e975f9..9f681e7 100644
--- a/src/platform/silabs/EFR32/wifi/wfx_notify.cpp
+++ b/src/platform/silabs/EFR32/wifi/wfx_notify.cpp
@@ -63,7 +63,7 @@
     sl_wfx_startup_ind_t evt;
     sl_wfx_mac_address_t mac;
 
-    EFR32_LOG("%s: started.", __func__);
+    SILABS_LOG("%s: started.", __func__);
 
     memset(&evt, 0, sizeof(evt));
     evt.header.id     = SL_WFX_STARTUP_IND_ID;
@@ -88,15 +88,15 @@
 {
     sl_wfx_connect_ind_t evt;
 
-    EFR32_LOG("%s: started.", __func__);
+    SILABS_LOG("%s: started.", __func__);
 
     if (status != SUCCESS_STATUS)
     {
-        EFR32_LOG("%s: error: failed status: %d.", __func__, status);
+        SILABS_LOG("%s: error: failed status: %d.", __func__, status);
         return;
     }
 
-    EFR32_LOG("%s: connected.", __func__);
+    SILABS_LOG("%s: connected.", __func__);
 
     memset(&evt, 0, sizeof(evt));
     evt.header.id     = SL_WFX_CONNECT_IND_ID;
@@ -121,7 +121,7 @@
 {
     sl_wfx_disconnect_ind_t evt;
 
-    EFR32_LOG("%s: started.", __func__);
+    SILABS_LOG("%s: started.", __func__);
 
     memset(&evt, 0, sizeof(evt));
     evt.header.id     = SL_WFX_DISCONNECT_IND_ID;
@@ -141,7 +141,7 @@
 {
     sl_wfx_generic_message_t eventData;
 
-    EFR32_LOG("%s: started.", __func__);
+    SILABS_LOG("%s: started.", __func__);
 
     memset(&eventData, 0, sizeof(eventData));
     eventData.header.id     = got_ip ? IP_EVENT_GOT_IP6 : IP_EVENT_STA_LOST_IP;
@@ -170,7 +170,7 @@
 {
     sl_wfx_generic_message_t eventData;
 
-    EFR32_LOG("%s: started.", __func__);
+    SILABS_LOG("%s: started.", __func__);
 
     memset(&eventData, 0, sizeof(eventData));
     eventData.header.id     = got_ip ? IP_EVENT_STA_GOT_IP : IP_EVENT_STA_LOST_IP;
diff --git a/src/platform/silabs/EFR32Config.h b/src/platform/silabs/EFR32Config.h
deleted file mode 100644
index 2bb0f50..0000000
--- a/src/platform/silabs/EFR32Config.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- *
- *    Copyright (c) 2020-2022 Project CHIP Authors
- *    Copyright (c) 2019 Nest Labs, Inc.
- *
- *    Licensed under the Apache License, Version 2.0 (the "License");
- *    you may not use this file except in compliance with the License.
- *    You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *    Unless required by applicable law or agreed to in writing, software
- *    distributed under the License is distributed on an "AS IS" BASIS,
- *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *    See the License for the specific language governing permissions and
- *    limitations under the License.
- */
-
-/**
- *    @file
- *          Utilities for accessing persisted device configuration on
- *          platforms based on the Silicon Labs SDK.
- */
-
-#pragma once
-
-#include <functional>
-
-#include <platform/internal/CHIPDeviceLayerInternal.h>
-
-#include "nvm3.h"
-#include "nvm3_hal_flash.h"
-
-#ifndef KVS_MAX_ENTRIES
-#define KVS_MAX_ENTRIES 75 // Available key slot count for Kvs Key mapping.
-#endif
-
-// Delay before Key/Value is actually saved in NVM
-#define EFR32_KVS_SAVE_DELAY_SECONDS 5
-
-static_assert((KVS_MAX_ENTRIES <= 255), "Implementation supports up to 255 Kvs entries");
-static_assert((KVS_MAX_ENTRIES >= 30), "Mininimal Kvs entries requirement is not met");
-
-namespace chip {
-namespace DeviceLayer {
-namespace Internal {
-
-/**
- *
- * This implementation uses the Silicon Labs EFR32 NVM3 flash data storage library
- * as the underlying storage layer.
- *
- * NOTE: This class is designed to be mixed-in to the concrete subclass of the
- * GenericConfigurationManagerImpl<> template.  When used this way, the class
- * naturally provides implementations for the delegated members referenced by
- * the template class (e.g. the ReadConfigValue() method).
- */
-
-// Silabs NVM3 objects use a 20-bit number,
-// NVM3 Key 19:16 Stack region
-// NVM3 Key 15:0 Available NVM3 keys 0x0000 -> 0xFFFF.
-// Matter stack reserved region ranges from 0x087200 to 0x087FFF
-// e.g. key = 0x087201
-// '08' = Matter nvm3 region
-// '72' = the sub region group base offset (Factory, Config, Counter or KVS)
-// '01' = the id offset inside the group.
-constexpr uint32_t kMatterNvm3KeyDomain  = 0x080000U;
-constexpr uint32_t kMatterNvm3KeyLoLimit = 0x087200U; // Do not modify without Silabs GSDK team approval
-constexpr uint32_t kMatterNvm3KeyHiLimit = 0x087FFFU; // Do not modify without Silabs GSDK team approval
-constexpr inline uint32_t EFR32ConfigKey(uint8_t keyBaseOffset, uint8_t id)
-{
-    return kMatterNvm3KeyDomain | static_cast<uint32_t>(keyBaseOffset) << 8 | id;
-}
-
-class EFR32Config
-{
-public:
-    // Definitions for Silicon Labs EFR32 NVM3 driver:-
-
-    using Key = uint32_t;
-
-    // NVM3 key base offsets used by the CHIP Device Layer.
-    // ** Key base can range from 0x72 to 0x7F **
-    // Persistent config values set at manufacturing time. Retained during factory reset.
-    static constexpr uint8_t kMatterFactory_KeyBase = 0x72;
-    // Persistent config values set at runtime. Cleared during factory reset.
-    static constexpr uint8_t kMatterConfig_KeyBase = 0x73;
-    // Persistent counter values set at runtime. Retained during factory reset.
-    static constexpr uint8_t kMatterCounter_KeyBase = 0x74;
-    // Persistent config values set at runtime. Cleared during factory reset.
-    static constexpr uint8_t kMatterKvs_KeyBase = 0x75;
-
-    // Key definitions for well-known configuration values.
-    // Factory config keys
-    static constexpr Key kConfigKey_SerialNum             = EFR32ConfigKey(kMatterFactory_KeyBase, 0x00);
-    static constexpr Key kConfigKey_MfrDeviceId           = EFR32ConfigKey(kMatterFactory_KeyBase, 0x01);
-    static constexpr Key kConfigKey_MfrDeviceCert         = EFR32ConfigKey(kMatterFactory_KeyBase, 0x02);
-    static constexpr Key kConfigKey_MfrDevicePrivateKey   = EFR32ConfigKey(kMatterFactory_KeyBase, 0x03);
-    static constexpr Key kConfigKey_ManufacturingDate     = EFR32ConfigKey(kMatterFactory_KeyBase, 0x04);
-    static constexpr Key kConfigKey_SetupPayloadBitSet    = EFR32ConfigKey(kMatterFactory_KeyBase, 0x05);
-    static constexpr Key kConfigKey_MfrDeviceICACerts     = EFR32ConfigKey(kMatterFactory_KeyBase, 0x06);
-    static constexpr Key kConfigKey_SetupDiscriminator    = EFR32ConfigKey(kMatterFactory_KeyBase, 0x07);
-    static constexpr Key kConfigKey_Spake2pIterationCount = EFR32ConfigKey(kMatterFactory_KeyBase, 0x08);
-    static constexpr Key kConfigKey_Spake2pSalt           = EFR32ConfigKey(kMatterFactory_KeyBase, 0x09);
-    static constexpr Key kConfigKey_Spake2pVerifier       = EFR32ConfigKey(kMatterFactory_KeyBase, 0x0A);
-    static constexpr Key kConfigKey_ProductId             = EFR32ConfigKey(kMatterFactory_KeyBase, 0x0B);
-    static constexpr Key kConfigKey_VendorId              = EFR32ConfigKey(kMatterFactory_KeyBase, 0x0C);
-    static constexpr Key kConfigKey_VendorName            = EFR32ConfigKey(kMatterFactory_KeyBase, 0x0D);
-    static constexpr Key kConfigKey_ProductName           = EFR32ConfigKey(kMatterFactory_KeyBase, 0x0E);
-    static constexpr Key kConfigKey_HardwareVersionString = EFR32ConfigKey(kMatterFactory_KeyBase, 0x0F);
-    static constexpr Key kConfigKey_UniqueId              = EFR32ConfigKey(kMatterFactory_KeyBase, 0x1F);
-    // Matter Config Keys
-    static constexpr Key kConfigKey_ServiceConfig      = EFR32ConfigKey(kMatterConfig_KeyBase, 0x01);
-    static constexpr Key kConfigKey_PairedAccountId    = EFR32ConfigKey(kMatterConfig_KeyBase, 0x02);
-    static constexpr Key kConfigKey_ServiceId          = EFR32ConfigKey(kMatterConfig_KeyBase, 0x03);
-    static constexpr Key kConfigKey_LastUsedEpochKeyId = EFR32ConfigKey(kMatterConfig_KeyBase, 0x05);
-    static constexpr Key kConfigKey_FailSafeArmed      = EFR32ConfigKey(kMatterConfig_KeyBase, 0x06);
-    static constexpr Key kConfigKey_GroupKey           = EFR32ConfigKey(kMatterConfig_KeyBase, 0x07);
-    static constexpr Key kConfigKey_HardwareVersion    = EFR32ConfigKey(kMatterConfig_KeyBase, 0x08);
-    static constexpr Key kConfigKey_RegulatoryLocation = EFR32ConfigKey(kMatterConfig_KeyBase, 0x09);
-    static constexpr Key kConfigKey_CountryCode        = EFR32ConfigKey(kMatterConfig_KeyBase, 0x0A);
-    static constexpr Key kConfigKey_WiFiSSID           = EFR32ConfigKey(kMatterConfig_KeyBase, 0x0C);
-    static constexpr Key kConfigKey_WiFiPSK            = EFR32ConfigKey(kMatterConfig_KeyBase, 0x0D);
-    static constexpr Key kConfigKey_WiFiSEC            = EFR32ConfigKey(kMatterConfig_KeyBase, 0x0E);
-    static constexpr Key kConfigKey_GroupKeyBase       = EFR32ConfigKey(kMatterConfig_KeyBase, 0x0F);
-    static constexpr Key kConfigKey_LockUser           = EFR32ConfigKey(kMatterConfig_KeyBase, 0x10);
-    static constexpr Key kConfigKey_Credential         = EFR32ConfigKey(kMatterConfig_KeyBase, 0x11);
-    static constexpr Key kConfigKey_LockUserName       = EFR32ConfigKey(kMatterConfig_KeyBase, 0x12);
-    static constexpr Key kConfigKey_CredentialData     = EFR32ConfigKey(kMatterConfig_KeyBase, 0x13);
-    static constexpr Key kConfigKey_UserCredentials    = EFR32ConfigKey(kMatterConfig_KeyBase, 0x14);
-    static constexpr Key kConfigKey_WeekDaySchedules   = EFR32ConfigKey(kMatterConfig_KeyBase, 0x15);
-    static constexpr Key kConfigKey_YearDaySchedules   = EFR32ConfigKey(kMatterConfig_KeyBase, 0x16);
-    static constexpr Key kConfigKey_HolidaySchedules   = EFR32ConfigKey(kMatterConfig_KeyBase, 0x17);
-    static constexpr Key kConfigKey_OpKeyMap           = EFR32ConfigKey(kMatterConfig_KeyBase, 0x20);
-
-    static constexpr Key kConfigKey_GroupKeyMax =
-        EFR32ConfigKey(kMatterConfig_KeyBase, 0x1E); // Allows 16 Group Keys to be created.
-
-    // Matter Counter Keys
-    static constexpr Key kConfigKey_BootCount             = EFR32ConfigKey(kMatterCounter_KeyBase, 0x00);
-    static constexpr Key kConfigKey_TotalOperationalHours = EFR32ConfigKey(kMatterCounter_KeyBase, 0x01);
-    static constexpr Key kConfigKey_LifeTimeCounter       = EFR32ConfigKey(kMatterCounter_KeyBase, 0x02);
-
-    // Matter KVS storage Keys
-    static constexpr Key kConfigKey_KvsStringKeyMap = EFR32ConfigKey(kMatterKvs_KeyBase, 0x00);
-    static constexpr Key kConfigKey_KvsFirstKeySlot = EFR32ConfigKey(kMatterKvs_KeyBase, 0x01);
-    static constexpr Key kConfigKey_KvsLastKeySlot  = EFR32ConfigKey(kMatterKvs_KeyBase, KVS_MAX_ENTRIES);
-
-    // Set key id limits for each group.
-    static constexpr Key kMinConfigKey_MatterFactory = EFR32ConfigKey(kMatterFactory_KeyBase, 0x00);
-    static constexpr Key kMaxConfigKey_MatterFactory = EFR32ConfigKey(kMatterFactory_KeyBase, 0x1F);
-    static constexpr Key kMinConfigKey_MatterConfig  = EFR32ConfigKey(kMatterConfig_KeyBase, 0x00);
-    static constexpr Key kMaxConfigKey_MatterConfig  = EFR32ConfigKey(kMatterConfig_KeyBase, 0x20);
-
-    // Allows 32 Counters to be created.
-    static constexpr Key kMinConfigKey_MatterCounter = EFR32ConfigKey(kMatterCounter_KeyBase, 0x00);
-    static constexpr Key kMaxConfigKey_MatterCounter = EFR32ConfigKey(kMatterCounter_KeyBase, 0x1F);
-
-    static constexpr Key kMinConfigKey_MatterKvs = EFR32ConfigKey(kMatterKvs_KeyBase, 0x00);
-    static constexpr Key kMaxConfigKey_MatterKvs = EFR32ConfigKey(kMatterKvs_KeyBase, 0xFF);
-
-    static CHIP_ERROR Init(void);
-    static void DeInit(void);
-
-    // Configuration methods used by the GenericConfigurationManagerImpl<> template.
-    static CHIP_ERROR ReadConfigValue(Key key, bool & val);
-    static CHIP_ERROR ReadConfigValue(Key key, uint32_t & val);
-    static CHIP_ERROR ReadConfigValue(Key key, uint64_t & val);
-    static CHIP_ERROR ReadConfigValueStr(Key key, char * buf, size_t bufSize, size_t & outLen);
-    static CHIP_ERROR ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen);
-    static CHIP_ERROR ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen, size_t offset);
-    static CHIP_ERROR ReadConfigValueCounter(uint8_t counterIdx, uint32_t & val);
-    static CHIP_ERROR WriteConfigValue(Key key, bool val);
-    static CHIP_ERROR WriteConfigValue(Key key, uint32_t val);
-    static CHIP_ERROR WriteConfigValue(Key key, uint64_t val);
-    static CHIP_ERROR WriteConfigValueStr(Key key, const char * str);
-    static CHIP_ERROR WriteConfigValueStr(Key key, const char * str, size_t strLen);
-    static CHIP_ERROR WriteConfigValueBin(Key key, const uint8_t * data, size_t dataLen);
-    static CHIP_ERROR WriteConfigValueCounter(uint8_t counterIdx, uint32_t val);
-    static CHIP_ERROR ClearConfigValue(Key key);
-    static bool ConfigValueExists(Key key);
-    static bool ConfigValueExists(Key key, size_t & dataLen);
-    static CHIP_ERROR FactoryResetConfig(void);
-    static bool ValidConfigKey(Key key);
-
-    static void RunConfigUnitTest(void);
-    static void RepackNvm3Flash(void);
-
-protected:
-    using ForEachRecordFunct = std::function<CHIP_ERROR(const Key & nvm3Key, const size_t & length)>;
-    static CHIP_ERROR ForEachRecord(Key firstKey, Key lastKey, bool addNewRecord, ForEachRecordFunct funct);
-
-private:
-    static CHIP_ERROR MapNvm3Error(Ecode_t nvm3Res);
-};
-
-} // namespace Internal
-} // namespace DeviceLayer
-} // namespace chip
diff --git a/src/platform/silabs/InetPlatformConfig.h b/src/platform/silabs/InetPlatformConfig.h
index fe3304f..99ca28c 100644
--- a/src/platform/silabs/InetPlatformConfig.h
+++ b/src/platform/silabs/InetPlatformConfig.h
@@ -19,7 +19,7 @@
 /**
  *    @file
  *          Platform-specific configuration overrides for the CHIP Inet
- *          Layer on EFR32 platforms using the Silicon Labs SDK.
+ *          Layer on Silabs platforms using the Silicon Labs SDK.
  *
  */
 
diff --git a/src/platform/silabs/Logging.cpp b/src/platform/silabs/Logging.cpp
index bd8d712..fbc9f2a 100644
--- a/src/platform/silabs/Logging.cpp
+++ b/src/platform/silabs/Logging.cpp
@@ -19,6 +19,10 @@
 #include <string.h>
 #include <task.h>
 
+#ifdef BRD4325A // For SiWx917 Platform only
+#include "core_cm4.h"
+#endif
+
 #ifdef PW_RPC_ENABLED
 #include "PigweedLogger.h"
 #endif
@@ -62,17 +66,17 @@
 #if CHIP_SYSTEM_CONFIG_USE_LWIP
 #define LOG_LWIP "[lwip  ]"
 #endif // CHIP_SYSTEM_CONFIG_USE_LWIP
-#define LOG_EFR32 "[efr32 ]"
+#define LOG_SILABS "[silabs ]"
 // If a new category string LOG_* is created, add it in the MaxStringLength arguments below
 #if CHIP_SYSTEM_CONFIG_USE_LWIP
-static constexpr size_t kMaxCategoryStrLen = chip::MaxStringLength(LOG_ERROR, LOG_WARN, LOG_INFO, LOG_DETAIL, LOG_LWIP, LOG_EFR32);
+static constexpr size_t kMaxCategoryStrLen = chip::MaxStringLength(LOG_ERROR, LOG_WARN, LOG_INFO, LOG_DETAIL, LOG_LWIP, LOG_SILABS);
 #else
-static constexpr size_t kMaxCategoryStrLen = chip::MaxStringLength(LOG_ERROR, LOG_WARN, LOG_INFO, LOG_DETAIL, LOG_EFR32);
+static constexpr size_t kMaxCategoryStrLen = chip::MaxStringLength(LOG_ERROR, LOG_WARN, LOG_INFO, LOG_DETAIL, LOG_SILABS);
 #endif // CHIP_SYSTEM_CONFIG_USE_LWIP
 
 static constexpr size_t kMaxTimestampStrLen = 16; // "[" (HH)HH:MM:SS + "." + miliseconds(3digits) + "]"
 
-#if EFR32_LOG_ENABLED
+#if SILABS_LOG_ENABLED
 static bool sLogInitialized = false;
 #endif
 #if LOG_RTT_BUFFER_INDEX != 0
@@ -80,7 +84,7 @@
 static uint8_t sCmdLineBuffer[LOG_RTT_BUFFER_SIZE];
 #endif
 
-#if EFR32_LOG_ENABLED
+#if SILABS_LOG_ENABLED
 
 using namespace chip;
 
@@ -132,14 +136,14 @@
 #endif
     }
 }
-#endif // EFR32_LOG_ENABLED
+#endif // SILABS_LOG_ENABLED
 
 /**
  * Initialize Segger RTT for logging
  */
-extern "C" void efr32InitLog(void)
+extern "C" void silabsInitLog(void)
 {
-#if EFR32_LOG_ENABLED
+#if SILABS_LOG_ENABLED
 #if LOG_RTT_BUFFER_INDEX != 0
     SEGGER_RTT_ConfigUpBuffer(LOG_RTT_BUFFER_INDEX, LOG_RTT_BUFFER_NAME, sLogBuffer, LOG_RTT_BUFFER_SIZE,
                               SEGGER_RTT_MODE_NO_BLOCK_TRIM);
@@ -154,7 +158,7 @@
     PigweedLogger::init();
 #endif
     sLogInitialized = true;
-#endif // EFR32_LOG_ENABLED
+#endif // SILABS_LOG_ENABLED
 }
 
 /**
@@ -165,12 +169,12 @@
     va_list v;
 
     va_start(v, aFormat);
-#if EFR32_LOG_ENABLED
+#if SILABS_LOG_ENABLED
     char formattedMsg[CHIP_CONFIG_LOG_MESSAGE_MAX_SIZE];
     static_assert(sizeof(formattedMsg) >
                   kMaxTimestampStrLen + kMaxCategoryStrLen); // Greater than to at least accommodate a ending Null Character
 
-    size_t prefixLen = AddTimeStampAndPrefixStr(formattedMsg, LOG_EFR32, CHIP_CONFIG_LOG_MESSAGE_MAX_SIZE);
+    size_t prefixLen = AddTimeStampAndPrefixStr(formattedMsg, LOG_SILABS, CHIP_CONFIG_LOG_MESSAGE_MAX_SIZE);
     size_t len       = vsnprintf(formattedMsg + prefixLen, sizeof formattedMsg - prefixLen, aFormat, v);
 
     if (len >= sizeof formattedMsg - prefixLen)
@@ -179,7 +183,7 @@
     }
 
     PrintLog(formattedMsg);
-#endif // EFR32_LOG_ENABLED
+#endif // SILABS_LOG_ENABLED
 
     va_end(v);
 }
@@ -207,7 +211,7 @@
  */
 void LogV(const char * module, uint8_t category, const char * aFormat, va_list v)
 {
-#if EFR32_LOG_ENABLED && _CHIP_USE_LOGGING
+#if SILABS_LOG_ENABLED && _CHIP_USE_LOGGING
     if (IsCategoryEnabled(category))
     {
         char formattedMsg[CHIP_CONFIG_LOG_MESSAGE_MAX_SIZE];
@@ -248,7 +252,7 @@
 
     // Let the application know that a log message has been emitted.
     chip::DeviceLayer::OnLogOutput();
-#endif // EFR32_LOG_ENABLED && _CHIP_USE_LOGGING
+#endif // SILABS_LOG_ENABLED && _CHIP_USE_LOGGING
 }
 
 } // namespace Platform
@@ -265,7 +269,7 @@
     va_list v;
 
     va_start(v, aFormat);
-#if EFR32_LOG_ENABLED
+#if SILABS_LOG_ENABLED
     char formattedMsg[CHIP_CONFIG_LOG_MESSAGE_MAX_SIZE];
 
     size_t prefixLen = AddTimeStampAndPrefixStr(formattedMsg, LOG_LWIP, CHIP_CONFIG_LOG_MESSAGE_MAX_SIZE);
@@ -286,7 +290,7 @@
 
     // Let the application know that a log message has been emitted.
     chip::DeviceLayer::OnLogOutput();
-#endif // EFR32_LOG_ENABLED
+#endif // SILABS_LOG_ENABLED
     va_end(v);
 }
 #endif // CHIP_SYSTEM_CONFIG_USE_LWIP
@@ -300,7 +304,7 @@
     va_list v;
 
     va_start(v, aFormat);
-#if EFR32_LOG_ENABLED
+#if SILABS_LOG_ENABLED
     size_t prefixLen;
     char formattedMsg[CHIP_CONFIG_LOG_MESSAGE_MAX_SIZE];
 
@@ -342,12 +346,12 @@
 
     // Let the application know that a log message has been emitted.
     chip::DeviceLayer::OnLogOutput();
-#endif // EFR32_LOG_ENABLED
+#endif // SILABS_LOG_ENABLED
     va_end(v);
 }
 #endif // CHIP_ENABLE_OPENTHREAD
 
-#if HARD_FAULT_LOG_ENABLE && EFR32_LOG_ENABLED
+#if HARD_FAULT_LOG_ENABLE && SILABS_LOG_ENABLED
 
 /**
  * Log register contents to UART when a hard fault occurs.
@@ -370,7 +374,7 @@
 
     if (sLogInitialized == false)
     {
-        efr32InitLog();
+        silabsInitLog();
     }
 
     snprintf(formattedMsg, sizeof formattedMsg, LOG_ERROR "HardFault:\n");
@@ -428,7 +432,7 @@
     timers, and semaphores.  The size of the FreeRTOS heap is set by the
     configTOTAL_HEAP_SIZE configuration constant in FreeRTOSConfig.h. */
 
-    EFR32_LOG("Failed do a malloc on HEAP. Is it too small ?");
+    SILABS_LOG("Failed do a malloc on HEAP. Is it too small ?");
 
     /* Force an assert. */
     configASSERT((volatile void *) NULL);
@@ -443,8 +447,8 @@
     /* Run time stack overflow checking is performed if
     configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2.  This hook
     function is called if a stack overflow is detected. */
-    EFR32_LOG("TASK OVERFLOW");
-    EFR32_LOG(pcTaskName);
+    SILABS_LOG("TASK OVERFLOW");
+    SILABS_LOG(pcTaskName);
     /* Force an assert. */
     configASSERT((volatile void *) NULL);
 }
@@ -503,4 +507,4 @@
     configMINIMAL_STACK_SIZE is specified in words, not bytes. */
     *pulTimerTaskStackSize = configTIMER_TASK_STACK_DEPTH;
 }
-#endif // HARD_FAULT_LOG_ENABLE && EFR32_LOG_ENABLED
+#endif // HARD_FAULT_LOG_ENABLE && SILABS_LOG_ENABLED
diff --git a/src/platform/silabs/NetworkCommissioningWiFiDriver.cpp b/src/platform/silabs/NetworkCommissioningWiFiDriver.cpp
index 55ae4d1..61c95f7 100644
--- a/src/platform/silabs/NetworkCommissioningWiFiDriver.cpp
+++ b/src/platform/silabs/NetworkCommissioningWiFiDriver.cpp
@@ -18,8 +18,8 @@
 #include <lib/support/CodeUtils.h>
 #include <lib/support/SafeInt.h>
 #include <platform/CHIPDeviceLayer.h>
-#include <platform/silabs/EFR32Config.h>
 #include <platform/silabs/NetworkCommissioningWiFiDriver.h>
+#include <platform/silabs/SilabsConfig.h>
 
 #include <limits>
 
@@ -44,12 +44,12 @@
     mpConnectCallback     = nullptr;
 
     // If reading fails, wifi is not provisioned, no need to go further.
-    err =
-        EFR32Config::ReadConfigValueStr(EFR32Config::kConfigKey_WiFiSSID, mSavedNetwork.ssid, sizeof(mSavedNetwork.ssid), ssidLen);
+    err = SILABSConfig::ReadConfigValueStr(SILABSConfig::kConfigKey_WiFiSSID, mSavedNetwork.ssid, sizeof(mSavedNetwork.ssid),
+                                           ssidLen);
     VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_NO_ERROR);
 
-    err = EFR32Config::ReadConfigValueStr(EFR32Config::kConfigKey_WiFiPSK, mSavedNetwork.credentials,
-                                          sizeof(mSavedNetwork.credentials), credentialsLen);
+    err = SILABSConfig::ReadConfigValueStr(SILABSConfig::kConfigKey_WiFiPSK, mSavedNetwork.credentials,
+                                           sizeof(mSavedNetwork.credentials), credentialsLen);
     VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_NO_ERROR);
 
     mSavedNetwork.credentialsLen = credentialsLen;
@@ -64,9 +64,9 @@
 {
     uint8_t securityType = WFX_SEC_WPA2;
 
-    ReturnErrorOnFailure(EFR32Config::WriteConfigValueStr(EFR32Config::kConfigKey_WiFiSSID, mStagingNetwork.ssid));
-    ReturnErrorOnFailure(EFR32Config::WriteConfigValueStr(EFR32Config::kConfigKey_WiFiPSK, mStagingNetwork.credentials));
-    ReturnErrorOnFailure(EFR32Config::WriteConfigValueBin(EFR32Config::kConfigKey_WiFiSEC, &securityType, sizeof(securityType)));
+    ReturnErrorOnFailure(SILABSConfig::WriteConfigValueStr(SILABSConfig::kConfigKey_WiFiSSID, mStagingNetwork.ssid));
+    ReturnErrorOnFailure(SILABSConfig::WriteConfigValueStr(SILABSConfig::kConfigKey_WiFiPSK, mStagingNetwork.credentials));
+    ReturnErrorOnFailure(SILABSConfig::WriteConfigValueBin(SILABSConfig::kConfigKey_WiFiSEC, &securityType, sizeof(securityType)));
 
     mSavedNetwork = mStagingNetwork;
     return CHIP_NO_ERROR;
diff --git a/src/platform/silabs/PlatformManagerImpl.h b/src/platform/silabs/PlatformManagerImpl.h
index 39e2be6..511070c 100644
--- a/src/platform/silabs/PlatformManagerImpl.h
+++ b/src/platform/silabs/PlatformManagerImpl.h
@@ -19,7 +19,7 @@
 /**
  *    @file
  *          Provides an implementation of the PlatformManager object
- *          for EFR32 platforms using the Silicon Labs SDK.
+ *          for SILABS platforms using the Silicon Labs SDK.
  */
 
 #pragma once
@@ -33,7 +33,7 @@
 namespace DeviceLayer {
 
 /**
- * Concrete implementation of the PlatformManager singleton object for the EFR32 platform.
+ * Concrete implementation of the PlatformManager singleton object for the SILABS platform.
  */
 class PlatformManagerImpl final : public PlatformManager, public Internal::GenericPlatformManagerImpl_FreeRTOS<PlatformManagerImpl>
 {
diff --git a/src/platform/silabs/EFR32Config.cpp b/src/platform/silabs/SilabsConfig.cpp
similarity index 87%
rename from src/platform/silabs/EFR32Config.cpp
rename to src/platform/silabs/SilabsConfig.cpp
index 82751b3..a02fe5e 100644
--- a/src/platform/silabs/EFR32Config.cpp
+++ b/src/platform/silabs/SilabsConfig.cpp
@@ -24,7 +24,7 @@
 /* this file behaves like a config.h, comes first */
 #include <platform/internal/CHIPDeviceLayerInternal.h>
 
-#include <platform/silabs/EFR32Config.h>
+#include <platform/silabs/SilabsConfig.h>
 
 #include <lib/core/CHIPEncoding.h>
 #include <platform/internal/testing/ConfigUnitTest.h>
@@ -36,14 +36,14 @@
 
 // Substitute the GSDK weak nvm3_lockBegin and nvm3_lockEnd
 // for an application controlled re-entrance protection
-#define EFR32_SEM_TIMEOUT_ms 5
+#define SILABS_SEM_TIMEOUT_ms 5
 static SemaphoreHandle_t nvm3_Sem;
 static StaticSemaphore_t nvm3_SemStruct;
 
 void nvm3_lockBegin(void)
 {
     VerifyOrDie(nvm3_Sem != NULL);
-    xSemaphoreTake(nvm3_Sem, EFR32_SEM_TIMEOUT_ms);
+    xSemaphoreTake(nvm3_Sem, SILABS_SEM_TIMEOUT_ms);
 }
 
 void nvm3_lockEnd(void)
@@ -61,7 +61,7 @@
 // The NVM3 default section is placed at end of Flash minus 1 page byt the linker file
 // See examples/platform/efr32/ldscripts/efr32mgXX.ld
 
-CHIP_ERROR EFR32Config::Init()
+CHIP_ERROR SILABSConfig::Init()
 {
     nvm3_Sem = xSemaphoreCreateBinaryStatic(&nvm3_SemStruct);
 
@@ -73,13 +73,13 @@
     return MapNvm3Error(nvm3_open(nvm3_defaultHandle, nvm3_defaultInit));
 }
 
-void EFR32Config::DeInit()
+void SILABSConfig::DeInit()
 {
     vSemaphoreDelete(nvm3_Sem);
     nvm3_close(nvm3_defaultHandle);
 }
 
-CHIP_ERROR EFR32Config::ReadConfigValue(Key key, bool & val)
+CHIP_ERROR SILABSConfig::ReadConfigValue(Key key, bool & val)
 {
     CHIP_ERROR err;
     uint32_t objectType;
@@ -101,7 +101,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::ReadConfigValue(Key key, uint32_t & val)
+CHIP_ERROR SILABSConfig::ReadConfigValue(Key key, uint32_t & val)
 {
     CHIP_ERROR err;
     uint32_t objectType;
@@ -123,7 +123,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::ReadConfigValue(Key key, uint64_t & val)
+CHIP_ERROR SILABSConfig::ReadConfigValue(Key key, uint64_t & val)
 {
     CHIP_ERROR err;
     uint32_t objectType;
@@ -145,7 +145,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::ReadConfigValueStr(Key key, char * buf, size_t bufSize, size_t & outLen)
+CHIP_ERROR SILABSConfig::ReadConfigValueStr(Key key, char * buf, size_t bufSize, size_t & outLen)
 {
     CHIP_ERROR err;
     uint32_t objectType;
@@ -194,7 +194,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen)
+CHIP_ERROR SILABSConfig::ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen)
 {
     CHIP_ERROR err;
     uint32_t objectType;
@@ -224,7 +224,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen, size_t offset)
+CHIP_ERROR SILABSConfig::ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen, size_t offset)
 {
     CHIP_ERROR err;
     uint32_t objectType;
@@ -261,7 +261,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::ReadConfigValueCounter(uint8_t counterIdx, uint32_t & val)
+CHIP_ERROR SILABSConfig::ReadConfigValueCounter(uint8_t counterIdx, uint32_t & val)
 {
     CHIP_ERROR err;
     uint32_t tmpVal = 0;
@@ -278,7 +278,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::WriteConfigValue(Key key, bool val)
+CHIP_ERROR SILABSConfig::WriteConfigValue(Key key, bool val)
 {
     CHIP_ERROR err;
 
@@ -291,7 +291,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::WriteConfigValue(Key key, uint32_t val)
+CHIP_ERROR SILABSConfig::WriteConfigValue(Key key, uint32_t val)
 {
     CHIP_ERROR err;
 
@@ -304,7 +304,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::WriteConfigValue(Key key, uint64_t val)
+CHIP_ERROR SILABSConfig::WriteConfigValue(Key key, uint64_t val)
 {
     CHIP_ERROR err;
 
@@ -317,12 +317,12 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::WriteConfigValueStr(Key key, const char * str)
+CHIP_ERROR SILABSConfig::WriteConfigValueStr(Key key, const char * str)
 {
     return WriteConfigValueStr(key, str, (str != NULL) ? strlen(str) : 0);
 }
 
-CHIP_ERROR EFR32Config::WriteConfigValueStr(Key key, const char * str, size_t strLen)
+CHIP_ERROR SILABSConfig::WriteConfigValueStr(Key key, const char * str, size_t strLen)
 {
     CHIP_ERROR err = CHIP_ERROR_INVALID_ARGUMENT;
 
@@ -340,7 +340,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::WriteConfigValueBin(Key key, const uint8_t * data, size_t dataLen)
+CHIP_ERROR SILABSConfig::WriteConfigValueBin(Key key, const uint8_t * data, size_t dataLen)
 {
     CHIP_ERROR err = CHIP_ERROR_INVALID_ARGUMENT;
 
@@ -358,7 +358,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::WriteConfigValueCounter(uint8_t counterIdx, uint32_t val)
+CHIP_ERROR SILABSConfig::WriteConfigValueCounter(uint8_t counterIdx, uint32_t val)
 {
     CHIP_ERROR err;
     Key key = kMinConfigKey_MatterCounter + counterIdx;
@@ -372,7 +372,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::ClearConfigValue(Key key)
+CHIP_ERROR SILABSConfig::ClearConfigValue(Key key)
 {
     CHIP_ERROR err;
 
@@ -384,7 +384,7 @@
     return err;
 }
 
-bool EFR32Config::ConfigValueExists(Key key)
+bool SILABSConfig::ConfigValueExists(Key key)
 {
     uint32_t objectType;
     size_t dataLen;
@@ -394,7 +394,7 @@
     return (err == CHIP_NO_ERROR);
 }
 
-bool EFR32Config::ConfigValueExists(Key key, size_t & dataLen)
+bool SILABSConfig::ConfigValueExists(Key key, size_t & dataLen)
 {
     uint32_t objectType;
     size_t dLen;
@@ -410,7 +410,7 @@
     return (err == CHIP_NO_ERROR);
 }
 
-CHIP_ERROR EFR32Config::FactoryResetConfig(void)
+CHIP_ERROR SILABSConfig::FactoryResetConfig(void)
 {
     // Deletes all nvm3 'Config' type objects.
     // Note- 'Factory' and 'Counter' type nvm3 objects are NOT deleted.
@@ -438,7 +438,7 @@
     return err;
 }
 
-CHIP_ERROR EFR32Config::MapNvm3Error(Ecode_t nvm3Res)
+CHIP_ERROR SILABSConfig::MapNvm3Error(Ecode_t nvm3Res)
 {
     CHIP_ERROR err;
 
@@ -451,14 +451,14 @@
         err = CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND;
         break;
     default:
-        err = CHIP_ERROR(ChipError::Range::kPlatform, (nvm3Res & 0xFF) + CHIP_DEVICE_CONFIG_EFR32_NVM3_ERROR_MIN);
+        err = CHIP_ERROR(ChipError::Range::kPlatform, (nvm3Res & 0xFF) + CHIP_DEVICE_CONFIG_SILABS_NVM3_ERROR_MIN);
         break;
     }
 
     return err;
 }
 
-CHIP_ERROR EFR32Config::ForEachRecord(Key firstNvm3Key, Key lastNvm3Key, bool addNewRecord, ForEachRecordFunct funct)
+CHIP_ERROR SILABSConfig::ForEachRecord(Key firstNvm3Key, Key lastNvm3Key, bool addNewRecord, ForEachRecordFunct funct)
 {
     // Iterates through the specified range of nvm3 object key ids.
     // Invokes the callers CB function when appropriate.
@@ -503,7 +503,7 @@
     return err;
 }
 
-bool EFR32Config::ValidConfigKey(Key key)
+bool SILABSConfig::ValidConfigKey(Key key)
 {
     // Returns true if the key is in the Matter nvm3 reserved key range.
     // Additional check validates that the user consciously defined the expected key range
@@ -516,13 +516,13 @@
     return false;
 }
 
-void EFR32Config::RunConfigUnitTest()
+void SILABSConfig::RunConfigUnitTest()
 {
     // Run common unit test.
-    ::chip::DeviceLayer::Internal::RunConfigUnitTest<EFR32Config>();
+    ::chip::DeviceLayer::Internal::RunConfigUnitTest<SILABSConfig>();
 }
 
-void EFR32Config::RepackNvm3Flash(void)
+void SILABSConfig::RepackNvm3Flash(void)
 {
     // Repack nvm3 flash if nvm3 space < headroom threshold.
     // Note- checking periodically during idle periods should prevent
diff --git a/src/platform/silabs/SilabsConfig.h b/src/platform/silabs/SilabsConfig.h
new file mode 100644
index 0000000..d08daf1
--- /dev/null
+++ b/src/platform/silabs/SilabsConfig.h
@@ -0,0 +1,199 @@
+/*
+ *
+ *    Copyright (c) 2020-2022 Project CHIP Authors
+ *    Copyright (c) 2019 Nest Labs, Inc.
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+/**
+ *    @file
+ *          Utilities for accessing persisted device configuration on
+ *          platforms based on the Silicon Labs SDK.
+ */
+
+#pragma once
+
+#include <functional>
+
+#include <platform/internal/CHIPDeviceLayerInternal.h>
+
+#include "nvm3.h"
+#include "nvm3_hal_flash.h"
+
+#ifndef KVS_MAX_ENTRIES
+#define KVS_MAX_ENTRIES 75 // Available key slot count for Kvs Key mapping.
+#endif
+
+// Delay before Key/Value is actually saved in NVM
+#define SILABS_KVS_SAVE_DELAY_SECONDS 5
+
+static_assert((KVS_MAX_ENTRIES <= 255), "Implementation supports up to 255 Kvs entries");
+static_assert((KVS_MAX_ENTRIES >= 30), "Mininimal Kvs entries requirement is not met");
+
+namespace chip {
+namespace DeviceLayer {
+namespace Internal {
+
+/**
+ *
+ * This implementation uses the Silicon Labs SILABS NVM3 flash data storage library
+ * as the underlying storage layer.
+ *
+ * NOTE: This class is designed to be mixed-in to the concrete subclass of the
+ * GenericConfigurationManagerImpl<> template.  When used this way, the class
+ * naturally provides implementations for the delegated members referenced by
+ * the template class (e.g. the ReadConfigValue() method).
+ */
+
+// Silabs NVM3 objects use a 20-bit number,
+// NVM3 Key 19:16 Stack region
+// NVM3 Key 15:0 Available NVM3 keys 0x0000 -> 0xFFFF.
+// Matter stack reserved region ranges from 0x087200 to 0x087FFF
+// e.g. key = 0x087201
+// '08' = Matter nvm3 region
+// '72' = the sub region group base offset (Factory, Config, Counter or KVS)
+// '01' = the id offset inside the group.
+constexpr uint32_t kMatterNvm3KeyDomain  = 0x080000U;
+constexpr uint32_t kMatterNvm3KeyLoLimit = 0x087200U; // Do not modify without Silabs GSDK team approval
+constexpr uint32_t kMatterNvm3KeyHiLimit = 0x087FFFU; // Do not modify without Silabs GSDK team approval
+constexpr inline uint32_t SILABSConfigKey(uint8_t keyBaseOffset, uint8_t id)
+{
+    return kMatterNvm3KeyDomain | static_cast<uint32_t>(keyBaseOffset) << 8 | id;
+}
+
+class SILABSConfig
+{
+public:
+    // Definitions for Silicon Labs EFR32 NVM3 driver:-
+
+    using Key = uint32_t;
+
+    // NVM3 key base offsets used by the CHIP Device Layer.
+    // ** Key base can range from 0x72 to 0x7F **
+    // Persistent config values set at manufacturing time. Retained during factory reset.
+    static constexpr uint8_t kMatterFactory_KeyBase = 0x72;
+    // Persistent config values set at runtime. Cleared during factory reset.
+    static constexpr uint8_t kMatterConfig_KeyBase = 0x73;
+    // Persistent counter values set at runtime. Retained during factory reset.
+    static constexpr uint8_t kMatterCounter_KeyBase = 0x74;
+    // Persistent config values set at runtime. Cleared during factory reset.
+    static constexpr uint8_t kMatterKvs_KeyBase = 0x75;
+
+    // Key definitions for well-known configuration values.
+    // Factory config keys
+    static constexpr Key kConfigKey_SerialNum             = SILABSConfigKey(kMatterFactory_KeyBase, 0x00);
+    static constexpr Key kConfigKey_MfrDeviceId           = SILABSConfigKey(kMatterFactory_KeyBase, 0x01);
+    static constexpr Key kConfigKey_MfrDeviceCert         = SILABSConfigKey(kMatterFactory_KeyBase, 0x02);
+    static constexpr Key kConfigKey_MfrDevicePrivateKey   = SILABSConfigKey(kMatterFactory_KeyBase, 0x03);
+    static constexpr Key kConfigKey_ManufacturingDate     = SILABSConfigKey(kMatterFactory_KeyBase, 0x04);
+    static constexpr Key kConfigKey_SetupPayloadBitSet    = SILABSConfigKey(kMatterFactory_KeyBase, 0x05);
+    static constexpr Key kConfigKey_MfrDeviceICACerts     = SILABSConfigKey(kMatterFactory_KeyBase, 0x06);
+    static constexpr Key kConfigKey_SetupDiscriminator    = SILABSConfigKey(kMatterFactory_KeyBase, 0x07);
+    static constexpr Key kConfigKey_Spake2pIterationCount = SILABSConfigKey(kMatterFactory_KeyBase, 0x08);
+    static constexpr Key kConfigKey_Spake2pSalt           = SILABSConfigKey(kMatterFactory_KeyBase, 0x09);
+    static constexpr Key kConfigKey_Spake2pVerifier       = SILABSConfigKey(kMatterFactory_KeyBase, 0x0A);
+    static constexpr Key kConfigKey_ProductId             = SILABSConfigKey(kMatterFactory_KeyBase, 0x0B);
+    static constexpr Key kConfigKey_VendorId              = SILABSConfigKey(kMatterFactory_KeyBase, 0x0C);
+    static constexpr Key kConfigKey_VendorName            = SILABSConfigKey(kMatterFactory_KeyBase, 0x0D);
+    static constexpr Key kConfigKey_ProductName           = SILABSConfigKey(kMatterFactory_KeyBase, 0x0E);
+    static constexpr Key kConfigKey_HardwareVersionString = SILABSConfigKey(kMatterFactory_KeyBase, 0x0F);
+    static constexpr Key kConfigKey_UniqueId              = SILABSConfigKey(kMatterFactory_KeyBase, 0x1F);
+    // Matter Config Keys
+    static constexpr Key kConfigKey_ServiceConfig      = SILABSConfigKey(kMatterConfig_KeyBase, 0x01);
+    static constexpr Key kConfigKey_PairedAccountId    = SILABSConfigKey(kMatterConfig_KeyBase, 0x02);
+    static constexpr Key kConfigKey_ServiceId          = SILABSConfigKey(kMatterConfig_KeyBase, 0x03);
+    static constexpr Key kConfigKey_LastUsedEpochKeyId = SILABSConfigKey(kMatterConfig_KeyBase, 0x05);
+    static constexpr Key kConfigKey_FailSafeArmed      = SILABSConfigKey(kMatterConfig_KeyBase, 0x06);
+    static constexpr Key kConfigKey_GroupKey           = SILABSConfigKey(kMatterConfig_KeyBase, 0x07);
+    static constexpr Key kConfigKey_HardwareVersion    = SILABSConfigKey(kMatterConfig_KeyBase, 0x08);
+    static constexpr Key kConfigKey_RegulatoryLocation = SILABSConfigKey(kMatterConfig_KeyBase, 0x09);
+    static constexpr Key kConfigKey_CountryCode        = SILABSConfigKey(kMatterConfig_KeyBase, 0x0A);
+    static constexpr Key kConfigKey_WiFiSSID           = SILABSConfigKey(kMatterConfig_KeyBase, 0x0C);
+    static constexpr Key kConfigKey_WiFiPSK            = SILABSConfigKey(kMatterConfig_KeyBase, 0x0D);
+    static constexpr Key kConfigKey_WiFiSEC            = SILABSConfigKey(kMatterConfig_KeyBase, 0x0E);
+    static constexpr Key kConfigKey_GroupKeyBase       = SILABSConfigKey(kMatterConfig_KeyBase, 0x0F);
+    static constexpr Key kConfigKey_LockUser           = SILABSConfigKey(kMatterConfig_KeyBase, 0x10);
+    static constexpr Key kConfigKey_Credential         = SILABSConfigKey(kMatterConfig_KeyBase, 0x11);
+    static constexpr Key kConfigKey_LockUserName       = SILABSConfigKey(kMatterConfig_KeyBase, 0x12);
+    static constexpr Key kConfigKey_CredentialData     = SILABSConfigKey(kMatterConfig_KeyBase, 0x13);
+    static constexpr Key kConfigKey_UserCredentials    = SILABSConfigKey(kMatterConfig_KeyBase, 0x14);
+    static constexpr Key kConfigKey_WeekDaySchedules   = SILABSConfigKey(kMatterConfig_KeyBase, 0x15);
+    static constexpr Key kConfigKey_YearDaySchedules   = SILABSConfigKey(kMatterConfig_KeyBase, 0x16);
+    static constexpr Key kConfigKey_HolidaySchedules   = SILABSConfigKey(kMatterConfig_KeyBase, 0x17);
+    static constexpr Key kConfigKey_OpKeyMap           = SILABSConfigKey(kMatterConfig_KeyBase, 0x20);
+
+    static constexpr Key kConfigKey_GroupKeyMax =
+        SILABSConfigKey(kMatterConfig_KeyBase, 0x1E); // Allows 16 Group Keys to be created.
+
+    // Matter Counter Keys
+    static constexpr Key kConfigKey_BootCount             = SILABSConfigKey(kMatterCounter_KeyBase, 0x00);
+    static constexpr Key kConfigKey_TotalOperationalHours = SILABSConfigKey(kMatterCounter_KeyBase, 0x01);
+    static constexpr Key kConfigKey_LifeTimeCounter       = SILABSConfigKey(kMatterCounter_KeyBase, 0x02);
+
+    // Matter KVS storage Keys
+    static constexpr Key kConfigKey_KvsStringKeyMap = SILABSConfigKey(kMatterKvs_KeyBase, 0x00);
+    static constexpr Key kConfigKey_KvsFirstKeySlot = SILABSConfigKey(kMatterKvs_KeyBase, 0x01);
+    static constexpr Key kConfigKey_KvsLastKeySlot  = SILABSConfigKey(kMatterKvs_KeyBase, KVS_MAX_ENTRIES);
+
+    // Set key id limits for each group.
+    static constexpr Key kMinConfigKey_MatterFactory = SILABSConfigKey(kMatterFactory_KeyBase, 0x00);
+    static constexpr Key kMaxConfigKey_MatterFactory = SILABSConfigKey(kMatterFactory_KeyBase, 0x1F);
+    static constexpr Key kMinConfigKey_MatterConfig  = SILABSConfigKey(kMatterConfig_KeyBase, 0x00);
+    static constexpr Key kMaxConfigKey_MatterConfig  = SILABSConfigKey(kMatterConfig_KeyBase, 0x20);
+
+    // Allows 32 Counters to be created.
+    static constexpr Key kMinConfigKey_MatterCounter = SILABSConfigKey(kMatterCounter_KeyBase, 0x00);
+    static constexpr Key kMaxConfigKey_MatterCounter = SILABSConfigKey(kMatterCounter_KeyBase, 0x1F);
+
+    static constexpr Key kMinConfigKey_MatterKvs = SILABSConfigKey(kMatterKvs_KeyBase, 0x00);
+    static constexpr Key kMaxConfigKey_MatterKvs = SILABSConfigKey(kMatterKvs_KeyBase, 0xFF);
+
+    static CHIP_ERROR Init(void);
+    static void DeInit(void);
+
+    // Configuration methods used by the GenericConfigurationManagerImpl<> template.
+    static CHIP_ERROR ReadConfigValue(Key key, bool & val);
+    static CHIP_ERROR ReadConfigValue(Key key, uint32_t & val);
+    static CHIP_ERROR ReadConfigValue(Key key, uint64_t & val);
+    static CHIP_ERROR ReadConfigValueStr(Key key, char * buf, size_t bufSize, size_t & outLen);
+    static CHIP_ERROR ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen);
+    static CHIP_ERROR ReadConfigValueBin(Key key, uint8_t * buf, size_t bufSize, size_t & outLen, size_t offset);
+    static CHIP_ERROR ReadConfigValueCounter(uint8_t counterIdx, uint32_t & val);
+    static CHIP_ERROR WriteConfigValue(Key key, bool val);
+    static CHIP_ERROR WriteConfigValue(Key key, uint32_t val);
+    static CHIP_ERROR WriteConfigValue(Key key, uint64_t val);
+    static CHIP_ERROR WriteConfigValueStr(Key key, const char * str);
+    static CHIP_ERROR WriteConfigValueStr(Key key, const char * str, size_t strLen);
+    static CHIP_ERROR WriteConfigValueBin(Key key, const uint8_t * data, size_t dataLen);
+    static CHIP_ERROR WriteConfigValueCounter(uint8_t counterIdx, uint32_t val);
+    static CHIP_ERROR ClearConfigValue(Key key);
+    static bool ConfigValueExists(Key key);
+    static bool ConfigValueExists(Key key, size_t & dataLen);
+    static CHIP_ERROR FactoryResetConfig(void);
+    static bool ValidConfigKey(Key key);
+
+    static void RunConfigUnitTest(void);
+    static void RepackNvm3Flash(void);
+
+protected:
+    using ForEachRecordFunct = std::function<CHIP_ERROR(const Key & nvm3Key, const size_t & length)>;
+    static CHIP_ERROR ForEachRecord(Key firstKey, Key lastKey, bool addNewRecord, ForEachRecordFunct funct);
+
+private:
+    static CHIP_ERROR MapNvm3Error(Ecode_t nvm3Res);
+};
+
+} // namespace Internal
+} // namespace DeviceLayer
+} // namespace chip
diff --git a/src/platform/silabs/SystemPlatformConfig.h b/src/platform/silabs/SystemPlatformConfig.h
index 722198f..fc03009 100644
--- a/src/platform/silabs/SystemPlatformConfig.h
+++ b/src/platform/silabs/SystemPlatformConfig.h
@@ -19,7 +19,7 @@
 /**
  *    @file
  *          Platform-specific configuration overrides for the CHIP System
- *          Layer on Silcon Labs EFR32 Platforms.
+ *          Layer on Silcon Labs SILABS Platforms.
  *
  */
 
diff --git a/src/platform/silabs/WarmPlatformConfig.h b/src/platform/silabs/WarmPlatformConfig.h
index cdc8d88..ae068b2 100644
--- a/src/platform/silabs/WarmPlatformConfig.h
+++ b/src/platform/silabs/WarmPlatformConfig.h
@@ -19,7 +19,7 @@
 /**
  *    @file
  *          Platform-specific configuration overrides for the Chip
- *          Addressing and Routing Module (WARM) on EFR32 platforms
+ *          Addressing and Routing Module (WARM) on SILABS platforms
  *          using the Silcon Labs SDK.
  *
  */
diff --git a/src/test_driver/efr32/BUILD.gn b/src/test_driver/efr32/BUILD.gn
index 4cdb886..5b9573b 100644
--- a/src/test_driver/efr32/BUILD.gn
+++ b/src/test_driver/efr32/BUILD.gn
@@ -57,7 +57,7 @@
 
   defines = [
     "BOARD_ID=${silabs_board}",
-    "EFR32_LOG_ENABLED=1",
+    "SILABS_LOG_ENABLED=1",
     "PW_RPC_ENABLED",
 
     # Thread is built but test driver do not have the NETWORK_COMMISSIONING cluster or zap config.
diff --git a/src/test_driver/efr32/include/AppConfig.h b/src/test_driver/efr32/include/AppConfig.h
index 3b83d37..b1085fd 100644
--- a/src/test_driver/efr32/include/AppConfig.h
+++ b/src/test_driver/efr32/include/AppConfig.h
@@ -25,9 +25,9 @@
 extern "C" {
 #endif
 
-void efr32InitLog(void);
+void silabsInitLog(void);
 void efr32Log(const char * aFormat, ...);
-#define EFR32_LOG(...) efr32Log(__VA_ARGS__);
+#define SILABS_LOG(...) efr32Log(__VA_ARGS__);
 void appError(int err);
 
 #ifdef __cplusplus
diff --git a/src/test_driver/efr32/src/main.cpp b/src/test_driver/efr32/src/main.cpp
index c3d6028..03f0a62 100644
--- a/src/test_driver/efr32/src/main.cpp
+++ b/src/test_driver/efr32/src/main.cpp
@@ -189,15 +189,15 @@
 
     chip::DeviceLayer::PlatformMgr().InitChipStack();
 
-    EFR32_LOG("***** CHIP EFR32 device tests *****\r\n");
+    SILABS_LOG("***** CHIP EFR32 device tests *****\r\n");
 
     // Start RPC service which runs the tests.
     sTestTaskHandle = xTaskCreateStatic(RunRpcService, "RPC_TEST_TASK", ArraySize(sTestTaskStack), nullptr, TEST_TASK_PRIORITY,
                                         sTestTaskStack, &sTestTaskBuffer);
-    EFR32_LOG("Starting FreeRTOS scheduler");
+    SILABS_LOG("Starting FreeRTOS scheduler");
     sl_system_kernel_start();
 
     // Should never get here.
-    EFR32_LOG("vTaskStartScheduler() failed");
+    SILABS_LOG("vTaskStartScheduler() failed");
     return -1;
 }
diff --git a/third_party/silabs/BUILD.gn b/third_party/silabs/BUILD.gn
index 5ac5159..f968d3d 100644
--- a/third_party/silabs/BUILD.gn
+++ b/third_party/silabs/BUILD.gn
@@ -67,7 +67,7 @@
     ]
 
     include_dirs = [
-      "${chip_root}/examples/platform/efr32",
+      "${chip_root}/examples/platform/silabs/efr32",
       "${sdk_support_root}/matter/efr32/${silabs_family}/${silabs_board}",
       "${sl_ot_efr32_root}/src/src",
       "${sl_openthread_root}/src/",
diff --git a/third_party/silabs/efr32_sdk.gni b/third_party/silabs/efr32_sdk.gni
index eec4600..39d6e5d 100644
--- a/third_party/silabs/efr32_sdk.gni
+++ b/third_party/silabs/efr32_sdk.gni
@@ -174,7 +174,7 @@
       "__STARTUP_CLEAR_BSS",
       "HARD_FAULT_LOG_ENABLE",
       "CORTEXM3_EFM32_MICRO",
-      "EFR32_LOG_ENABLED=1",
+      "SILABS_LOG_ENABLED=1",
       "NVM3_DEFAULT_NVM_SIZE=40960",
       "NVM3_DEFAULT_MAX_OBJECT_SIZE=4092",
       "KVS_MAX_ENTRIES=${kvs_max_entries}",