esp_efuse_table.csv 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. # field_name, | efuse_block, | bit_start, | bit_count, |comment #
  2. # | (EFUSE_BLK0 | (0..255) | (1..-) | #
  3. # | EFUSE_BLK1 | |MAX_BLK_LEN*| #
  4. # | ... | | | #
  5. # | EFUSE_BLK10)| | | #
  6. ##########################################################################
  7. # *) The value MAX_BLK_LEN depends on CONFIG_EFUSE_MAX_BLK_LEN, will be replaced with "None" - 256. "3/4" - 192. "REPEAT" - 128.
  8. # !!!!!!!!!!! #
  9. # After editing this file, run the command manually "make efuse_common_table" or "idf.py efuse-common-table"
  10. # this will generate new source files, next rebuild all the sources.
  11. # !!!!!!!!!!! #
  12. # EFUSE_RD_REPEAT_DATA BLOCK #
  13. ##############################
  14. # EFUSE_RD_WR_DIS_REG #
  15. WR_DIS, EFUSE_BLK0, 0, 32, Write protection
  16. WR_DIS.RD_DIS, EFUSE_BLK0, 0, 1, Write protection for RD_DIS_KEY0 RD_DIS_KEY1 RD_DIS_KEY2 RD_DIS_KEY3 RD_DIS_KEY4 RD_DIS_KEY5 RD_DIS_SYS_DATA_PART2
  17. WR_DIS.SWAP_UART_SDIO_EN, EFUSE_BLK0, 1, 1, Write protection for SWAP_UART_SDIO_EN
  18. WR_DIS.GROUP_1, EFUSE_BLK0, 2, 1, Write protection for DIS_ICACHE DIS_USB_JTAG DIS_DOWNLOAD_ICACHE DIS_USB_SERIAL_JTAG DIS_FORCE_DOWNLOAD DIS_TWAI DIS_JTAG_SEL_ENABLE SOFT_DIS_JTAG DIS_PADJTAG DIS_DOWNLOAD_MANUAL_ENCRYPT
  19. WR_DIS.GROUP_2, EFUSE_BLK0, 3, 1, Write protection for WDT_DELAY_SEL
  20. WR_DIS.SPI_BOOT_CRYPT_CNT, EFUSE_BLK0, 4, 1, Write protection for SPI_BOOT_CRYPT_CNT
  21. WR_DIS.SECURE_BOOT_KEY_REVOKE0,EFUSE_BLK0, 5, 1, Write protection for SECURE_BOOT_KEY_REVOKE0
  22. WR_DIS.SECURE_BOOT_KEY_REVOKE1,EFUSE_BLK0, 6, 1, Write protection for SECURE_BOOT_KEY_REVOKE1
  23. WR_DIS.SECURE_BOOT_KEY_REVOKE2,EFUSE_BLK0, 7, 1, Write protection for SECURE_BOOT_KEY_REVOKE2
  24. WR_DIS.KEY0_PURPOSE, EFUSE_BLK0, 8, 1, Write protection for key_purpose. KEY0
  25. WR_DIS.KEY1_PURPOSE, EFUSE_BLK0, 9, 1, Write protection for key_purpose. KEY1
  26. WR_DIS.KEY2_PURPOSE, EFUSE_BLK0, 10, 1, Write protection for key_purpose. KEY2
  27. WR_DIS.KEY3_PURPOSE, EFUSE_BLK0, 11, 1, Write protection for key_purpose. KEY3
  28. WR_DIS.KEY4_PURPOSE, EFUSE_BLK0, 12, 1, Write protection for key_purpose. KEY4
  29. WR_DIS.KEY5_PURPOSE, EFUSE_BLK0, 13, 1, Write protection for key_purpose. KEY5
  30. WR_DIS.SEC_DPA_LEVEL, EFUSE_BLK0, 14, 1, Write protection for SEC_DPA_LEVEL
  31. WR_DIS.SECURE_BOOT_EN, EFUSE_BLK0, 15, 1, Write protection for SECURE_BOOT_EN
  32. WR_DIS.SECURE_BOOT_AGGRESSIVE_REVOKE,EFUSE_BLK0, 16, 1, Write protection for SECURE_BOOT_AGGRESSIVE_REVOKE
  33. WR_DIS.GROUP_3, EFUSE_BLK0, 18, 1, Write protection for FLASH_TPUW DIS_DOWNLOAD_MODE DIS_DIRECT_BOOT DIS_USB_PRINT DIS_USB_DOWNLOAD_MODE ENABLE_SECURITY_DOWNLOAD UART_PRINT_CONTROLFLASH_TYPE FORCE_SEND_RESUME SECURE_VERSION
  34. WR_DIS.SECURE_BOOT_DISABLE_FAST_WAKE,EFUSE_BLK0, 19, 1, Write protection for SECURE_BOOT_DISABLE_FAST_WAKE
  35. WR_DIS.BLK1, EFUSE_BLK0, 20, 1, Write protection for EFUSE_BLK1. MAC_SPI_8M_SYS
  36. WR_DIS.SYS_DATA_PART1, EFUSE_BLK0, 21, 1, Write protection for EFUSE_BLK2. SYS_DATA_PART1
  37. WR_DIS.USER_DATA, EFUSE_BLK0, 22, 1, Write protection for EFUSE_BLK3. USER_DATA
  38. WR_DIS.KEY0, EFUSE_BLK0, 23, 1, Write protection for EFUSE_BLK4. KEY0
  39. WR_DIS.KEY1, EFUSE_BLK0, 24, 1, Write protection for EFUSE_BLK5. KEY1
  40. WR_DIS.KEY2, EFUSE_BLK0, 25, 1, Write protection for EFUSE_BLK6. KEY2
  41. WR_DIS.KEY3, EFUSE_BLK0, 26, 1, Write protection for EFUSE_BLK7. KEY3
  42. WR_DIS.KEY4, EFUSE_BLK0, 27, 1, Write protection for EFUSE_BLK8. KEY4
  43. WR_DIS.KEY5, EFUSE_BLK0, 28, 1, Write protection for EFUSE_BLK9. KEY5
  44. WR_DIS.SYS_DATA_PART2, EFUSE_BLK0, 29, 1, Write protection for EFUSE_BLK10. SYS_DATA_PART2
  45. # EFUSE_RD_REPEAT_DATA0_REG #
  46. RD_DIS, EFUSE_BLK0, 32, 7, Read protection
  47. RD_DIS.KEY0, EFUSE_BLK0, 32, 1, Read protection for EFUSE_BLK4. KEY0
  48. RD_DIS.KEY1, EFUSE_BLK0, 33, 1, Read protection for EFUSE_BLK5. KEY1
  49. RD_DIS.KEY2, EFUSE_BLK0, 34, 1, Read protection for EFUSE_BLK6. KEY2
  50. RD_DIS.KEY3, EFUSE_BLK0, 35, 1, Read protection for EFUSE_BLK7. KEY3
  51. RD_DIS.KEY4, EFUSE_BLK0, 36, 1, Read protection for EFUSE_BLK8. KEY4
  52. RD_DIS.KEY5, EFUSE_BLK0, 37, 1, Read protection for EFUSE_BLK9. KEY5
  53. RD_DIS.SYS_DATA_PART2, EFUSE_BLK0, 38, 1, Read protection for EFUSE_BLK10. SYS_DATA_PART2
  54. SWAP_UART_SDIO_EN, EFUSE_BLK0, 39, 1, Swap pad of uart and sdio.
  55. DIS_ICACHE, EFUSE_BLK0, 40, 1, Disable Icache
  56. DIS_USB_JTAG, EFUSE_BLK0, 41, 1, Disable USB JTAG
  57. DIS_DOWNLOAD_ICACHE, EFUSE_BLK0, 42, 1, Disable Icache in download mode
  58. DIS_USB_SERIAL_JTAG, EFUSE_BLK0, 43, 1, Disable USB_SERIAL_JTAG
  59. DIS_FORCE_DOWNLOAD, EFUSE_BLK0, 44, 1, Disable force chip go to download mode function
  60. DIS_SPI_DOWNLOAD_MSPI, EFUSE_BLK0, 45, 1, Represents whether the SPI0 controller is disabled in boot_mode_download
  61. DIS_TWAI, EFUSE_BLK0, 46, 1, Disable TWAI function
  62. JTAG_SEL_ENABLE, EFUSE_BLK0, 47, 1, Set this bit to enable selection between usb_to_jtag and pad_to_jtag through strapping gpio10 when both reg_dis_usb_jtag and reg_dis_pad_jtag are equal to 0.
  63. SOFT_DIS_JTAG, EFUSE_BLK0, 48, 3, Set these bits to soft disable JTAG (odd number 1 means disable). JTAG can be enabled in HMAC module.
  64. DIS_PAD_JTAG, EFUSE_BLK0, 51, 1, Hard disable JTAG. JTAG is disabled permanently.
  65. DIS_DOWNLOAD_MANUAL_ENCRYPT, EFUSE_BLK0, 52, 1, Disable flash encryption when in download boot modes.
  66. USB_EXCHG_PINS, EFUSE_BLK0, 57, 1, Exchange D+ D- pins
  67. VDD_SPI_AS_GPIO, EFUSE_BLK0, 58, 1, Set this bit to vdd spi pin function as gpio
  68. # EFUSE_RD_REPEAT_DATA1_REG #
  69. WDT_DELAY_SEL, EFUSE_BLK0, 80, 2, Select RTC WDT time out threshold
  70. SPI_BOOT_CRYPT_CNT, EFUSE_BLK0, 82, 3, SPI boot encrypt decrypt enable. odd number 1 enable. even number 1 disable
  71. SECURE_BOOT_KEY_REVOKE0, EFUSE_BLK0, 85, 1, Enable revoke first secure boot key
  72. SECURE_BOOT_KEY_REVOKE1, EFUSE_BLK0, 86, 1, Enable revoke second secure boot key
  73. SECURE_BOOT_KEY_REVOKE2, EFUSE_BLK0, 87, 1, Enable revoke third secure boot key
  74. KEY_PURPOSE_0, EFUSE_BLK0, 88, 4, Key0 purpose
  75. KEY_PURPOSE_1, EFUSE_BLK0, 92, 4, Key1 purpose
  76. # EFUSE_RD_REPEAT_DATA2_REG #
  77. KEY_PURPOSE_2, EFUSE_BLK0, 96, 4, Key2 purpose
  78. KEY_PURPOSE_3, EFUSE_BLK0, 100, 4, Key3 purpose
  79. KEY_PURPOSE_4, EFUSE_BLK0, 104, 4, Key4 purpose
  80. KEY_PURPOSE_5, EFUSE_BLK0, 108, 4, Key5 purpose
  81. SEC_DPA_LEVEL, EFUSE_BLK0, 112, 2, Configures the clock random divide mode to determine the DPA security level
  82. CRYPT_DPA_ENABLE, EFUSE_BLK0, 115, 1, Represents whether defense against DPA attack is enabled
  83. SECURE_BOOT_EN, EFUSE_BLK0, 116, 1, Secure boot enable
  84. SECURE_BOOT_AGGRESSIVE_REVOKE, EFUSE_BLK0, 117, 1, Enable aggressive secure boot revoke
  85. FLASH_TPUW, EFUSE_BLK0, 124, 4, Flash wait time after power up. (unit is ms). When value is 15. the time is 30 ms
  86. # EFUSE_RD_REPEAT_DATA3_REG #
  87. DIS_DOWNLOAD_MODE, EFUSE_BLK0, 128, 1, Disble download mode include boot_mode[3:0] is 0 1 2 3 6 7
  88. DIS_DIRECT_BOOT, EFUSE_BLK0, 129, 1, Disable direct boot mode
  89. DIS_USB_SERIAL_JTAG_ROM_PRINT, EFUSE_BLK0, 130, 1, Represents whether print from USB-Serial-JTAG during ROM boot is disabled
  90. DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE, EFUSE_BLK0, 132, 1, Represents whether the USB-Serial-JTAG download func- tion is disabled
  91. ENABLE_SECURITY_DOWNLOAD, EFUSE_BLK0, 133, 1, Enable secure download mode
  92. UART_PRINT_CONTROL, EFUSE_BLK0, 134, 2, b00:force print. b01:control by GPIO8 - low level print. b10:control by GPIO8 - high level print. b11:force disable print.
  93. FORCE_SEND_RESUME, EFUSE_BLK0, 141, 1, Force ROM code to send a resume command during SPI boot
  94. SECURE_VERSION, EFUSE_BLK0, 142, 16, Secure version for anti-rollback
  95. SECURE_BOOT_DISABLE_FAST_WAKE, EFUSE_BLK0, 158, 1, Represents whether FAST VERIFY ON WAKE is disabled or enabled when Secure Boot is enabled
  96. # EFUSE_RD_REPEAT_DATA4_REG #
  97. DISABLE_WAFER_VERSION_MAJOR, EFUSE_BLK0, 160, 1, Disables check of wafer version major
  98. DISABLE_BLK_VERSION_MAJOR, EFUSE_BLK0, 161, 1, Disables check of blk version major
  99. # MAC_SYS_VERSION BLOCK #
  100. #######################
  101. MAC_FACTORY, EFUSE_BLK1, 40, 8, Factory MAC addr [0]
  102. , EFUSE_BLK1, 32, 8, Factory MAC addr [1]
  103. , EFUSE_BLK1, 24, 8, Factory MAC addr [2]
  104. , EFUSE_BLK1, 16, 8, Factory MAC addr [3]
  105. , EFUSE_BLK1, 8, 8, Factory MAC addr [4]
  106. , EFUSE_BLK1, 0, 8, Factory MAC addr [5]
  107. MAC_EXT, EFUSE_BLK1, 48, 8, Extend MAC addr [0]
  108. , EFUSE_BLK1, 56, 8, Extend MAC addr [1]
  109. WAFER_VERSION_MINOR, EFUSE_BLK1, 114, 3, WAFER_VERSION_MINOR least significant bits
  110. , EFUSE_BLK1, 183, 1, WAFER_VERSION_MINOR most significant bit
  111. # WAFER_VERSION_MINOR most significant bit is from RD_MAC_SPI_SYS_5
  112. PKG_VERSION, EFUSE_BLK1, 117, 3, Package version 0:ESP32C3
  113. BLK_VERSION_MINOR, EFUSE_BLK1, 120, 3, BLK_VERSION_MINOR
  114. # SYS_DATA_PART1 BLOCK# - System configuration (TODO: IDF-6483) #
  115. #######################
  116. # RD_SYS_PART1_DATA0 - rd_sys_part1_data3
  117. OPTIONAL_UNIQUE_ID, EFUSE_BLK2, 0, 128, Optional unique 128-bit ID
  118. # RD_SYS_PART1_DATA4
  119. BLK_VERSION_MAJOR, EFUSE_BLK2, 128, 2, BLK_VERSION_MAJOR of BLOCK2
  120. TEMP_CALIB, EFUSE_BLK2, 131, 9, Temperature calibration data
  121. OCODE, EFUSE_BLK2, 140, 8, ADC OCode
  122. ADC1_INIT_CODE_ATTEN0, EFUSE_BLK2, 148, 10, ADC1 init code at atten0
  123. ADC1_INIT_CODE_ATTEN1, EFUSE_BLK2, 158, 10, ADC1 init code at atten1
  124. # RD_SYS_PART1_DATA5
  125. ADC1_INIT_CODE_ATTEN2, EFUSE_BLK2, 168, 10, ADC1 init code at atten2
  126. ADC1_INIT_CODE_ATTEN3, EFUSE_BLK2, 178, 10, ADC1 init code at atten3
  127. ADC1_CAL_VOL_ATTEN0, EFUSE_BLK2, 188, 10, ADC1 calibration voltage at atten0
  128. ADC1_CAL_VOL_ATTEN1, EFUSE_BLK2, 198, 10, ADC1 calibration voltage at atten1
  129. ADC1_CAL_VOL_ATTEN2, EFUSE_BLK2, 208, 10, ADC1 calibration voltage at atten2
  130. ADC1_CAL_VOL_ATTEN3, EFUSE_BLK2, 218, 10, ADC1 calibration voltage at atten3
  131. ################
  132. USER_DATA, EFUSE_BLK3, 0, 256, User data
  133. USER_DATA.MAC_CUSTOM, EFUSE_BLK3, 200, 48, Custom MAC
  134. ################
  135. KEY0, EFUSE_BLK4, 0, 256, Key0 or user data
  136. KEY1, EFUSE_BLK5, 0, 256, Key1 or user data
  137. KEY2, EFUSE_BLK6, 0, 256, Key2 or user data
  138. KEY3, EFUSE_BLK7, 0, 256, Key3 or user data
  139. KEY4, EFUSE_BLK8, 0, 256, Key4 or user data
  140. KEY5, EFUSE_BLK9, 0, 256, Key5 or user data
  141. SYS_DATA_PART2, EFUSE_BLK10, 0, 256, System configuration
  142. # AUTO CONFIG DIG&RTC DBIAS (TODO: IDF-6483)#
  143. ################
  144. K_RTC_LDO, EFUSE_BLK1, 135, 7, BLOCK1 K_RTC_LDO
  145. K_DIG_LDO, EFUSE_BLK1, 142, 7, BLOCK1 K_DIG_LDO
  146. V_RTC_DBIAS20, EFUSE_BLK1, 149, 8, BLOCK1 voltage of rtc dbias20
  147. V_DIG_DBIAS20, EFUSE_BLK1, 157, 8, BLOCK1 voltage of digital dbias20
  148. DIG_DBIAS_HVT, EFUSE_BLK1, 165, 5, BLOCK1 digital dbias when hvt
  149. THRES_HVT, EFUSE_BLK1, 170, 10, BLOCK1 pvt threshold when hvt