Merge branch 'feature/add_new_pkg_and_flash_efuses_esp32c3' into 'master'

feat(efuse): Add flash efuses for esp32c3

Closes IDF-7609

See merge request espressif/esp-idf!24685
This commit is contained in:
Konstantin Kondrashov
2023-07-13 00:57:58 +08:00
6 changed files with 112 additions and 19 deletions

View File

@@ -12,6 +12,11 @@ extern "C" {
#define EFUSE_WRITE_OP_CODE 0x5a5a
#define EFUSE_READ_OP_CODE 0x5aa5
#define EFUSE_PKG_VERSION_ESP32C3 0 // QFN32
#define EFUSE_PKG_VERSION_ESP8685 1 // QFN28
#define EFUSE_PKG_VERSION_ESP32C3AZ 2 // QFN32
#define EFUSE_PKG_VERSION_ESP8686 3 // QFN24
#ifdef __cplusplus
}
#endif

View File

@@ -715,25 +715,39 @@ extern "C" {
#define EFUSE_BLK_VERSION_MINOR_M (EFUSE_BLK_VERSION_MINOR_V << EFUSE_BLK_VERSION_MINOR_S)
#define EFUSE_BLK_VERSION_MINOR_V 0x00000007U
#define EFUSE_BLK_VERSION_MINOR_S 24
/** EFUSE_RESERVED_1_123 : R; bitpos: [31:27]; default: 0;
* reserved
/** EFUSE_FLASH_CAP : R; bitpos: [29:27]; default: 0;
* Flash capacity
*/
#define EFUSE_RESERVED_1_123 0x0000001FU
#define EFUSE_RESERVED_1_123_M (EFUSE_RESERVED_1_123_V << EFUSE_RESERVED_1_123_S)
#define EFUSE_RESERVED_1_123_V 0x0000001FU
#define EFUSE_RESERVED_1_123_S 27
#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 27
/** EFUSE_FLASH_TEMP : R; bitpos: [31:30]; default: 0;
* Flash temperature
*/
#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 30
/** EFUSE_RD_MAC_SPI_SYS_4_REG register
* BLOCK1 data register 4.
*/
#define EFUSE_RD_MAC_SPI_SYS_4_REG (DR_REG_EFUSE_BASE + 0x54)
/** EFUSE_RESERVED_1_128 : R; bitpos: [6:0]; default: 0;
/** EFUSE_FLASH_VENDOR : R; bitpos: [2:0]; 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 0
/** EFUSE_RESERVED_1_131 : R; bitpos: [6:3]; default: 0;
* reserved
*/
#define EFUSE_RESERVED_1_128 0x0000007FU
#define EFUSE_RESERVED_1_128_M (EFUSE_RESERVED_1_128_V << EFUSE_RESERVED_1_128_S)
#define EFUSE_RESERVED_1_128_V 0x0000007FU
#define EFUSE_RESERVED_1_128_S 0
#define EFUSE_RESERVED_1_131 0x0000000FU
#define EFUSE_RESERVED_1_131_M (EFUSE_RESERVED_1_131_V << EFUSE_RESERVED_1_131_S)
#define EFUSE_RESERVED_1_131_V 0x0000000FU
#define EFUSE_RESERVED_1_131_S 3
/** EFUSE_K_RTC_LDO : R; bitpos: [13:7]; default: 0;
* BLOCK1 K_RTC_LDO
*/

View File

@@ -546,10 +546,14 @@ typedef union {
* BLK_VERSION_MINOR
*/
uint32_t blk_version_minor:3;
/** reserved_1_123 : R; bitpos: [31:27]; default: 0;
* reserved
/** flash_cap : R; bitpos: [29:27]; default: 0;
* Flash capacity
*/
uint32_t reserved_1_123:5;
uint32_t flash_cap:3;
/** flash_temp : R; bitpos: [31:30]; default: 0;
* Flash temperature
*/
uint32_t flash_temp:2;
};
uint32_t val;
} efuse_rd_mac_spi_sys_3_reg_t;
@@ -559,10 +563,14 @@ typedef union {
*/
typedef union {
struct {
/** reserved_1_128 : R; bitpos: [6:0]; default: 0;
/** flash_vendor : R; bitpos: [2:0]; default: 0;
* Flash vendor
*/
uint32_t flash_vendor:3;
/** reserved_1_131 : R; bitpos: [6:3]; default: 0;
* reserved
*/
uint32_t reserved_1_128:7;
uint32_t reserved_1_131:4;
/** k_rtc_ldo : R; bitpos: [13:7]; default: 0;
* BLOCK1 K_RTC_LDO
*/