-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Silabs] Fix the secure soc reset issue #37965
base: master
Are you sure you want to change the base?
[Silabs] Fix the secure soc reset issue #37965
Conversation
PR #37965: Size comparison from 1114858 to 186c7c3 Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #37965: Size comparison from c1506f3 to c61c362 Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #37965: Size comparison from c1506f3 to 12928c3 Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
@@ -72,7 +73,7 @@ size_t pw_trace_GetTraceTimeTicksPerSecond() | |||
} | |||
|
|||
#endif // defined(PW_RPC_TRACING_SERVICE) && PW_RPC_TRACING_SERVICE | |||
|
|||
using namespace chip::DeviceLayer::Silabs; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
using namespace chip::DeviceLayer::Silabs; | |
using namespace chip::DeviceLayer::Silabs; | |
@@ -42,7 +43,7 @@ extern "C" { | |||
|
|||
uint8_t flag = RPS_HEADER; | |||
static chip::OTAImageProcessorImpl gImageProcessor; | |||
|
|||
using namespace chip::DeviceLayer::Silabs; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
using namespace chip::DeviceLayer::Silabs; | |
using namespace chip::DeviceLayer::Silabs; | |
@@ -56,6 +56,9 @@ class SilabsPlatformAbstractionBase | |||
virtual CHIP_ERROR FlashErasePage(uint32_t addr) { return CHIP_ERROR_NOT_IMPLEMENTED; } | |||
virtual CHIP_ERROR FlashWritePage(uint32_t addr, const uint8_t * data, size_t size) { return CHIP_ERROR_NOT_IMPLEMENTED; } | |||
|
|||
// soft reset | |||
virtual void SoftwareReset(void) {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be pure virtual since it is a required function and can we add function comments?
@@ -38,6 +38,8 @@ extern "C" { | |||
#endif // SL_SI91X_BOARD_INIT | |||
#include "sl_event_handler.h" | |||
|
|||
#include "sl_si91x_hal_soc_soft_reset.h" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it need to be an extern C include?
####Description
The goal of this PR to fix soft reset issue with secure 917 SoC board. While factory reset
NVIC_SystemReset()
API is called but it is observed that it is stuck in this API for secure SoC boards.As this issue has been solved in wifi-sdk reset call
sl_si91x_soc_nvic_reset
for 917 SoC boards . So added SPAM reset API to call specific reset API based on platform instance.EFR platforms - NVIC_SystemReset
917 SoC platforms - sl_si91x_soc_nvic_reset
Testing
Verified on EFR and 917 SoC platform by doing factory reset and it is resetting properly.