diff --git a/components/hal/esp32s3/efuse_hal.c b/components/hal/esp32s3/efuse_hal.c index 2529be7569..e9f3e3d0d9 100644 --- a/components/hal/esp32s3/efuse_hal.c +++ b/components/hal/esp32s3/efuse_hal.c @@ -12,7 +12,15 @@ 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; } uint32_t efuse_hal_get_minor_chip_version(void)