import { ESPLoader } from "../esploader.js"; import { ESP32ROM } from "./esp32.js"; import { MemoryMapEntry } from "./rom.js"; export declare class ESP32P4ROM extends ESP32ROM { CHIP_NAME: string; IMAGE_CHIP_ID: number; IROM_MAP_START: number; IROM_MAP_END: number; DROM_MAP_START: number; DROM_MAP_END: number; BOOTLOADER_FLASH_OFFSET: number; CHIP_DETECT_MAGIC_VALUE: number[]; UART_DATE_REG_ADDR: number; EFUSE_BASE: number; EFUSE_BLOCK1_ADDR: number; MAC_EFUSE_REG: number; SPI_REG_BASE: number; SPI_USR_OFFS: number; SPI_USR1_OFFS: number; SPI_USR2_OFFS: number; SPI_MOSI_DLEN_OFFS: number; SPI_MISO_DLEN_OFFS: number; SPI_W0_OFFS: number; SPI_ADDR_REG_MSB: boolean; USES_MAGIC_VALUE: boolean; EFUSE_RD_REG_BASE: number; EFUSE_FORCE_USE_KEY_MANAGER_KEY_REG: number; EFUSE_FORCE_USE_KEY_MANAGER_KEY_SHIFT: number; FORCE_USE_KEY_MANAGER_VAL_XTS_AES_KEY: number; EFUSE_PURPOSE_KEY0_REG: number; EFUSE_PURPOSE_KEY0_SHIFT: number; EFUSE_PURPOSE_KEY1_REG: number; EFUSE_PURPOSE_KEY1_SHIFT: number; EFUSE_PURPOSE_KEY2_REG: number; EFUSE_PURPOSE_KEY2_SHIFT: number; EFUSE_PURPOSE_KEY3_REG: number; EFUSE_PURPOSE_KEY3_SHIFT: number; EFUSE_PURPOSE_KEY4_REG: number; EFUSE_PURPOSE_KEY4_SHIFT: number; EFUSE_PURPOSE_KEY5_REG: number; EFUSE_PURPOSE_KEY5_SHIFT: number; EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT_REG: number; EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT: number; EFUSE_SPI_BOOT_CRYPT_CNT_REG: number; EFUSE_SPI_BOOT_CRYPT_CNT_MASK: number; EFUSE_SECURE_BOOT_EN_REG: number; EFUSE_SECURE_BOOT_EN_MASK: number; PURPOSE_VAL_XTS_AES256_KEY_1: number; PURPOSE_VAL_XTS_AES256_KEY_2: number; PURPOSE_VAL_XTS_AES128_KEY: number; SUPPORTS_ENCRYPTED_FLASH: boolean; FLASH_ENCRYPTED_WRITE_ALIGN: number; USB_RAM_BLOCK: number; GPIO_STRAP_REG: number; GPIO_STRAP_SPI_BOOT_MASK: number; RTC_CNTL_OPTION1_REG: number; RTC_CNTL_FORCE_DOWNLOAD_BOOT_MASK: number; DR_REG_LPAON_BASE: number; DR_REG_PMU_BASE: number; DR_REG_LP_SYS_BASE: number; LP_SYSTEM_REG_ANA_XPD_PAD_GROUP_REG: number; PMU_EXT_LDO_P0_0P1A_ANA_REG: number; PMU_ANA_0P1A_EN_CUR_LIM_0: number; PMU_EXT_LDO_P0_0P1A_REG: number; PMU_0P1A_TARGET0_0: number; PMU_0P1A_FORCE_TIEH_SEL_0: number; PMU_DATE_REG: number; UARTDEV_BUF_NO_USB_OTG: number; UARTDEV_BUF_NO_USB_JTAG_SERIAL: number; DR_REG_LP_WDT_BASE: number; RTC_CNTL_WDTCONFIG0_REG: number; RTC_CNTL_WDTCONFIG1_REG: number; RTC_CNTL_WDTWPROTECT_REG: number; RTC_CNTL_WDT_WKEY: number; RTC_CNTL_SWD_CONF_REG: number; RTC_CNTL_SWD_AUTO_FEED_EN: number; RTC_CNTL_SWD_WPROTECT_REG: number; RTC_CNTL_SWD_WKEY: number; MEMORY_MAP: MemoryMapEntry[]; UF2_FAMILY_ID: number; EFUSE_MAX_KEY: number; KEY_PURPOSES: { 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: string; 8: string; 9: string; 10: string; 11: string; 12: string; }; getPkgVersion(loader: ESPLoader): Promise; getMinorChipVersion(loader: ESPLoader): Promise; getMajorChipVersion(loader: ESPLoader): Promise; getChipRevision(loader: ESPLoader): Promise; getStubJsonPath(loader: ESPLoader): Promise; getChipDescription(loader: ESPLoader): Promise; getChipFeatures(loader: ESPLoader): Promise; getCrystalFreq(loader: ESPLoader): Promise; getFlashVoltage(loader: ESPLoader): Promise; overrideVddsdio(loader: ESPLoader): Promise; readMac(loader: ESPLoader): Promise; getFlashCryptConfig(loader: ESPLoader): Promise; getSecureBootEnabled(loader: ESPLoader): Promise; /** * Get the UARTDEV_BUF_NO address based on chip revision * Variable .bss.UartDev.buff_uart_no in ROM .bss which indicates the port in use. * @param {ESPLoader} loader - Loader class to communicate with chip. * @returns {number} The UARTDEV_BUF_NO address. */ getUartdevBufNo(loader: ESPLoader): Promise; /** * Check the UARTDEV_BUF_NO register to see if USB-OTG console is being used * @param {ESPLoader} loader - Loader class to communicate with chip. * @returns {boolean} True if USB-OTG console is being used, false otherwise. */ usesUsbOtg(loader: ESPLoader): Promise; /** * Check the UARTDEV_BUF_NO register to see if USB-JTAG/Serial is being used * @param {ESPLoader} loader - Loader class to communicate with chip. * @returns {boolean} True if USB-JTAG/Serial is being used, false otherwise. */ usesUsbJtagSerial(loader: ESPLoader): Promise; getKeyBlockPurpose(loader: ESPLoader, keyBlock: number): Promise; isFlashEncryptionKeyValid(loader: ESPLoader): Promise; /** * Function to be executed after chip connection * Sets ESP_RAM_BLOCK if USB OTG is used and disables watchdogs if needed * @param {ESPLoader} loader - Loader class to communicate with chip. */ postConnect(loader: ESPLoader): Promise; /** * Disable watchdogs when USB-JTAG/Serial is used * The RTC WDT and SWD watchdog are not reset and can reset the board during flashing * @param {ESPLoader} loader - Loader class to communicate with chip. */ disableWatchdogs(loader: ESPLoader): Promise; /** * Check SPI connection pin numbers * @param {ESPLoader} loader - Loader class to communicate with chip. * @param {number[]} spiConnection - The SPI connection pin numbers. */ checkSpiConnection(loader: ESPLoader, spiConnection: number[]): void; /** * Reset the chip using watchdog * @param {ESPLoader} loader - Loader class to communicate with chip. */ watchdogReset(loader: ESPLoader): Promise; /** * Power on the flash chip by setting the appropriate registers * Required for ECO6+ when default flash voltage changed from 1.8V to 3.3V * @param {ESPLoader} loader - Loader class to communicate with chip. */ powerOnFlash(loader: ESPLoader): Promise; }