
    ;)di                         d dl mZ ddlmZ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 )   )
ESP32C6ROM   )	ESPLoader	StubMixin)log)
FatalErrorc                       e Zd ZU 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dZdZddddd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d# Zd$ Zd% Zd& Zd' Zd(S ))
ESP32H2ROMESP32-H2   i `              i   $   i:Pi@      r   r   )48m24m16m12mi&'3z
USER/EMPTY	ECDSA_KEYXTS_AES_256_KEY_1XTS_AES_256_KEY_2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)r   r   r   r   r               	   
      KEY_PURPOSESc                 R    d}|                      | j        d|z  z             dz	  dz  S )Nr   r   r%   read_regEFUSE_BLOCK1_ADDRselfnum_words     ^/var/www/menimich/repos/protonApp/venv/lib/python3.11/site-packages/esptool/targets/esp32h2.pyget_pkg_versionzESP32H2ROM.get_pkg_version5   s/    d4HEFF!KtSS    c                 R    d}|                      | j        d|z  z             dz	  dz  S )Nr   r      r%   r,   r/   s     r2   get_minor_chip_versionz!ESP32H2ROM.get_minor_chip_version9   0    d4HEFF"LPTTTr4   c                 R    d}|                      | j        d|z  z             dz	  dz  S )Nr   r      r,   r/   s     r2   get_major_chip_versionz!ESP32H2ROM.get_major_chip_version=   r8   r4   c                     ddi                     |                                 d          }|                                 }|                                 }| d| d| dS )Nr   r   zUnknown ESP32-H2z (revision v.))getr3   r;   r7   )r0   	chip_name	major_rev	minor_revs       r2   get_chip_descriptionzESP32H2ROM.get_chip_descriptionA   sp    z

#d""$$&8
9
9 	 //11	//11	AAAAYAAAAr4   c                 
    g dS )N)z	BT 5 (LE)zIEEE802.15.4zSingle Core96MHz r0   s    r2   get_chip_featureszESP32H2ROM.get_chip_featuresI   s    DDDDr4   c                     dS )Nr   rF   rG   s    r2   get_crystal_freqzESP32H2ROM.get_crystal_freqL   s    rr4   c                 .    t          j        |            d S )N)r   watchdog_resetrG   s    r2   rL   zESP32H2ROM.watchdog_resetQ   s     &&&&&r4   c                     t          |                              t          t          dd                              st          d          t	          d |D                       rt          j        d           d S d S )Nr   r   z*SPI Pin numbers must be in the range 0-27.c                     g | ]}|d v |	S ))      rF   ).0vs     r2   
<listcomp>z3ESP32H2ROM.check_spi_connection.<locals>.<listcomp>W   s    ;;;aQ(]]]]]r4   zdGPIO pins 26 and 27 are used by USB-Serial/JTAG, consider using other pins for SPI flash connection.)setissubsetranger   anyr   warning)r0   spi_connections     r2   check_spi_connectionzESP32H2ROM.check_spi_connectionT   s    >""++Ca,=,=>> 	KIJJJ;;>;;;<< 	KF    	 	r4   N)__name__
__module____qualname__	CHIP_NAMEIMAGE_CHIP_IDDR_REG_LP_WDT_BASERTC_CNTL_WDTCONFIG0_REGRTC_CNTL_WDTCONFIG1_REGRTC_CNTL_WDTWPROTECT_REGRTC_CNTL_SWD_CONF_REGRTC_CNTL_SWD_AUTO_FEED_ENRTC_CNTL_SWD_WPROTECT_REGRTC_CNTL_SWD_WKEYUARTDEV_BUF_NOUARTDEV_BUF_NO_USB_JTAG_SERIALFLASH_FREQUENCYUF2_FAMILY_IDr*   dictintstr__annotations__r3   r7   r;   rC   rH   rJ   rL   rZ   rF   r4   r2   r
   r
      sg        IM#0360691F:.7 ' 2V ;"N%&" 	 O M ( !!$ $L$sCx.   T T TU U UU U UB B BE E E  
' ' '    r4   r
   c                       e Zd ZdZdS )ESP32H2StubLoaderz-Stub loader for ESP32-H2, runs on top of ROM.N)r[   r\   r]   __doc__rF   r4   r2   rq   rq   ^   s        77Dr4   rq   N)esp32c6r   loaderr   r   loggerr   utilr   r
   rq   
STUB_CLASSrF   r4   r2   <module>rx      s           ) ) ) ) ) ) ) )            O O O O O O O Od	 	 	 	 		: 	 	 	 *
   r4   