
    :)di                         d dl Z d dlZd dlZddl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EfuseRegistersBasec                      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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gZedz   ZdZdez  Zedz   ZdZdez  Zedz   ZdZdez  Zedz   ZdZdez  ZdZdez  Z dS )EfuseDefineRegistersi   i  `                      iZZ  iZ     r      N   r            i  i  i     i  i  	   )!__name__
__module____qualname__EFUSE_MEM_SIZEDR_REG_EFUSE_BASEEFUSE_PGM_DATA0_REGEFUSE_PGM_CHECK_VALUE0_REGEFUSE_CLK_REGEFUSE_CONF_REGEFUSE_STATUS_REGEFUSE_CMD_REGEFUSE_RD_REPEAT_ERR_REGEFUSE_RD_RS_ERR_REGEFUSE_WRITE_OP_CODEEFUSE_READ_OP_CODEEFUSE_PGM_CMD_MASKEFUSE_PGM_CMDEFUSE_READ_CMDBLOCK_ERRORSEFUSE_WR_TIM_CONF2_REGEFUSE_PWR_OFF_NUM_SEFUSE_PWR_OFF_NUM_MEFUSE_WR_TIM_CONF0_REGEFUSE_TPGM_INACTIVE_SEFUSE_TPGM_INACTIVE_MEFUSE_WR_TIM_CONF1_REGEFUSE_PWR_ON_NUM_SEFUSE_PWR_ON_NUM_MEFUSE_DAC_CONF_REG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/esp32c2/mem_definition.pyr   r      sG       N #+!2U!:%,M&-N(4/%,M/$6+d2 MN 
!$d3	c1a(	c1a(	c1b)L /6 $77.6 $99.6#'99*U2"55 Oo-OOOr:   r   c                       e Zd Zej        Zej        Z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gddf	gZd Z	d Z
dS )EfuseDefineBlocksBLOCK0r   ,   Nr   BLOCK1r   4      r   BLOCK2@      r   
BLOCK_KEY0BLOCK3`   r   c                     g }| j         D ]^}|                     |          }|j        r|                    |j                   |j        r|j        D ]}|                    |           _|S )N)BLOCKSgetnameappendalias)selflist_of_namesblockblkrN   s        r;   get_burn_block_data_namesz+EfuseDefineBlocks.get_burn_block_data_namesQ   s    [ 	0 	0E((5//Cx /$$SX...y 0 Y 0 0E!((////r:   c                     dgS )NrF   r9   )rO   s    r;   get_blocks_for_keysz%EfuseDefineBlocks.get_blocks_for_keys\   s
    ~r:   )r   r   r   r   r    _EfuseDefineBlocks__base_rd_regsr    _EfuseDefineBlocks__base_wr_regsrJ   rS   rU   r9   r:   r;   r=   r=   C   s        );N)=N
 
XJ^e-C^W[jn|}  BF  	G	XJ^e-C^Z[jn|}  BF  	G	XJ^e-C^Z[jn|}  BF  	G	XJ^e-C^Z[klnojp|}  BF  	GF	 	 	    r:   r=   c                         e Zd Zd fdZ xZS )EfuseDefineFieldsreturnNc                    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                            |	           t'          j        |	          }
d|
_        d|
_        d|
_        d|
_        |	j        d         |
_        | j                            |
           t'          j        |	          }d	|_        d
|_        d|_        d|_        d|_        |	j        d         |_        | j                            |           d | j        |<   |	j        dk    r$| j                            |	           d | j        |<   $| j        D ]}	|	| j                             |	           g | _        d S )Nz.yaml
efuse_defs)rF   BLOCK_KEY0_LOW_128zbytes:16r   z<BLOCK_KEY0 - lower 128-bits. 128-bit key of Flash Encryptionr   BLOCK_KEY0_HI_128r   z9BLOCK_KEY0 - higher 128-bits. 128-bits key of Secure Bootr   calibration)EFUSES	KEYBLOCKSBLOCK2_CALIBRATION_EFUSESospathdirnameabspath__file__splitjoinopenyaml	safe_loadsuper__init__	enumerate
ALL_EFUSESrL   rM   copydeepcopytypebit_lendescriptionread_disable_bitwordcategory)rO   extend_efuse_tabledir_name	file_name_
efuse_filer_filee_desciefuser]   r^   	__class__s               r;   rn   zEfuseDefineFields.__init__a   s   )+&7??27??8#<#<== gmmH55)'	gmmH--!W\\(L)DD
Z/"" 	,f^F++F	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,!3444!$/22 	* 	*HAuz^++%%e,,,%)]5%9%9"*>"'*4"'-3"*R #. 7<6LQ6O"3%%&8999$(M%$8$8!)<!&)*!&)3!&,2!)O "- 6;5KA5N!2%%&7888%)""=00.55e<<<%)"_ 	* 	*E ""5)))s   C33C7:C7)rZ   N)r   r   r   rn   __classcell__)r   s   @r;   rY   rY   `   s=        / / / / / / / / / /r:   rY   )
rq   rc   rk   mem_definition_baser   r   r   r   r=   rY   r9   r:   r;   <module>r      s     				          -. -. -. -. -.- -. -. -.`       :0 0 0 0 0 0 0 0 0 0r:   