Skip to content

Commit 40f103c

Browse files
KonstantinKondrashovradimkarnis
authored andcommitted
feat(espefuse): Support ESP32-P4 ECO5 (v3.0)
1 parent 8f21f43 commit 40f103c

File tree

3 files changed

+139
-2
lines changed

3 files changed

+139
-2
lines changed

espefuse/efuse/esp32p4/fields.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,10 @@ def __init__(
6666
):
6767
super().__init__(esp, skip_connect, debug, do_not_confirm, extend_efuse_table)
6868
self.Blocks = EfuseDefineBlocks()
69-
self.Fields = EfuseDefineFields(extend_efuse_table)
69+
chip_revision = 300 if skip_connect else esp.get_chip_revision()
70+
revision_file = "esp32p4_v3.0" if chip_revision >= 300 else None
71+
log.print(f"Loading eFuses for {esp.CHIP_NAME} v{chip_revision / 100:.1f}...")
72+
self.Fields = EfuseDefineFields(extend_efuse_table, revision=revision_file)
7073
self.REGS = EfuseDefineRegisters
7174
self.BURN_BLOCK_DATA_NAMES = self.Blocks.get_burn_block_data_names()
7275
self.BLOCKS_FOR_KEYS = self.Blocks.get_blocks_for_keys()

espefuse/efuse/esp32p4/mem_definition.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def get_burn_block_data_names(self):
111111

112112

113113
class EfuseDefineFields(EfuseFieldsBase):
114-
def __init__(self, extend_efuse_table) -> None:
114+
def __init__(self, extend_efuse_table, revision=None) -> None:
115115
# List of efuse fields from TRM the chapter eFuse Controller.
116116
self.EFUSES = []
117117
self.KEYBLOCKS = []
@@ -120,6 +120,8 @@ def __init__(self, extend_efuse_table) -> None:
120120

121121
dir_name = os.path.dirname(os.path.abspath(__file__))
122122
dir_name, file_name = os.path.split(dir_name)
123+
if revision is not None:
124+
file_name = revision
123125
file_name = file_name + ".yaml"
124126
dir_name, _ = os.path.split(dir_name)
125127
efuse_file = os.path.join(dir_name, "efuse_defs", file_name)

0 commit comments

Comments
 (0)