Lines Matching refs:self
145 def get_pkg_version(self): argument
147 return (self.read_reg(self.EFUSE_BLOCK1_ADDR + (4 * num_word)) >> 21) & 0x07
149 def is_eco0(self, minor_raw): argument
155 and self.get_blk_version_major() == 1
156 and self.get_blk_version_minor() == 1
159 def get_minor_chip_version(self): argument
160 minor_raw = self.get_raw_minor_chip_version()
161 if self.is_eco0(minor_raw):
165 def get_raw_minor_chip_version(self): argument
167 hi = (self.read_reg(self.EFUSE_BLOCK1_ADDR + (4 * hi_num_word)) >> 23) & 0x01
169 low = (self.read_reg(self.EFUSE_BLOCK1_ADDR + (4 * low_num_word)) >> 18) & 0x07
172 def get_blk_version_major(self): argument
174 return (self.read_reg(self.EFUSE_BLOCK2_ADDR + (4 * num_word)) >> 0) & 0x03
176 def get_blk_version_minor(self): argument
178 return (self.read_reg(self.EFUSE_BLOCK1_ADDR + (4 * num_word)) >> 24) & 0x07
180 def get_major_chip_version(self): argument
181 minor_raw = self.get_raw_minor_chip_version()
182 if self.is_eco0(minor_raw):
184 return self.get_raw_major_chip_version()
186 def get_raw_major_chip_version(self): argument
188 return (self.read_reg(self.EFUSE_BLOCK1_ADDR + (4 * num_word)) >> 24) & 0x03
190 def get_chip_description(self): argument
191 major_rev = self.get_major_chip_version()
192 minor_rev = self.get_minor_chip_version()
193 pkg_version = self.get_pkg_version()
202 def get_flash_cap(self): argument
204 return (self.read_reg(self.EFUSE_BLOCK1_ADDR + (4 * num_word)) >> 27) & 0x07
206 def get_flash_vendor(self): argument
208 vendor_id = (self.read_reg(self.EFUSE_BLOCK1_ADDR + (4 * num_word)) >> 0) & 0x07
211 def get_psram_cap(self): argument
213 return (self.read_reg(self.EFUSE_BLOCK1_ADDR + (4 * num_word)) >> 3) & 0x03
215 def get_psram_vendor(self): argument
217 vendor_id = (self.read_reg(self.EFUSE_BLOCK1_ADDR + (4 * num_word)) >> 7) & 0x03
220 def get_chip_features(self): argument
227 }.get(self.get_flash_cap(), "Unknown Embedded Flash")
235 }.get(self.get_psram_cap(), "Unknown Embedded PSRAM")
241 def get_crystal_freq(self): argument
245 def get_flash_crypt_config(self): argument
248 def get_key_block_purpose(self, key_block): argument
249 if key_block < 0 or key_block > self.EFUSE_MAX_KEY:
255 (self.EFUSE_PURPOSE_KEY0_REG, self.EFUSE_PURPOSE_KEY0_SHIFT),
256 (self.EFUSE_PURPOSE_KEY1_REG, self.EFUSE_PURPOSE_KEY1_SHIFT),
257 (self.EFUSE_PURPOSE_KEY2_REG, self.EFUSE_PURPOSE_KEY2_SHIFT),
258 (self.EFUSE_PURPOSE_KEY3_REG, self.EFUSE_PURPOSE_KEY3_SHIFT),
259 (self.EFUSE_PURPOSE_KEY4_REG, self.EFUSE_PURPOSE_KEY4_SHIFT),
260 (self.EFUSE_PURPOSE_KEY5_REG, self.EFUSE_PURPOSE_KEY5_SHIFT),
262 return (self.read_reg(reg) >> shift) & 0xF
264 def is_flash_encryption_key_valid(self): argument
267 self.get_key_block_purpose(b) for b in range(self.EFUSE_MAX_KEY + 1)
270 if any(p == self.PURPOSE_VAL_XTS_AES128_KEY for p in purposes):
273 return any(p == self.PURPOSE_VAL_XTS_AES256_KEY_1 for p in purposes) and any(
274 p == self.PURPOSE_VAL_XTS_AES256_KEY_2 for p in purposes
277 def get_secure_boot_enabled(self): argument
279 self.read_reg(self.EFUSE_SECURE_BOOT_EN_REG)
280 & self.EFUSE_SECURE_BOOT_EN_MASK
283 def _get_rtc_cntl_flash_voltage(self): argument
286 def override_vddsdio(self, new_voltage): argument
291 def read_mac(self, mac_type="BASE_MAC"): argument
295 mac0 = self.read_reg(self.MAC_EFUSE_REG)
296 mac1 = self.read_reg(self.MAC_EFUSE_REG + 4) # only bottom 16 bits are MAC
300 def flash_type(self): argument
303 if self.read_reg(self.EFUSE_RD_REPEAT_DATA3_REG)
304 & self.EFUSE_RD_REPEAT_DATA3_REG_FLASH_TYPE_MASK
308 def uses_usb_otg(self): argument
312 if self.secure_download_mode:
314 return self.get_uart_no() == self.UARTDEV_BUF_NO_USB_OTG
316 def uses_usb_jtag_serial(self): argument
320 if self.secure_download_mode:
322 return self.get_uart_no() == self.UARTDEV_BUF_NO_USB_JTAG_SERIAL
324 def disable_watchdogs(self): argument
327 if self.uses_usb_jtag_serial():
329 self.write_reg(self.RTC_CNTL_WDTWPROTECT_REG, self.RTC_CNTL_WDT_WKEY)
330 self.write_reg(self.RTC_CNTL_WDTCONFIG0_REG, 0)
331 self.write_reg(self.RTC_CNTL_WDTWPROTECT_REG, 0)
334 self.write_reg(self.RTC_CNTL_SWD_WPROTECT_REG, self.RTC_CNTL_SWD_WKEY)
335 self.write_reg(
336 self.RTC_CNTL_SWD_CONF_REG,
337 self.read_reg(self.RTC_CNTL_SWD_CONF_REG)
338 | self.RTC_CNTL_SWD_AUTO_FEED_EN,
340 self.write_reg(self.RTC_CNTL_SWD_WPROTECT_REG, 0)
342 def _post_connect(self): argument
343 if self.uses_usb_otg():
344 self.ESP_RAM_BLOCK = self.USB_RAM_BLOCK
345 if not self.sync_stub_detected: # Don't run if stub is reused
346 self.disable_watchdogs()
348 def _check_if_can_reset(self): argument
357 strap_reg = self.read_reg(self.GPIO_STRAP_REG)
358 force_dl_reg = self.read_reg(self.RTC_CNTL_OPTION1_REG)
360 strap_reg & self.GPIO_STRAP_SPI_BOOT_MASK == 0
361 and force_dl_reg & self.RTC_CNTL_FORCE_DOWNLOAD_BOOT_MASK == 0
370 def hard_reset(self): argument
371 uses_usb_otg = self.uses_usb_otg()
373 self._check_if_can_reset()
378 self.write_reg(
379 self.RTC_CNTL_OPTION1_REG, 0, self.RTC_CNTL_FORCE_DOWNLOAD_BOOT_MASK
386 HardReset(self._port, uses_usb_otg)()
388 def change_baud(self, baud): argument
389 ESPLoader.change_baud(self, baud)
391 def check_spi_connection(self, spi_connection): argument
414 def __init__(self, rom_loader): argument
415 self.secure_download_mode = rom_loader.secure_download_mode
416 self._port = rom_loader._port
417 self._trace_enabled = rom_loader._trace_enabled
418 self.cache = rom_loader.cache
419 self.flush_input() # resets _slip_reader
422 self.ESP_RAM_BLOCK = self.USB_RAM_BLOCK
423 self.FLASH_WRITE_SIZE = self.USB_RAM_BLOCK