From 32ef2b321aac317bdf6d088ec87c809ab8471042 Mon Sep 17 00:00:00 2001 From: "Michael (XIAO Xufeng)" Date: Sun, 6 Nov 2022 02:37:10 +0800 Subject: [PATCH] esp32s3: fixed bug chip v0.0 detected as vX.0 A typical value is 2.0. --- components/hal/esp32s3/efuse_hal.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/components/hal/esp32s3/efuse_hal.c b/components/hal/esp32s3/efuse_hal.c index dbbf1627a6..11934ce79d 100644 --- a/components/hal/esp32s3/efuse_hal.c +++ b/components/hal/esp32s3/efuse_hal.c @@ -17,7 +17,15 @@ IRAM_ATTR uint32_t efuse_hal_get_major_chip_version(void) { - return efuse_ll_get_chip_wafer_version_major(); + uint32_t ret = efuse_ll_get_chip_wafer_version_major(); + //Workaround: The major version field was allocated to other purposes when block version is v1.1. + //Luckily only chip v0.0 have this kind of block version and efuse usage. + if (efuse_ll_get_chip_wafer_version_minor() == 0 && + efuse_ll_get_blk_version_major() == 1 && + efuse_ll_get_blk_version_minor() == 1) { + ret = 0; + } + return ret; } IRAM_ATTR uint32_t efuse_hal_get_minor_chip_version(void)