
    ;)di                     z    d dl Z ddlmZ ddlmZ ddlmZ  G d de          Z G d	 d
ee          Zee_	        dS )    N   )
ESP32C3ROM)
ESP32C6ROM   )	StubMixinc                   p   e Zd ZU dZdZdZdZedz   Zedz   Zedz   Z	edz   Z
dZedz   Zd	Zedz   Zd
Zedz   ZdZedz   ZdZedz   ZdZe	ZdZedz   ZdZedz   ZdZddddZg dg dg dg dg dg dg dg dg dg dg dgZdZdd d!d"d#d$d%d&d'd(d)d*d+Ze e!e"f         e#d,<   d- Z$d. Z%d/ Z&d0 Z'd1 Z(d6d3Z)d4 Z*d5S )7ESP32C61ROM	ESP32-C61   i|  `i H`D   0   4   r               i   i  i      r   )80m40m20m)r   i   PADDING)   B   DDROM)  @  @DRAM)r   r   BYTE_ACCESSIBLE) @i  @	DROM_MASK)i   @r   	IROM_MASK)r   r   IROM)r   r   IRAM)   P @ PRTC_IRAM)r$   r%   RTC_DRAM)i `i  `MEM_INTERNAL2iPwz
USER/EMPTY	ECDSA_KEYXTS_AES_128_KEYHMAC_DOWN_ALLHMAC_DOWN_JTAGHMAC_DOWN_DIGITAL_SIGNATUREHMAC_UPSECURE_BOOT_DIGEST0SECURE_BOOT_DIGEST1SECURE_BOOT_DIGEST2KM_INIT_KEYXTS_AES_128_KEY_PSRAM)r   r   r            r   	   
      r   r   KEY_PURPOSESc                 R    d}|                      | j        d|z  z             dz	  dz  S )Nr   r      r6   read_regEFUSE_BLOCK1_ADDRselfnum_words     _/var/www/menimich/repos/protonApp/venv/lib/python3.11/site-packages/esptool/targets/esp32c61.pyget_pkg_versionzESP32C61ROM.get_pkg_versionT   s0    d4HEFF"LPTTT    c                 R    d}|                      | j        d|z  z             dz	  dz  S )Nr   r   r   r   r=   r@   s     rC   get_minor_chip_versionz"ESP32C61ROM.get_minor_chip_versionX   /    d4HEFF!KtSSrE   c                 R    d}|                      | j        d|z  z             dz	  dz  S )Nr   r      r=   r@   s     rC   get_major_chip_versionz"ESP32C61ROM.get_major_chip_version\   rH   rE   c                     ddi                     |                                 d          }|                                 }|                                 }| d| d| dS )Nr   r
   zUnknown ESP32-C61z (revision v.))getrD   rK   rG   )rA   	chip_name	major_rev	minor_revs       rC   get_chip_descriptionz ESP32C61ROM.get_chip_description`   sp    {

#d""$$&9
:
: 	 //11	//11	AAAAYAAAArE   c                 
    g dS )N)zWi-Fi 6z	BT 5 (LE)zSingle Core160MHz rA   s    rC   get_chip_featureszESP32C61ROM.get_chip_featuresh   s    @@@@rE   BASE_MACc                     |                      | j                  }|                      | j        dz             }t          j        d||          dd         }dt	          |          i}|                    |d          S )zRead MAC from EFUSE regionr   z>IIr   NrY   )r>   MAC_EFUSE_REGstructpacktuplerO   )rA   mac_typemac0mac1base_macmacss         rC   read_maczESP32C61ROM.read_mack   su    }}T/00}}T/!344;udD11!""5 h
 xx$'''rE   c                 .    t          j        |            d S )N)r   watchdog_resetrW   s    rC   rf   zESP32C61ROM.watchdog_resetv   s    !$'''''rE   N)rY   )+__name__
__module____qualname__	CHIP_NAMEIMAGE_CHIP_IDUART_DATE_REG_ADDR
EFUSE_BASEr?   r[   EFUSE_RD_REG_BASEEFUSE_PURPOSE_KEY0_REGEFUSE_PURPOSE_KEY0_SHIFTEFUSE_PURPOSE_KEY1_REGEFUSE_PURPOSE_KEY1_SHIFTEFUSE_PURPOSE_KEY2_REGEFUSE_PURPOSE_KEY2_SHIFTEFUSE_PURPOSE_KEY3_REGEFUSE_PURPOSE_KEY3_SHIFTEFUSE_PURPOSE_KEY4_REGEFUSE_PURPOSE_KEY4_SHIFTEFUSE_PURPOSE_KEY5_REGEFUSE_PURPOSE_KEY5_SHIFT%EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT_REG!EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPTEFUSE_SPI_BOOT_CRYPT_CNT_REGEFUSE_SPI_BOOT_CRYPT_CNT_MASKEFUSE_SECURE_BOOT_EN_REGEFUSE_SECURE_BOOT_EN_MASKFLASH_FREQUENCY
MEMORY_MAPUF2_FAMILY_IDr:   dictintstr__annotations__rD   rG   rK   rS   rX   rd   rf   rV   rE   rC   r	   r	      s1        IM*J"U*&M"U*'$. '$. '$. '$.!'$.!'$.!,=)(/%#-#5 $-!)E1 '  O 	,++((((((333------((((((,,,,,,111J M ( !!#$ $L$sCx.   U U UT T TT T TB B BA A A	( 	( 	( 	(( ( ( ( (rE   r	   c                       e Zd ZdZdS )ESP32C61StubLoaderz.Stub loader for ESP32-C61, runs on top of ROM.N)rg   rh   ri   __doc__rV   rE   rC   r   r   {   s        88DrE   r   )
r\   esp32c3r   esp32c6r   loaderr   r	   r   
STUB_CLASSrV   rE   rC   <module>r      s                      k( k( k( k( k(* k( k( k(\	 	 	 	 	K 	 	 	 ,   rE   