
    :)diZ                         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Zedz   Zedz   Zedz   Zedz   Z	edz   Z
edz   Zed	z   Zed
z   Zedz   Zedz   Zedz   Zedz   Zedz   Zedz   Zedz   Zedz   Zedz   ZdZdZdZdZdZedfedfedfedfedfedfedfed fedfedfedfgZeddfedd!fedd"fedd#fedd$fedd%fedd&fedd'fedd(fedd!fedd"fgZd!Zd)ez  Zd#Z d)e z  Z!d!Z"d*e"z  Z#d+Z$d*e$z  Z%dS ),EfuseDefineRegistersi   i  `    i  i  i  i  i  i  i|  i  i  i  i  i  i  i  i  i  iZZ  iZ     r      N                     r                        i     	   )&__name__
__module____qualname__EFUSE_MEM_SIZEDR_REG_EFUSE_BASEEFUSE_PGM_DATA0_REGEFUSE_CHECK_VALUE0_REGEFUSE_CLK_REGEFUSE_CONF_REGEFUSE_STATUS_REGEFUSE_CMD_REGEFUSE_RD_RS_ERR0_REGEFUSE_RD_RS_ERR1_REGEFUSE_RD_REPEAT_ERR0_REGEFUSE_RD_REPEAT_ERR1_REGEFUSE_RD_REPEAT_ERR2_REGEFUSE_RD_REPEAT_ERR3_REGEFUSE_RD_REPEAT_ERR4_REGEFUSE_DAC_CONF_REGEFUSE_RD_TIM_CONF_REGEFUSE_WR_TIM_CONF1_REGEFUSE_WR_TIM_CONF2_REGEFUSE_DATE_REGEFUSE_WRITE_OP_CODEEFUSE_READ_OP_CODEEFUSE_PGM_CMD_MASKEFUSE_PGM_CMDEFUSE_READ_CMDBLOCK_FAIL_BITBLOCK_NUM_ERRORSEFUSE_PWR_OFF_NUM_SEFUSE_PWR_OFF_NUM_MEFUSE_PWR_ON_NUM_SEFUSE_PWR_ON_NUM_MEFUSE_DAC_CLK_DIV_SEFUSE_DAC_CLK_DIV_MEFUSE_DAC_NUM_SEFUSE_DAC_NUM_M     l/var/www/menimich/repos/protonApp/venv/lib/python3.11/site-packages/espefuse/efuse/esp32c3/mem_definition.pyr	   r	      s       N #+.6%-M&.N(50%-M,u4,u4058058058058058*U2-5.6.6&.N MN
 
"4(	q!	r"	r"	r"	r"	r"	r"	q!	q!	t$N" 
"4.	sA&	sA&	sA&	sB'	sB'	sB'	sB'	sB'	sA&	sA&   $77 #'99 "55 Oo-OOOrD   r	   c                   f   e Zd Zej        Zej        Zdg dedz   eddddf	ddgded	z   ed
dddf	ddgdedz   eddddf	ddgdedz   eddddf	ddgdedz   eddddf	ddgdedz   ed ddd!f	d"d#gded$z   ed%ddd&f	d'd(gd)ed*z   ed+ddd,f	d-d.gded/z   ed0ddd1f	d2d3gd4ed5z   ed6ddd7f	d8d9gd:ed;z   ed<dddf	gZd= Z	dS )>EfuseDefineBlocksBLOCK0r   ,   N   MAC_SPI_8M_0BLOCK1r   D   r   BLOCK_SYS_DATABLOCK2r   \      r   BLOCK_USR_DATABLOCK3r   |      
BLOCK_KEY0BLOCK4r      r   KEY_PURPOSE_0
BLOCK_KEY1BLOCK5      r   KEY_PURPOSE_1
BLOCK_KEY2BLOCK6      KEY_PURPOSE_2
BLOCK_KEY3BLOCK7r         KEY_PURPOSE_3
BLOCK_KEY4BLOCK8i  r   KEY_PURPOSE_4
BLOCK_KEY5BLOCK9r   i<  r   KEY_PURPOSE_5BLOCK_SYS_DATA2BLOCK10
   i\     c                     g }| j         D ]^}|                     |          }|j        r|                    |j                   |j        r|j        D ]}|                    |           _|S )N)BLOCKSgetnameappendalias)selflist_of_namesblockblkrx   s        rE   get_burn_block_data_namesz+EfuseDefineBlocks.get_burn_block_data_namesu   s    [ 	0 	0E((5//Cx /$$SX...y 0 Y 0 0E!((////rD   )
r   r   r   r	   r!    _EfuseDefineBlocks__base_rd_regsr"    _EfuseDefineBlocks__base_wr_regsrt   r}   rC   rD   rE   rG   rG   `   s       );N)=N
 
B^e-C^UY[_abdhi	XJ^e-C^UW[_abdhi	XJ^e-C^UW[_abdhi	XJ^e-C^UW[_abdhi	XJ^e-C^UW[\abdst	XJ^e-C^UW[\abdst	XJ^e-C^UW[\abdst	XJ^e-C^UW[\abdst	XJ^e-C^UW[\abdst	XJ^e-C^UW[\abdst	YK^e-C^UW[\abdhiF 	 	 	 	 	rD   rG   c                         e Zd Zd fdZ xZS )EfuseDefineFieldsreturnNc                    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v r>|	j        dk    rd|	_        d|	_        | j                            |	           d | j        |<   L|	j        dk    r%| j                            |	           d | j        |<   ||	j        dk    r
d | j        |<   t/                      }
d	|
_        d
|
_        d|
_        d|
j         |
_        d|
_        d|
_        d|
_        | j                            |
           | j        D ]}	|	| j                             |	           g | _        d S )Nz.yaml
efuse_defs)rR   rV   rZ   r_   rd   ri   rl   ro   rR      zbytes:32calibrationJTAG_SEL_ENABLEWAFER_VERSION_MINORr   r   zuint:identitywaferz[calc WAFER VERSION MINOR = WAFER_VERSION_MINOR_HI << 3 + WAFER_VERSION_MINOR_LO (read only))EFUSES	KEYBLOCKSBLOCK2_CALIBRATION_EFUSESCALCospathdirnameabspath__file__splitjoinopenyaml	safe_loadsuper__init__	enumerate
ALL_EFUSESrv   bit_lentyperw   categoryr   r{   
class_typedescription)ry   extend_efuse_tabledir_name	file_name_
efuse_filer_filee_desciefusef	__class__s              rE   r   zEfuseDefineFields.__init__   st   )+&	7??27??8#<#<== gmmH55)'	gmmH--!W\\(L)DD
Z/"" 	,f^F++F	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,!3444!$/22 	* 	*HAuz 	 	 	 :!111$'EM!+EJ%%e,,,%)""=00.55e<<<%)"" 000%)"GG&	$$$
u	_ 	* 	*E ""5)))s   C::C>C>)r   N)r   r   r   r   __classcell__)r   s   @rE   r   r      s=        7 7 7 7 7 7 7 7 7 7rD   r   )
r   r   mem_definition_baser   r   r   r   r	   rG   r   rC   rD   rE   <module>r      s    
			            J. J. J. J. J.- J. J. J.Z       B8 8 8 8 8 8 8 8 8 8rD   