Merge branch 'feature/add_new_pkg_and_flash_psram_efuses' into 'master'

feat(efuse): Add flash&psram efuses for S3

Closes IDF-7439

See merge request espressif/esp-idf!24624
This commit is contained in:
Konstantin Kondrashov
2023-07-13 00:57:14 +08:00
7 changed files with 210 additions and 20 deletions

View File

@@ -12,6 +12,9 @@ extern "C" {
#define EFUSE_WRITE_OP_CODE 0x5a5a
#define EFUSE_READ_OP_CODE 0x5aa5
#define EFUSE_PKG_VERSION_ESP32S3 0 // QFN56
#define EFUSE_PKG_VERSION_ESP32S3PICO 1 // LGA56
/** EFUSE_RD_MAC_SPI_SYS_2_REG register
* BLOCK1 data register 2.
*/

View File

@@ -816,25 +816,60 @@ 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: [12: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_PSRAM_CAP : R; bitpos: [4:3]; default: 0;
* PSRAM capacity
*/
#define EFUSE_PSRAM_CAP 0x00000003U
#define EFUSE_PSRAM_CAP_M (EFUSE_PSRAM_CAP_V << EFUSE_PSRAM_CAP_S)
#define EFUSE_PSRAM_CAP_V 0x00000003U
#define EFUSE_PSRAM_CAP_S 3
/** EFUSE_PSRAM_TEMP : R; bitpos: [6:5]; default: 0;
* PSRAM temperature
*/
#define EFUSE_PSRAM_TEMP 0x00000003U
#define EFUSE_PSRAM_TEMP_M (EFUSE_PSRAM_TEMP_V << EFUSE_PSRAM_TEMP_S)
#define EFUSE_PSRAM_TEMP_V 0x00000003U
#define EFUSE_PSRAM_TEMP_S 5
/** EFUSE_PSRAM_VENDOR : R; bitpos: [8:7]; default: 0;
* PSRAM vendor
*/
#define EFUSE_PSRAM_VENDOR 0x00000003U
#define EFUSE_PSRAM_VENDOR_M (EFUSE_PSRAM_VENDOR_V << EFUSE_PSRAM_VENDOR_S)
#define EFUSE_PSRAM_VENDOR_V 0x00000003U
#define EFUSE_PSRAM_VENDOR_S 7
/** EFUSE_RESERVED_1_137 : R; bitpos: [12:9]; default: 0;
* reserved
*/
#define EFUSE_RESERVED_1_128 0x00001FFFU
#define EFUSE_RESERVED_1_128_M (EFUSE_RESERVED_1_128_V << EFUSE_RESERVED_1_128_S)
#define EFUSE_RESERVED_1_128_V 0x00001FFFU
#define EFUSE_RESERVED_1_128_S 0
#define EFUSE_RESERVED_1_137 0x0000000FU
#define EFUSE_RESERVED_1_137_M (EFUSE_RESERVED_1_137_V << EFUSE_RESERVED_1_137_S)
#define EFUSE_RESERVED_1_137_V 0x0000000FU
#define EFUSE_RESERVED_1_137_S 9
/** EFUSE_K_RTC_LDO : R; bitpos: [19:13]; default: 0;
* BLOCK1 K_RTC_LDO
*/

View File

@@ -602,10 +602,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;
@@ -615,10 +619,26 @@ typedef union {
*/
typedef union {
struct {
/** reserved_1_128 : R; bitpos: [12:0]; default: 0;
/** flash_vendor : R; bitpos: [2:0]; default: 0;
* Flash vendor
*/
uint32_t flash_vendor:3;
/** psram_cap : R; bitpos: [4:3]; default: 0;
* PSRAM capacity
*/
uint32_t psram_cap:2;
/** psram_temp : R; bitpos: [6:5]; default: 0;
* PSRAM temperature
*/
uint32_t psram_temp:2;
/** psram_vendor : R; bitpos: [8:7]; default: 0;
* PSRAM vendor
*/
uint32_t psram_vendor:2;
/** reserved_1_137 : R; bitpos: [12:9]; default: 0;
* reserved
*/
uint32_t reserved_1_128:13;
uint32_t reserved_1_137:4;
/** k_rtc_ldo : R; bitpos: [19:13]; default: 0;
* BLOCK1 K_RTC_LDO
*/