File tree Expand file tree Collapse file tree 2 files changed +23
-3
lines changed Expand file tree Collapse file tree 2 files changed +23
-3
lines changed Original file line number Diff line number Diff line change @@ -25,6 +25,10 @@ class ESP32C5ROM(ESP32C6ROM):
2525
2626 EFUSE_RD_REG_BASE = EFUSE_BASE + 0x030 # BLOCK0 read base address
2727
28+ EFUSE_FORCE_USE_KEY_MANAGER_KEY_REG = EFUSE_BASE + 0x34
29+ EFUSE_FORCE_USE_KEY_MANAGER_KEY_SHIFT = 10
30+ FORCE_USE_KEY_MANAGER_VAL_XTS_AES_KEY = 2
31+
2832 EFUSE_PURPOSE_KEY0_REG = EFUSE_BASE + 0x34
2933 EFUSE_PURPOSE_KEY0_SHIFT = 22
3034 EFUSE_PURPOSE_KEY1_REG = EFUSE_BASE + 0x34
@@ -192,7 +196,13 @@ def is_flash_encryption_key_valid(self):
192196 self .get_key_block_purpose (b ) for b in range (self .EFUSE_MAX_KEY + 1 )
193197 ]
194198
195- return any (p == self .PURPOSE_VAL_XTS_AES128_KEY for p in purposes )
199+ if any (p == self .PURPOSE_VAL_XTS_AES128_KEY for p in purposes ):
200+ return True
201+
202+ return (
203+ self .read_reg (self .EFUSE_FORCE_USE_KEY_MANAGER_KEY_REG )
204+ >> self .EFUSE_FORCE_USE_KEY_MANAGER_KEY_SHIFT
205+ ) & self .FORCE_USE_KEY_MANAGER_VAL_XTS_AES_KEY
196206
197207 def check_spi_connection (self , spi_connection ):
198208 if not set (spi_connection ).issubset (set (range (0 , 29 ))):
Original file line number Diff line number Diff line change @@ -43,6 +43,10 @@ class ESP32P4ROM(ESP32ROM):
4343
4444 EFUSE_RD_REG_BASE = EFUSE_BASE + 0x030 # BLOCK0 read base address
4545
46+ EFUSE_FORCE_USE_KEY_MANAGER_KEY_REG = EFUSE_BASE + 0x34
47+ EFUSE_FORCE_USE_KEY_MANAGER_KEY_SHIFT = 9
48+ FORCE_USE_KEY_MANAGER_VAL_XTS_AES_KEY = 2
49+
4650 EFUSE_PURPOSE_KEY0_REG = EFUSE_BASE + 0x34
4751 EFUSE_PURPOSE_KEY0_SHIFT = 24
4852 EFUSE_PURPOSE_KEY1_REG = EFUSE_BASE + 0x34
@@ -216,9 +220,15 @@ def is_flash_encryption_key_valid(self):
216220 if any (p == self .PURPOSE_VAL_XTS_AES128_KEY for p in purposes ):
217221 return True
218222
219- return any (p == self .PURPOSE_VAL_XTS_AES256_KEY_1 for p in purposes ) and any (
223+ if any (p == self .PURPOSE_VAL_XTS_AES256_KEY_1 for p in purposes ) and any (
220224 p == self .PURPOSE_VAL_XTS_AES256_KEY_2 for p in purposes
221- )
225+ ):
226+ return True
227+
228+ return (
229+ self .read_reg (self .EFUSE_FORCE_USE_KEY_MANAGER_KEY_REG )
230+ >> self .EFUSE_FORCE_USE_KEY_MANAGER_KEY_SHIFT
231+ ) & self .FORCE_USE_KEY_MANAGER_VAL_XTS_AES_KEY
222232
223233 def change_baud (self , baud ):
224234 ESPLoader .change_baud (self , baud )
You can’t perform that action at this time.
0 commit comments