
    :)diT                         d dl Z d dlZd dlZddlmZmZmZmZ  G d de          Z G d de          Z	 G d d	e          Z
dS )
    N   )EfuseBlocksBaseEfuseFieldsBaseEfuseRegistersBaseFieldc                       e Zd ZdZdZedz   ZdZdZedz   ZdZ	dZ
d	Zed
z   ZdZdZdZedz   Zedz   ZdZdZdZddddZdZedz   Zd	ZdZedz   ZdZedz   ZdZdS )EfuseDefineRegistersi   i ?   iZZ  iZ  i     r      i  i     i        i   )   r   4   )   r   P   )r      d   )   (   r   i `?|         i      i   N)__name__
__module____qualname__EFUSE_MEM_SIZEDR_REG_EFUSE_BASEEFUSE_REG_CONFEFUSE_CONF_WRITEEFUSE_CONF_READEFUSE_REG_CMDEFUSE_CMD_OP_MASKEFUSE_CMD_WRITEEFUSE_CMD_READEFUSE_REG_DEC_STATUSEFUSE_REG_DEC_STATUS_MASKEFUSE_CODING_SCHEME_WORDEFUSE_CODING_SCHEME_MASKEFUSE_DAC_CONF_REGEFUSE_CLK_REGEFUSE_DAC_CLK_DIV_MASKEFUSE_CLK_SEL0_MASKEFUSE_CLK_SEL1_MASKEFUSE_CLK_SETTINGSDR_REG_SYSCON_BASEAPB_CTL_DATE_ADDRAPB_CTL_DATE_VAPB_CTL_DATE_SEFUSE_BLK0_RDATA3_REGEFUSE_RD_CHIP_VER_REV1EFUSE_BLK0_RDATA5_REGEFUSE_RD_CHIP_VER_REV2     j/var/www/menimich/repos/protonApp/venv/lib/python3.11/site-packages/espefuse/efuse/esp32/mem_definition.pyr	   r	      s        N #&.NO%-MON -u4 %  !" +U2%-M!     $*T1NN-5$-5$r;   r	   c                       e Zd Zej        Zdg dedz   edz   ddddf	ddgded	z   ed
z   ddddf	dddgdedz   edz   ddddf	dg dedz   edz   ddddf	gZd ZdS )EfuseDefineBlocksBLOCK0r      N   BLOCK1flash_encryptionr   8         BLOCK2secure_boot_v1secure_boot_v2r   X      BLOCK3r   x      	   c                     g }| j         D ]8}|                     |          }|j        r|                    |j                   9|S )N)BLOCKSgetnameappend)selflist_of_namesblockblks       r<   get_burn_block_data_namesz+EfuseDefineBlocks.get_burn_block_data_namesR   sN    [ 	/ 	/E((5//Cx /$$SX...r;   )r   r   r   r	   r    _EfuseDefineBlocks__base_regsrQ   rY   r:   r;   r<   r>   r>   E   s        &8K
 
bauATVadiVikoquwxz~	)*auATVadiViklqrwxz~	')9:auATVadiViklqrwxz~	bauATVadiViklqrwxz~F    r;   r>   c                         e Zd Zd fdZ xZS )EfuseDefineFieldsreturnNc                    g | _         g | _        g | _        g | _        g | _        g | _        t          j                            t          j        	                    t                              }t          j                            |          \  }}|dz   }t          j                            |          \  }}t          j                            |d|          }t          |           5 }t          j        |          }d d d            n# 1 swxY w Y   t!                                          ||           t%          | j                  D ]\  }}	|	j        dk    s|	j        dk    ra| j                            |	           t-          j        |	          }
d|
_        d|
_        | j                            |
           d | j        |<   }|	j        dk    rt-          j        |	          }d|_        d	|_        d
|_        d
|_        d|_        d|_        d|_        d|_        d|_        | j                            |           t-          j        |          }d|_        d|_        | j                            |           3|	j        dk    r1|	j        d	k    r&| j                            |	           d | j        |<   o|	j        dv r&| j                            |	           d | j        |<   |	j        dk    rd|	_        tA                      }d|_        d
|_        d	|_        d|j         |_        d|_        d|_        d|_        | j                            |           tA                      }d|_        d
|_        d|_        d|j         |_        d|_        d|_        d|_        | j                            |           | j        D ]}	|	| j                             |	           g | _        d S )Nz.yaml
efuse_defsrB   rG   zbytes:24   MAC_VERSIONrL   r   r      zbytes:32securitykeyblockzVariable Block 3calibration)CUSTOM_MAC_CRC
CUSTOM_MACzspi padspipinWAFER_VERSION_MAJORzuint:identitywaferzZcalc WAFER VERSION MAJOR from CHIP_VER_REV1 and CHIP_VER_REV2 and apb_ctl_date (read only)PKG_VERSION   pkgzEcalc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_PACKAGE (read only))!EFUSESrg   KEYBLOCKS_256KEYBLOCKS_192ADC_CALIBRATIONCALCospathdirnameabspath__file__splitjoinopenyaml	safe_loadsuper__init__	enumerate
ALL_EFUSESrS   rT   copydeepcopytypebit_lenrW   wordposcategory
class_typedescriptionr   )rU   extend_efuse_tabledir_name	file_name_
efuse_filer_filee_desciefuseBLOCKrL   f	__class__s                r<   r   zEfuseDefineFields.__init__\   s   !	7??27??8#<#<== gmmH55)'	gmmH--!W\\(L)DD
Z/"" 	,f^F++F	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,!3444!$/22 %	, %	,HAuzX%%x)?)?"))%000e,,'
 &"))%000%)""},,u--& 
!'(",$.!%7""))&111v..(!'"))&1111=00U[A5E5E$++E222%)""???&&u---%)""9,,#+ GG&	$$$
t	GG	$$$
S 	
 		_ 	* 	*E ""5)))s   'DDD)r]   N)r   r   r   r   __classcell__)r   s   @r<   r\   r\   [   sG        W W W W W W W W W Wr;   r\   )r   rt   r|   mem_definition_baser   r   r   r   r	   r>   r\   r:   r;   r<   <module>r      s     				            .% .% .% .% .%- .% .% .%b       ,X X X X X X X X X Xr;   