diff --git a/components/efuse/esp32c2/esp_efuse_table.c b/components/efuse/esp32c2/esp_efuse_table.c index 2ede33886d0..af62270adf7 100644 --- a/components/efuse/esp32c2/esp_efuse_table.c +++ b/components/efuse/esp32c2/esp_efuse_table.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2017-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -9,7 +9,7 @@ #include #include "esp_efuse_table.h" -// md5_digest_table 439495cbc35dc68d7566e05ac3dbb248 +// md5_digest_table 066deaa9a981a1c5cd33c78803ad1d45 // This file was generated from the file esp_efuse_table.csv. DO NOT CHANGE THIS FILE MANUALLY. // If you want to change some fields, you need to change esp_efuse_table.csv file // then run `efuse_common_table` or `efuse_custom_table` command it will generate this file. @@ -187,6 +187,18 @@ static const esp_efuse_desc_t WR_DIS_ADC_CALIBRATION_3[] = { {EFUSE_BLK0, 6, 1}, // [] wr_dis of ADC_CALIBRATION_3, }; +static const esp_efuse_desc_t WR_DIS_FLASH_VENDOR[] = { + {EFUSE_BLK0, 6, 1}, // [] wr_dis of FLASH_VENDOR, +}; + +static const esp_efuse_desc_t WR_DIS_FLASH_TEMP[] = { + {EFUSE_BLK0, 6, 1}, // [] wr_dis of FLASH_TEMP, +}; + +static const esp_efuse_desc_t WR_DIS_FLASH_CAP[] = { + {EFUSE_BLK0, 6, 1}, // [] wr_dis of FLASH_CAP, +}; + static const esp_efuse_desc_t WR_DIS_BLOCK_KEY0[] = { {EFUSE_BLK0, 7, 1}, // [WR_DIS.KEY0] wr_dis of BLOCK_KEY0, }; @@ -380,6 +392,18 @@ static const esp_efuse_desc_t ADC_CALIBRATION_3[] = { {EFUSE_BLK2, 192, 11}, // [] Store the bit [86:96] of ADC calibration data, }; +static const esp_efuse_desc_t FLASH_VENDOR[] = { + {EFUSE_BLK2, 248, 3}, // [] Flash vendor, +}; + +static const esp_efuse_desc_t FLASH_TEMP[] = { + {EFUSE_BLK2, 251, 2}, // [] Flash temperature rating, +}; + +static const esp_efuse_desc_t FLASH_CAP[] = { + {EFUSE_BLK2, 253, 3}, // [] Flash capacity, +}; + static const esp_efuse_desc_t KEY0[] = { {EFUSE_BLK3, 0, 256}, // [BLOCK_KEY0] BLOCK_BLOCK_KEY0 - 256-bits. 256-bit key of Flash Encryption, }; @@ -615,6 +639,21 @@ const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC_CALIBRATION_3[] = { NULL }; +const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FLASH_VENDOR[] = { + &WR_DIS_FLASH_VENDOR[0], // [] wr_dis of FLASH_VENDOR + NULL +}; + +const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FLASH_TEMP[] = { + &WR_DIS_FLASH_TEMP[0], // [] wr_dis of FLASH_TEMP + NULL +}; + +const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FLASH_CAP[] = { + &WR_DIS_FLASH_CAP[0], // [] wr_dis of FLASH_CAP + NULL +}; + const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLOCK_KEY0[] = { &WR_DIS_BLOCK_KEY0[0], // [WR_DIS.KEY0] wr_dis of BLOCK_KEY0 NULL @@ -855,6 +894,21 @@ const esp_efuse_desc_t* ESP_EFUSE_ADC_CALIBRATION_3[] = { NULL }; +const esp_efuse_desc_t* ESP_EFUSE_FLASH_VENDOR[] = { + &FLASH_VENDOR[0], // [] Flash vendor + NULL +}; + +const esp_efuse_desc_t* ESP_EFUSE_FLASH_TEMP[] = { + &FLASH_TEMP[0], // [] Flash temperature rating + NULL +}; + +const esp_efuse_desc_t* ESP_EFUSE_FLASH_CAP[] = { + &FLASH_CAP[0], // [] Flash capacity + NULL +}; + const esp_efuse_desc_t* ESP_EFUSE_KEY0[] = { &KEY0[0], // [BLOCK_KEY0] BLOCK_BLOCK_KEY0 - 256-bits. 256-bit key of Flash Encryption NULL diff --git a/components/efuse/esp32c2/esp_efuse_table.csv b/components/efuse/esp32c2/esp_efuse_table.csv index ce0583b040b..e19d9717c71 100644 --- a/components/efuse/esp32c2/esp_efuse_table.csv +++ b/components/efuse/esp32c2/esp_efuse_table.csv @@ -9,7 +9,7 @@ # this will generate new source files, next rebuild all the sources. # !!!!!!!!!!! # -# This file was generated by regtools.py based on the efuses.yaml file with the version: 897499b0349a608b895d467abbcf006b +# This file was generated by regtools.py based on the efuses.yaml file with the version: 58a0463c13130569739af12cde638a4a WR_DIS, EFUSE_BLK0, 0, 8, [] Disable programming of individual eFuses WR_DIS.RD_DIS, EFUSE_BLK0, 0, 1, [] wr_dis of RD_DIS @@ -54,6 +54,9 @@ WR_DIS.RTC_LDO_SLP_DBIAS31, EFUSE_BLK0, 6, 1, [] wr_dis WR_DIS.RTC_LDO_ACT_DBIAS31, EFUSE_BLK0, 6, 1, [] wr_dis of RTC_LDO_ACT_DBIAS31 WR_DIS.RTC_LDO_ACT_DBIAS13, EFUSE_BLK0, 6, 1, [] wr_dis of RTC_LDO_ACT_DBIAS13 WR_DIS.ADC_CALIBRATION_3, EFUSE_BLK0, 6, 1, [] wr_dis of ADC_CALIBRATION_3 +WR_DIS.FLASH_VENDOR, EFUSE_BLK0, 6, 1, [] wr_dis of FLASH_VENDOR +WR_DIS.FLASH_TEMP, EFUSE_BLK0, 6, 1, [] wr_dis of FLASH_TEMP +WR_DIS.FLASH_CAP, EFUSE_BLK0, 6, 1, [] wr_dis of FLASH_CAP WR_DIS.BLOCK_KEY0, EFUSE_BLK0, 7, 1, [WR_DIS.KEY0] wr_dis of BLOCK_KEY0 RD_DIS, EFUSE_BLK0, 32, 2, [] Disable reading from BlOCK3 RD_DIS.KEY0, EFUSE_BLK0, 32, 2, [] Read protection for EFUSE_BLK3. KEY0 @@ -106,6 +109,9 @@ RTC_LDO_SLP_DBIAS31, EFUSE_BLK2, 151, 6, [] BLOCK2 RTC_LDO_ACT_DBIAS31, EFUSE_BLK2, 157, 6, [] BLOCK2 DIG_LDO_ACT_DBIAS31 RTC_LDO_ACT_DBIAS13, EFUSE_BLK2, 163, 8, [] BLOCK2 DIG_LDO_ACT_DBIAS13 ADC_CALIBRATION_3, EFUSE_BLK2, 192, 11, [] Store the bit [86:96] of ADC calibration data +FLASH_VENDOR, EFUSE_BLK2, 248, 3, [] Flash vendor +FLASH_TEMP, EFUSE_BLK2, 251, 2, [] Flash temperature rating +FLASH_CAP, EFUSE_BLK2, 253, 3, [] Flash capacity KEY0, EFUSE_BLK3, 0, 256, [BLOCK_KEY0] BLOCK_BLOCK_KEY0 - 256-bits. 256-bit key of Flash Encryption KEY0.FE_256BIT, EFUSE_BLK3, 0, 256, [] 256bit FE key KEY0.FE_128BIT, EFUSE_BLK3, 0, 128, [] 128bit FE key diff --git a/components/efuse/esp32c2/include/esp_efuse_table.h b/components/efuse/esp32c2/include/esp_efuse_table.h index 95192320ddb..8167f972300 100644 --- a/components/efuse/esp32c2/include/esp_efuse_table.h +++ b/components/efuse/esp32c2/include/esp_efuse_table.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2017-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -10,7 +10,7 @@ extern "C" { #include "esp_efuse.h" -// md5_digest_table 439495cbc35dc68d7566e05ac3dbb248 +// md5_digest_table 066deaa9a981a1c5cd33c78803ad1d45 // This file was generated from the file esp_efuse_table.csv. DO NOT CHANGE THIS FILE MANUALLY. // If you want to change some fields, you need to change esp_efuse_table.csv file // then run `efuse_common_table` or `efuse_custom_table` command it will generate this file. @@ -64,6 +64,9 @@ extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_RTC_LDO_SLP_DBIAS31[]; extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_RTC_LDO_ACT_DBIAS31[]; extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_RTC_LDO_ACT_DBIAS13[]; extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_ADC_CALIBRATION_3[]; +extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FLASH_VENDOR[]; +extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FLASH_TEMP[]; +extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FLASH_CAP[]; extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLOCK_KEY0[]; #define ESP_EFUSE_WR_DIS_KEY0 ESP_EFUSE_WR_DIS_BLOCK_KEY0 extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS[]; @@ -116,6 +119,9 @@ extern const esp_efuse_desc_t* ESP_EFUSE_RTC_LDO_SLP_DBIAS31[]; extern const esp_efuse_desc_t* ESP_EFUSE_RTC_LDO_ACT_DBIAS31[]; extern const esp_efuse_desc_t* ESP_EFUSE_RTC_LDO_ACT_DBIAS13[]; extern const esp_efuse_desc_t* ESP_EFUSE_ADC_CALIBRATION_3[]; +extern const esp_efuse_desc_t* ESP_EFUSE_FLASH_VENDOR[]; +extern const esp_efuse_desc_t* ESP_EFUSE_FLASH_TEMP[]; +extern const esp_efuse_desc_t* ESP_EFUSE_FLASH_CAP[]; extern const esp_efuse_desc_t* ESP_EFUSE_KEY0[]; #define ESP_EFUSE_BLOCK_KEY0 ESP_EFUSE_KEY0 extern const esp_efuse_desc_t* ESP_EFUSE_KEY0_FE_256BIT[]; diff --git a/components/soc/esp32c2/register/soc/efuse_reg.h b/components/soc/esp32c2/register/soc/efuse_reg.h index 8471fef930a..ebc264dff18 100644 --- a/components/soc/esp32c2/register/soc/efuse_reg.h +++ b/components/soc/esp32c2/register/soc/efuse_reg.h @@ -1,5 +1,5 @@ /** - * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2023-2026 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -596,13 +596,34 @@ extern "C" { * Register 7 of BLOCK2. */ #define EFUSE_RD_BLK2_DATA7_REG (DR_REG_EFUSE_BASE + 0x5c) -/** EFUSE_BLK2_RESERVED_DATA_1 : RO; bitpos: [31:0]; default: 0; - * Store the bit [21:52] of block2 reserved data. +/** EFUSE_RESERVED_2_224 : R; bitpos: [23:0]; default: 0; + * reserved */ -#define EFUSE_BLK2_RESERVED_DATA_1 0xFFFFFFFFU -#define EFUSE_BLK2_RESERVED_DATA_1_M (EFUSE_BLK2_RESERVED_DATA_1_V << EFUSE_BLK2_RESERVED_DATA_1_S) -#define EFUSE_BLK2_RESERVED_DATA_1_V 0xFFFFFFFFU -#define EFUSE_BLK2_RESERVED_DATA_1_S 0 +#define EFUSE_RESERVED_2_224 0x00FFFFFFU +#define EFUSE_RESERVED_2_224_M (EFUSE_RESERVED_2_224_V << EFUSE_RESERVED_2_224_S) +#define EFUSE_RESERVED_2_224_V 0x00FFFFFFU +#define EFUSE_RESERVED_2_224_S 0 +/** EFUSE_FLASH_VENDOR : R; bitpos: [26:24]; default: 0; + * Flash vendor + */ +#define EFUSE_FLASH_VENDOR 0x00000007U +#define EFUSE_FLASH_VENDOR_M (EFUSE_FLASH_VENDOR_V << EFUSE_FLASH_VENDOR_S) +#define EFUSE_FLASH_VENDOR_V 0x00000007U +#define EFUSE_FLASH_VENDOR_S 24 +/** EFUSE_FLASH_TEMP : R; bitpos: [28:27]; default: 0; + * Flash temperature rating + */ +#define EFUSE_FLASH_TEMP 0x00000003U +#define EFUSE_FLASH_TEMP_M (EFUSE_FLASH_TEMP_V << EFUSE_FLASH_TEMP_S) +#define EFUSE_FLASH_TEMP_V 0x00000003U +#define EFUSE_FLASH_TEMP_S 27 +/** EFUSE_FLASH_CAP : R; bitpos: [31:29]; default: 0; + * Flash capacity + */ +#define EFUSE_FLASH_CAP 0x00000007U +#define EFUSE_FLASH_CAP_M (EFUSE_FLASH_CAP_V << EFUSE_FLASH_CAP_S) +#define EFUSE_FLASH_CAP_V 0x00000007U +#define EFUSE_FLASH_CAP_S 29 /** EFUSE_RD_BLK3_DATA0_REG register * Register 0 of BLOCK3. diff --git a/components/soc/esp32c2/register/soc/efuse_struct.h b/components/soc/esp32c2/register/soc/efuse_struct.h index fa1800be944..17db17294a9 100644 --- a/components/soc/esp32c2/register/soc/efuse_struct.h +++ b/components/soc/esp32c2/register/soc/efuse_struct.h @@ -1,5 +1,5 @@ /** - * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2023-2026 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -493,10 +493,22 @@ typedef union { */ typedef union { struct { - /** blk2_reserved_data_1 : RO; bitpos: [31:0]; default: 0; - * Store the bit [21:52] of block2 reserved data. + /** reserved_2_224 : R; bitpos: [23:0]; default: 0; + * reserved */ - uint32_t blk2_reserved_data_1:32; + uint32_t reserved_2_224:24; + /** flash_vendor : R; bitpos: [26:24]; default: 0; + * Flash vendor + */ + uint32_t flash_vendor:3; + /** flash_temp : R; bitpos: [28:27]; default: 0; + * Flash temperature rating + */ + uint32_t flash_temp:2; + /** flash_cap : R; bitpos: [31:29]; default: 0; + * Flash capacity + */ + uint32_t flash_cap:3; }; uint32_t val; } efuse_rd_blk2_data7_reg_t;