
    :)dib                         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 P    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     l/var/www/menimich/repos/protonApp/venv/lib/python3.11/site-packages/espefuse/efuse/esp32p4/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blkrx   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_regsrt   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d fdZ xZS )EfuseDefineFieldsNreturnc                    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|_        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WAFER_VERSION_MAJORr   r   zuint:identitywaferz`calc WAFER VERSION MAJOR from (WAFER_VERSION_MAJOR_HI << 2) + WAFER_VERSION_MAJOR_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revisiondir_name	file_name_
efuse_filer_filee_desciefusef	__class__s               rD   r   zEfuseDefineFields.__init__r   s`   )+&	7??27??8#<#<== gmmH55) I'	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&	$$$
z	_ 	* 	*E ""5)))s   C>>DDrs   )r   N)r   r   r   r   __classcell__)r   s   @rD   r   r   q   sB        5 5 5 5 5 5 5 5 5 5 5rC   r   )
r   r   mem_definition_baser   r   r   r   r	   rF   r   rB   rC   rD   <module>r      s    
			            :. :. :. :. :.- :. :. :.z       B6 6 6 6 6 6 6 6 6 6rC   