Skip to content

Commit 3f3525e

Browse files
committed
Merge branch 'fix/esp_efuse_enable_rom_secure_download_mode_v5.5' into 'release/v5.5'
fix(efuse): Fix enabling ROM secure download mode (v5.5) See merge request espressif/esp-idf!42627
2 parents 729b28e + a317db1 commit 3f3525e

File tree

13 files changed

+50
-49
lines changed

13 files changed

+50
-49
lines changed

components/efuse/esp32c2/esp_efuse_fields.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2017-2022 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2017-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -46,8 +46,8 @@ esp_err_t esp_efuse_disable_rom_download_mode(void)
4646

4747
esp_err_t esp_efuse_enable_rom_secure_download_mode(void)
4848
{
49-
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
50-
return ESP_ERR_INVALID_STATE;
49+
if (!esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
50+
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
5151
}
52-
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
52+
return ESP_OK;
5353
}

components/efuse/esp32c3/esp_efuse_fields.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2017-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -46,8 +46,8 @@ esp_err_t esp_efuse_disable_rom_download_mode(void)
4646

4747
esp_err_t esp_efuse_enable_rom_secure_download_mode(void)
4848
{
49-
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
50-
return ESP_ERR_INVALID_STATE;
49+
if (!esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
50+
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
5151
}
52-
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
52+
return ESP_OK;
5353
}

components/efuse/esp32c5/esp_efuse_fields.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -48,8 +48,8 @@ esp_err_t esp_efuse_disable_rom_download_mode(void)
4848

4949
esp_err_t esp_efuse_enable_rom_secure_download_mode(void)
5050
{
51-
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
52-
return ESP_ERR_INVALID_STATE;
51+
if (!esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
52+
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
5353
}
54-
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
54+
return ESP_OK;
5555
}

components/efuse/esp32c6/esp_efuse_fields.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -46,8 +46,8 @@ esp_err_t esp_efuse_disable_rom_download_mode(void)
4646

4747
esp_err_t esp_efuse_enable_rom_secure_download_mode(void)
4848
{
49-
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
50-
return ESP_ERR_INVALID_STATE;
49+
if (!esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
50+
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
5151
}
52-
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
52+
return ESP_OK;
5353
}

components/efuse/esp32c61/esp_efuse_fields.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -48,8 +48,8 @@ esp_err_t esp_efuse_disable_rom_download_mode(void)
4848

4949
esp_err_t esp_efuse_enable_rom_secure_download_mode(void)
5050
{
51-
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
52-
return ESP_ERR_INVALID_STATE;
51+
if (!esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
52+
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
5353
}
54-
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
54+
return ESP_OK;
5555
}

components/efuse/esp32h2/esp_efuse_fields.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -46,8 +46,8 @@ esp_err_t esp_efuse_disable_rom_download_mode(void)
4646

4747
esp_err_t esp_efuse_enable_rom_secure_download_mode(void)
4848
{
49-
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
50-
return ESP_ERR_INVALID_STATE;
49+
if (!esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
50+
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
5151
}
52-
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
52+
return ESP_OK;
5353
}

components/efuse/esp32h21/esp_efuse_fields.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ esp_err_t esp_efuse_disable_rom_download_mode(void)
4646

4747
esp_err_t esp_efuse_enable_rom_secure_download_mode(void)
4848
{
49-
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
50-
return ESP_ERR_INVALID_STATE;
49+
if (!esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
50+
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
5151
}
52-
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
52+
return ESP_OK;
5353
}

components/efuse/esp32h4/esp_efuse_fields.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ esp_err_t esp_efuse_disable_rom_download_mode(void)
4848

4949
esp_err_t esp_efuse_enable_rom_secure_download_mode(void)
5050
{
51-
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
52-
return ESP_ERR_INVALID_STATE;
51+
if (!esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
52+
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
5353
}
54-
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
54+
return ESP_OK;
5555
}

components/efuse/esp32p4/esp_efuse_fields.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -47,8 +47,8 @@ esp_err_t esp_efuse_disable_rom_download_mode(void)
4747

4848
esp_err_t esp_efuse_enable_rom_secure_download_mode(void)
4949
{
50-
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
51-
return ESP_ERR_INVALID_STATE;
50+
if (!esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
51+
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
5252
}
53-
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
53+
return ESP_OK;
5454
}

components/efuse/esp32s2/esp_efuse_fields.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2017-2022 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2017-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -45,8 +45,8 @@ esp_err_t esp_efuse_set_rom_log_scheme(esp_efuse_rom_log_scheme_t log_scheme)
4545

4646
esp_err_t esp_efuse_enable_rom_secure_download_mode(void)
4747
{
48-
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
49-
return ESP_ERR_INVALID_STATE;
48+
if (!esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MODE)) {
49+
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
5050
}
51-
return esp_efuse_write_field_bit(ESP_EFUSE_ENABLE_SECURITY_DOWNLOAD);
51+
return ESP_OK;
5252
}

0 commit comments

Comments
 (0)