
    :)di                         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ddfedddfedddfedddfeddd fedd!d"fedd#d$fedd%d&fedd'd(fedddfed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_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     m/var/www/menimich/repos/protonApp/venv/lib/python3.11/site-packages/espefuse/efuse/esp32h21/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t4	sAq)	sAq)	sAr*	sB+	sB+	sB+	sB+	sB+	sAq)	sAq)L   $77 #'99 "55 Oo-OOOrC   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blkrw   s        rD   get_burn_block_data_namesz+EfuseDefineBlocks.get_burn_block_data_namese   s    [ 	0 	0E((5//Cx /$$SX...y 0 Y 0 0E!((////rC   )
r   r   r   r	   r!    _EfuseDefineBlocks__base_rd_regsr"    _EfuseDefineBlocks__base_wr_regsrs   r|   rB   rC   rD   rF   rF   P   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 	 	 	 	 	rC   rF   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        |<   |t/                      }
d|
_        d	|
_        d
|
_        d|
j        dz   |
_        d|
_        d|
_        d|
_        | j                            |
           | j        D ]}	|	| j                             |	           g | _        d S )Nz.yaml
efuse_defs)rQ   rU   rY   r^   rc   rh   rk   rn   rQ      zbytes:32calibration	MAC_EUI64r   @   zbytes:r   MACmaczPcalc MAC_EUI64 = MAC[0]:MAC[1]:MAC[2]:MAC_EXT[0]:MAC_EXT[1]:MAC[3]:MAC[4]:MAC[5])EFUSES	KEYBLOCKSBLOCK2_CALIBRATION_EFUSESCALCospathdirnameabspath__file__splitjoinopenyaml	safe_loadsuper__init__	enumerate
ALL_EFUSESru   bit_lentyperv   categoryr   rz   
class_typedescription)rx   extend_efuse_tabledir_name	file_name_
efuse_filer_filee_desciefusef	__class__s              rD   r   zEfuseDefineFields.__init__r   sY   )+&	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<<<%)"GG	*!)q.**
j	_ 	* 	*E ""5)))s   C::C>C>)r   N)r   r   r   r   __classcell__)r   s   @rD   r   r   q   s=        3 3 3 3 3 3 3 3 3 3rC   r   )
r   r   mem_definition_baser   r   r   r   r	   rF   r   rB   rC   rD   <module>r      s    
			            :. :. :. :. :.- :. :. :.z       B4 4 4 4 4 4 4 4 4 4rC   