soc: espressif: disable RNG entropy before app runs
SARADC was kept enabled to feed RNG entropy peripheral, adding instability to Wi-Fi connection. So we disable it before app runs as RNG driver already got initial entropy values. Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
This commit is contained in:
parent
43a559080b
commit
0c5d5f796f
7 changed files with 30 additions and 16 deletions
|
@ -22,6 +22,8 @@
|
|||
#include "esp_flash.h"
|
||||
#include "esp_log.h"
|
||||
#include "bootloader_init.h"
|
||||
#include "bootloader_random.h"
|
||||
#include "bootloader_soc.h"
|
||||
|
||||
#define TAG "boot"
|
||||
|
||||
|
@ -248,5 +250,12 @@ void __start(void)
|
|||
map_rom_segments(_app_drom_start, _app_drom_vaddr, _app_drom_size,
|
||||
_app_irom_start, _app_irom_vaddr, _app_irom_size);
|
||||
#endif
|
||||
|
||||
/* Disable RNG entropy source as it was already used */
|
||||
bootloader_random_disable();
|
||||
|
||||
/* Disable glitch detection as it can be falsely triggered by EMI interference */
|
||||
bootloader_ana_clock_glitch_reset_config(false);
|
||||
|
||||
__esp_platform_start();
|
||||
}
|
||||
|
|
|
@ -372,6 +372,10 @@ SECTIONS
|
|||
*libzephyr.a:esp_cache.*(.literal .literal.* .text .text.*)
|
||||
*libzephyr.a:cache_esp32.*(.literal .literal.* .text .text.*)
|
||||
|
||||
*libzephyr.a:bootloader_soc.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||
|
||||
#if defined(CONFIG_ESP32_WIFI_IRAM_OPT)
|
||||
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
|
||||
*libpp.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiorslpiram .wifiorslpiram.*)
|
||||
|
@ -399,7 +403,6 @@ SECTIONS
|
|||
.loader.text :
|
||||
{
|
||||
. = ALIGN(4);
|
||||
*libzephyr.a:bootloader_soc.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_init.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_esp32.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_clock_init.*(.literal .text .literal.* .text.*)
|
||||
|
@ -411,8 +414,6 @@ SECTIONS
|
|||
*libzephyr.a:bootloader_common.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_mem.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||
*libzephyr.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_utility.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_sha.*(.literal .text .literal.* .text.*)
|
||||
|
|
|
@ -319,6 +319,10 @@ SECTIONS
|
|||
*libzephyr.a:esp_cache.*(.literal .literal.* .text .text.*)
|
||||
*libzephyr.a:cache_utils.*(.literal .text .literal.* .text.*)
|
||||
|
||||
*libzephyr.a:bootloader_soc.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||
|
||||
#if defined(CONFIG_ESP32_WIFI_IRAM_OPT)
|
||||
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
|
||||
*libpp.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
|
||||
|
@ -348,7 +352,6 @@ SECTIONS
|
|||
{
|
||||
. = ALIGN(4);
|
||||
_loader_text_start = ABSOLUTE(.);
|
||||
*libzephyr.a:bootloader_soc.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_init.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_esp32c3.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_clock_init.*(.literal .text .literal.* .text.*)
|
||||
|
@ -360,8 +363,6 @@ SECTIONS
|
|||
*libzephyr.a:bootloader_panic.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_mem.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||
*libzephyr.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_utility.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_sha.*(.literal .text .literal.* .text.*)
|
||||
|
|
|
@ -318,6 +318,10 @@ SECTIONS
|
|||
*libzephyr.a:esp_cache.*(.literal .literal.* .text .text.*)
|
||||
*libzephyr.a:cache_utils.*(.literal .text .literal.* .text.*)
|
||||
|
||||
*libzephyr.a:bootloader_soc.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||
|
||||
#if defined(CONFIG_ESP32_WIFI_IRAM_OPT)
|
||||
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
|
||||
*libpp.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
|
||||
|
@ -346,7 +350,6 @@ SECTIONS
|
|||
{
|
||||
. = ALIGN(4);
|
||||
_loader_text_start = ABSOLUTE(.);
|
||||
*libzephyr.a:bootloader_soc.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_init.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_esp32c6.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_clock_init.*(.literal .text .literal.* .text.*)
|
||||
|
@ -358,8 +361,6 @@ SECTIONS
|
|||
*libzephyr.a:bootloader_panic.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_mem.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||
*libzephyr.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_utility.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_sha.*(.literal .text .literal.* .text.*)
|
||||
|
|
|
@ -424,6 +424,10 @@ SECTIONS
|
|||
/* [mapping:esp_mm] */
|
||||
*libzephyr.a:esp_cache.*(.literal .literal.* .text .text.*)
|
||||
|
||||
*libzephyr.a:bootloader_soc.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||
|
||||
#if defined(CONFIG_ESP32_WIFI_IRAM_OPT)
|
||||
*libnet80211.a:(.wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
|
||||
*libpp.a:(.wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiorslpiram .wifiorslpiram.*)
|
||||
|
@ -454,7 +458,6 @@ SECTIONS
|
|||
{
|
||||
. = ALIGN(4);
|
||||
_loader_text_start = ABSOLUTE(.);
|
||||
*libzephyr.a:bootloader_soc.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_init.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_esp32s2.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_clock_init.*(.literal .text .literal.* .text.*)
|
||||
|
@ -466,8 +469,6 @@ SECTIONS
|
|||
*libzephyr.a:bootloader_common.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_mem.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||
*libzephyr.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_utility.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_sha.*(.literal .text .literal.* .text.*)
|
||||
|
|
|
@ -379,6 +379,10 @@ SECTIONS
|
|||
/* [mapping:esp_mm] */
|
||||
*libzephyr.a:esp_cache.*(.literal .literal.* .text .text.*)
|
||||
|
||||
*libzephyr.a:bootloader_soc.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||
|
||||
#if defined(CONFIG_ESP32_WIFI_IRAM_OPT)
|
||||
*libnet80211.a:(.wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
|
||||
*libpp.a:(.wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiorslpiram .wifiorslpiram.*)
|
||||
|
@ -407,7 +411,6 @@ SECTIONS
|
|||
{
|
||||
. = ALIGN(4);
|
||||
_loader_text_start = ABSOLUTE(.);
|
||||
*libzephyr.a:bootloader_soc.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_init.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_esp32s3.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_clock_init.*(.literal .text .literal.* .text.*)
|
||||
|
@ -418,8 +421,6 @@ SECTIONS
|
|||
*libzephyr.a:bootloader_common_loader.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_mem.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
|
||||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||
*libzephyr.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_utility.*(.literal .text .literal.* .text.*)
|
||||
*libzephyr.a:bootloader_sha.*(.literal .text .literal.* .text.*)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue