From 643bea7aedad563865ce6b4e2e9e3221207ab353 Mon Sep 17 00:00:00 2001 From: Pavlo Hamov Date: Mon, 5 Sep 2022 13:25:23 +0200 Subject: [PATCH] adc: esp32s2: fix unit to offset calculation adc2 eFuse offset is wrong on 4.4 to 5.0 transition Closes https://github.com/espressif/esp-idf/issues/9705 Closes https://github.com/espressif/esp-idf/pull/9715 --- components/efuse/esp32s2/esp_efuse_rtc_table.c | 1 + components/esp_hw_support/adc_share_hw_ctrl.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/components/efuse/esp32s2/esp_efuse_rtc_table.c b/components/efuse/esp32s2/esp_efuse_rtc_table.c index 0254b17bf3..7df7f45436 100644 --- a/components/efuse/esp32s2/esp_efuse_rtc_table.c +++ b/components/efuse/esp32s2/esp_efuse_rtc_table.c @@ -97,6 +97,7 @@ int esp_efuse_rtc_table_read_calib_version(void) int esp_efuse_rtc_table_get_tag(int version, int adc_num, int atten, int extra_params) { + assert(adc_num <= ADC_UNIT_2); int index = (adc_num == ADC_UNIT_1) ? 0 : 1; int param_offset; // used to index which (adc_num, atten) array to use. if (version == 1 && extra_params == RTCCALIB_V1_PARAM_VLOW) { // Volage LOW, Version 1 diff --git a/components/esp_hw_support/adc_share_hw_ctrl.c b/components/esp_hw_support/adc_share_hw_ctrl.c index e3c0591e9e..ca6645efe9 100644 --- a/components/esp_hw_support/adc_share_hw_ctrl.c +++ b/components/esp_hw_support/adc_share_hw_ctrl.c @@ -97,7 +97,7 @@ void adc_power_release(void) static inline uint32_t esp_efuse_rtc_calib_get_init_code(int version, uint32_t adc_unit, int atten) { - int tag = esp_efuse_rtc_table_get_tag(version, adc_unit + 1, atten, RTCCALIB_V2_PARAM_VINIT); + int tag = esp_efuse_rtc_table_get_tag(version, adc_unit, atten, RTCCALIB_V2_PARAM_VINIT); return esp_efuse_rtc_table_get_parsed_efuse_value(tag, false); } #endif