Skip to content

Commit

Permalink
Merge branch 'bugfix/update_disabling_hmac_jtag_method' into 'master'
Browse files Browse the repository at this point in the history
fix(esp_hw_support): update hmac toggle method due to discrepency in ROM code

See merge request espressif/esp-idf!29131
  • Loading branch information
AdityaHPatwardhan committed Mar 4, 2024
2 parents 43c604f + 152f172 commit acb7338
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions components/esp_hw_support/esp_hmac.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
Expand Down Expand Up @@ -187,7 +187,9 @@ esp_err_t esp_hmac_jtag_enable(hmac_key_id_t key_id, const uint8_t *token)

ESP_LOGD(TAG, "HMAC computation in downstream mode is completed.");

ets_hmac_disable();
HMAC_RCC_ATOMIC() {
hmac_ll_enable_bus_clock(false);
}

esp_crypto_hmac_lock_release();

Expand All @@ -197,9 +199,17 @@ esp_err_t esp_hmac_jtag_enable(hmac_key_id_t key_id, const uint8_t *token)
esp_err_t esp_hmac_jtag_disable()
{
esp_crypto_hmac_lock_acquire();
ets_hmac_enable();

HMAC_RCC_ATOMIC() {
hmac_ll_enable_bus_clock(true);
}

REG_WRITE(HMAC_SET_INVALIDATE_JTAG_REG, 1);
ets_hmac_disable();

HMAC_RCC_ATOMIC() {
hmac_ll_enable_bus_clock(false);
}

esp_crypto_hmac_lock_release();

ESP_LOGD(TAG, "Invalidate JTAG result register. JTAG disabled.");
Expand Down Expand Up @@ -234,7 +244,6 @@ esp_err_t esp_hmac_calculate(hmac_key_id_t key_id,
} else {
return ESP_OK;
}

}

esp_err_t esp_hmac_jtag_enable(hmac_key_id_t key_id, const uint8_t *token)
Expand Down

0 comments on commit acb7338

Please sign in to comment.