Lines Matching full:efuses

1 # This file includes the operations with eFuses for ESP32S2 chip
53 def add_commands(subparsers, efuses): argument
54 add_common_commands(subparsers, efuses)
65 choices=efuses.BLOCKS_FOR_KEYS,
79 for _ in efuses.BLOCKS_FOR_KEYS:
86 choices=efuses.BLOCKS_FOR_KEYS,
116 choices=efuses.BLOCKS_FOR_KEYS,
130 for _ in efuses.BLOCKS_FOR_KEYS:
137 choices=efuses.BLOCKS_FOR_KEYS,
172 type=fields.base_fields.CheckArgValue(efuses, "CUSTOM_MAC"),
179 def burn_custom_mac(esp, efuses, args): argument
180 efuses["CUSTOM_MAC"].save(args.mac)
181 if not efuses.burn_all(check_batch_mode=True):
183 get_custom_mac(esp, efuses, args)
187 def get_custom_mac(esp, efuses, args): argument
188 print("Custom MAC Address: {}".format(efuses["CUSTOM_MAC"].get()))
191 def set_flash_voltage(esp, efuses, args): argument
192 sdio_force = efuses["VDD_SPI_FORCE"]
193 sdio_tieh = efuses["VDD_SPI_TIEH"]
194 sdio_reg = efuses["VDD_SPI_XPD"]
196 # check efuses aren't burned in a way which makes this impossible
217 "The following efuses are burned: VDD_SPI_FORCE, VDD_SPI_XPD.\n"
222 "The following efuses are burned: VDD_SPI_FORCE, VDD_SPI_XPD, VDD_SPI_TIEH."
232 if not efuses.burn_all(check_batch_mode=True):
237 def adc_info(esp, efuses, args): argument
240 if efuses["BLK_VERSION_MINOR"].get() == 1:
241 print("Temperature Sensor Calibration = {}C".format(efuses["TEMP_CALIB"].get()))
242 print("TADC_CALIB = {}C".format(efuses["ADC_CALIB"].get()))
243 print("RTCCALIB_V1IDX_A10H = ", efuses["RTCCALIB_V1IDX_A10H"].get())
244 print("RTCCALIB_V1IDX_A11H = ", efuses["RTCCALIB_V1IDX_A11H"].get())
245 print("RTCCALIB_V1IDX_A12H = ", efuses["RTCCALIB_V1IDX_A12H"].get())
246 print("RTCCALIB_V1IDX_A13H = ", efuses["RTCCALIB_V1IDX_A13H"].get())
247 print("RTCCALIB_V1IDX_A20H = ", efuses["RTCCALIB_V1IDX_A20H"].get())
248 print("RTCCALIB_V1IDX_A21H = ", efuses["RTCCALIB_V1IDX_A21H"].get())
249 print("RTCCALIB_V1IDX_A22H = ", efuses["RTCCALIB_V1IDX_A22H"].get())
250 print("RTCCALIB_V1IDX_A23H = ", efuses["RTCCALIB_V1IDX_A23H"].get())
251 print("RTCCALIB_V1IDX_A10L = ", efuses["RTCCALIB_V1IDX_A10L"].get())
252 print("RTCCALIB_V1IDX_A11L = ", efuses["RTCCALIB_V1IDX_A11L"].get())
253 print("RTCCALIB_V1IDX_A12L = ", efuses["RTCCALIB_V1IDX_A12L"].get())
254 print("RTCCALIB_V1IDX_A13L = ", efuses["RTCCALIB_V1IDX_A13L"].get())
255 print("RTCCALIB_V1IDX_A20L = ", efuses["RTCCALIB_V1IDX_A20L"].get())
256 print("RTCCALIB_V1IDX_A21L = ", efuses["RTCCALIB_V1IDX_A21L"].get())
257 print("RTCCALIB_V1IDX_A22L = ", efuses["RTCCALIB_V1IDX_A22L"].get())
258 print("RTCCALIB_V1IDX_A23L = ", efuses["RTCCALIB_V1IDX_A23L"].get())
260 print("BLK_VERSION_MINOR = ", efuses["BLK_VERSION_MINOR"].get_meaning())
277 def get_next_key_block(efuses, current_key_block, block_name_list): argument
278 key_blocks = [b for b in efuses.blocks if b.key_purpose_name]
288 key_purpose_block = efuses[block.key_purpose_name]
295 def split_512_bit_key(efuses, block_name_list, datafile_list, keypurpose_list): argument
299 block_num = efuses.get_index_block_by_name(block_name)
300 block = efuses.blocks[block_num]
308 key_block_2 = get_next_key_block(efuses, block, block_name_list)
325 def burn_key(esp, efuses, args, digest=None): argument
332 efuses.force_write_always = args.force_write_always
343 split_512_bit_key(efuses, block_name_list, datafile_list, keypurpose_list)
360 for block in efuses.blocks:
362 efuse = efuses[block.name]
367 block_num = efuses.get_index_block_by_name(block_name)
368 block = efuses.blocks[block_num]
377 if efuses[block.key_purpose_name].need_reverse(keypurpose):
395 if efuses[block.key_purpose_name].need_rd_protect(keypurpose):
406 if efuses[block.key_purpose_name].get() != keypurpose:
407 if efuses[block.key_purpose_name].is_writeable():
412 efuses[block.key_purpose_name].get(),
416 efuses[block.key_purpose_name].save(keypurpose)
426 if efuses[block.key_purpose_name].is_writeable():
431 efuses[block.key_purpose_name].disable_write()
447 if not efuses.burn_all(check_batch_mode=True):
452 def burn_key_digest(esp, efuses, args): argument
462 for block in efuses.blocks:
464 efuse = efuses[block.name]
475 burn_key(esp, efuses, args, digest=digest_list)
478 def espefuse(esp, efuses, args, command): argument
481 add_commands(subparsers, efuses)
500 operation_func(esp, efuses, cmd_line_args)
503 def execute_scripts(esp, efuses, args): argument
504 efuses.batch_mode_cnt += 1
514 for block in efuses.blocks:
518 efuses.batch_mode_cnt -= 1
519 if not efuses.burn_all(check_batch_mode=True):