1/* 2 * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6/* ROM function interface esp32c6.rom.ld for esp32c6 7 * 8 * 9 * Generated from ./target/esp32c6/interface-esp32c6.yml md5sum 06c13e133e0743d09b87aba30d3e213b 10 * 11 * Compatible with ROM where ECO version equal or greater to 0. 12 * 13 * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. 14 */ 15 16/*************************************** 17 Group common 18 ***************************************/ 19 20/* Functions */ 21rtc_get_reset_reason = 0x40000018; 22analog_super_wdt_reset_happened = 0x4000001c; 23rtc_get_wakeup_cause = 0x40000020; 24rtc_unhold_all_pads = 0x40000024; 25ets_printf = 0x40000028; 26ets_install_putc1 = 0x4000002c; 27ets_install_putc2 = 0x40000030; 28ets_install_uart_printf = 0x40000034; 29ets_install_usb_printf = 0x40000038; 30ets_get_printf_channel = 0x4000003c; 31ets_delay_us = 0x40000040; 32ets_get_cpu_frequency = 0x40000044; 33ets_update_cpu_frequency = 0x40000048; 34ets_install_lock = 0x4000004c; 35UartRxString = 0x40000050; 36UartGetCmdLn = 0x40000054; 37uart_tx_one_char = 0x40000058; 38uart_tx_one_char2 = 0x4000005c; 39uart_rx_one_char = 0x40000060; 40uart_rx_one_char_block = 0x40000064; 41uart_rx_intr_handler = 0x40000068; 42uart_rx_readbuff = 0x4000006c; 43uartAttach = 0x40000070; 44uart_tx_flush = 0x40000074; 45uart_tx_wait_idle = 0x40000078; 46uart_div_modify = 0x4000007c; 47ets_write_char_uart = 0x40000080; 48uart_tx_switch = 0x40000084; 49roundup2 = 0x40000088; 50multofup = 0x4000008c; 51software_reset = 0x40000090; 52software_reset_cpu = 0x40000094; 53ets_clk_assist_debug_clock_enable = 0x40000098; 54clear_super_wdt_reset_flag = 0x4000009c; 55disable_default_watchdog = 0x400000a0; 56esp_rom_set_rtc_wake_addr = 0x400000a4; 57esp_rom_get_rtc_wake_addr = 0x400000a8; 58send_packet = 0x400000ac; 59recv_packet = 0x400000b0; 60GetUartDevice = 0x400000b4; 61UartDwnLdProc = 0x400000b8; 62GetSecurityInfoProc = 0x400000bc; 63Uart_Init = 0x400000c0; 64ets_set_user_start = 0x400000c4; 65/* Data (.data, .bss, .rodata) */ 66ets_rom_layout_p = 0x4004fffc; 67ets_ops_table_ptr = 0x4087fff8; 68g_saved_pc = 0x4087fffc; 69 70 71/*************************************** 72 Group miniz 73 ***************************************/ 74 75/* Functions */ 76mz_adler32 = 0x400000c8; 77mz_free = 0x400000cc; 78tdefl_compress = 0x400000d0; 79tdefl_compress_buffer = 0x400000d4; 80tdefl_compress_mem_to_heap = 0x400000d8; 81tdefl_compress_mem_to_mem = 0x400000dc; 82tdefl_compress_mem_to_output = 0x400000e0; 83tdefl_get_adler32 = 0x400000e4; 84tdefl_get_prev_return_status = 0x400000e8; 85tdefl_init = 0x400000ec; 86tdefl_write_image_to_png_file_in_memory = 0x400000f0; 87tdefl_write_image_to_png_file_in_memory_ex = 0x400000f4; 88tinfl_decompress = 0x400000f8; 89tinfl_decompress_mem_to_callback = 0x400000fc; 90tinfl_decompress_mem_to_heap = 0x40000100; 91tinfl_decompress_mem_to_mem = 0x40000104; 92 93 94/*************************************** 95 Group tjpgd 96 ***************************************/ 97 98/* Functions */ 99jd_prepare = 0x40000108; 100jd_decomp = 0x4000010c; 101 102 103/*************************************** 104 Group spiflash_legacy 105 ***************************************/ 106 107/* Functions */ 108esp_rom_spiflash_wait_idle = 0x40000110; 109esp_rom_spiflash_write_encrypted = 0x40000114; 110esp_rom_spiflash_write_encrypted_dest = 0x40000118; 111esp_rom_spiflash_write_encrypted_enable = 0x4000011c; 112esp_rom_spiflash_write_encrypted_disable = 0x40000120; 113esp_rom_spiflash_erase_chip = 0x40000124; 114_esp_rom_spiflash_erase_sector = 0x40000128; 115_esp_rom_spiflash_erase_block = 0x4000012c; 116_esp_rom_spiflash_write = 0x40000130; 117_esp_rom_spiflash_read = 0x40000134; 118_esp_rom_spiflash_unlock = 0x40000138; 119_SPIEraseArea = 0x4000013c; 120_SPI_write_enable = 0x40000140; 121esp_rom_spiflash_erase_sector = 0x40000144; 122esp_rom_spiflash_erase_block = 0x40000148; 123esp_rom_spiflash_write = 0x4000014c; 124esp_rom_spiflash_read = 0x40000150; 125esp_rom_spiflash_unlock = 0x40000154; 126SPIEraseArea = 0x40000158; 127SPI_write_enable = 0x4000015c; 128esp_rom_spiflash_config_param = 0x40000160; 129esp_rom_spiflash_read_user_cmd = 0x40000164; 130esp_rom_spiflash_select_qio_pins = 0x40000168; 131esp_rom_spi_flash_auto_sus_res = 0x4000016c; 132esp_rom_spi_flash_send_resume = 0x40000170; 133esp_rom_spi_flash_update_id = 0x40000174; 134esp_rom_spiflash_config_clk = 0x40000178; 135esp_rom_spiflash_config_readmode = 0x4000017c; 136esp_rom_spiflash_read_status = 0x40000180; 137esp_rom_spiflash_read_statushigh = 0x40000184; 138esp_rom_spiflash_write_status = 0x40000188; 139spi_cache_mode_switch = 0x4000018c; 140spi_common_set_dummy_output = 0x40000190; 141spi_common_set_flash_cs_timing = 0x40000194; 142esp_rom_spi_set_address_bit_len = 0x40000198; 143SPILock = 0x4000019c; 144SPIMasterReadModeCnfig = 0x400001a0; 145SPI_Common_Command = 0x400001a4; 146SPI_WakeUp = 0x400001a8; 147SPI_block_erase = 0x400001ac; 148SPI_chip_erase = 0x400001b0; 149SPI_init = 0x400001b4; 150SPI_page_program = 0x400001b8; 151SPI_read_data = 0x400001bc; 152SPI_sector_erase = 0x400001c0; 153SelectSpiFunction = 0x400001c4; 154SetSpiDrvs = 0x400001c8; 155Wait_SPI_Idle = 0x400001cc; 156spi_dummy_len_fix = 0x400001d0; 157Disable_QMode = 0x400001d4; 158Enable_QMode = 0x400001d8; 159spi_flash_attach = 0x400001dc; 160spi_flash_get_chip_size = 0x400001e0; 161spi_flash_guard_set = 0x400001e4; 162spi_flash_guard_get = 0x400001e8; 163spi_flash_read_encrypted = 0x400001ec; 164/* Data (.data, .bss, .rodata) */ 165rom_spiflash_legacy_funcs = 0x4087fff0; 166rom_spiflash_legacy_data = 0x4087ffec; 167g_flash_guard_ops = 0x4087fff4; 168 169/* Note: esp_rom_spiflash_write_disable was moved from esp32c6.rom.spiflash.ld */ 170esp_rom_spiflash_write_disable = 0x40000278; 171 172/*************************************** 173 Group hal_systimer 174 ***************************************/ 175 176/* Functions */ 177/* The following ROM functions are commented out because they're patched in the esp_rom_systimer.c */ 178/* systimer_hal_init = 0x400003c0; */ 179/* systimer_hal_deinit = 0x400003c4; */ 180 181systimer_hal_set_tick_rate_ops = 0x400003c8; 182systimer_hal_get_counter_value = 0x400003cc; 183systimer_hal_get_time = 0x400003d0; 184systimer_hal_set_alarm_target = 0x400003d4; 185systimer_hal_set_alarm_period = 0x400003d8; 186systimer_hal_get_alarm_value = 0x400003dc; 187systimer_hal_enable_alarm_int = 0x400003e0; 188systimer_hal_on_apb_freq_update = 0x400003e4; 189systimer_hal_counter_value_advance = 0x400003e8; 190systimer_hal_enable_counter = 0x400003ec; 191systimer_hal_select_alarm_mode = 0x400003f0; 192systimer_hal_connect_alarm_counter = 0x400003f4; 193systimer_hal_counter_can_stall_by_cpu = 0x400003f8; 194 195 196/*************************************** 197 Group cache 198 ***************************************/ 199 200/* Functions */ 201Cache_Get_ICache_Line_Size = 0x40000628; 202Cache_Get_Mode = 0x4000062c; 203Cache_Address_Through_Cache = 0x40000630; 204ROM_Boot_Cache_Init = 0x40000634; 205MMU_Set_Page_Mode = 0x40000638; 206MMU_Get_Page_Mode = 0x4000063c; 207Cache_Invalidate_ICache_Items = 0x40000640; 208Cache_Op_Addr = 0x40000644; 209Cache_Invalidate_Addr = 0x40000648; 210Cache_Invalidate_ICache_All = 0x4000064c; 211Cache_Mask_All = 0x40000650; 212Cache_UnMask_Dram0 = 0x40000654; 213Cache_Suspend_ICache_Autoload = 0x40000658; 214Cache_Resume_ICache_Autoload = 0x4000065c; 215Cache_Start_ICache_Preload = 0x40000660; 216Cache_ICache_Preload_Done = 0x40000664; 217Cache_End_ICache_Preload = 0x40000668; 218Cache_Config_ICache_Autoload = 0x4000066c; 219Cache_Enable_ICache_Autoload = 0x40000670; 220Cache_Disable_ICache_Autoload = 0x40000674; 221Cache_Enable_ICache_PreLock = 0x40000678; 222Cache_Disable_ICache_PreLock = 0x4000067c; 223Cache_Lock_ICache_Items = 0x40000680; 224Cache_Unlock_ICache_Items = 0x40000684; 225Cache_Lock_Addr = 0x40000688; 226Cache_Unlock_Addr = 0x4000068c; 227Cache_Disable_ICache = 0x40000690; 228Cache_Enable_ICache = 0x40000694; 229Cache_Suspend_ICache = 0x40000698; 230Cache_Resume_ICache = 0x4000069c; 231Cache_Freeze_ICache_Enable = 0x400006a0; 232Cache_Freeze_ICache_Disable = 0x400006a4; 233Cache_Set_IDROM_MMU_Size = 0x400006a8; 234Cache_Get_IROM_MMU_End = 0x400006ac; 235Cache_Get_DROM_MMU_End = 0x400006b0; 236Cache_MMU_Init = 0x400006b4; 237Cache_MSPI_MMU_Set = 0x400006b8; 238Cache_Travel_Tag_Memory = 0x400006bc; 239Cache_Get_Virtual_Addr = 0x400006c0; 240/* Data (.data, .bss, .rodata) */ 241rom_cache_op_cb = 0x4087ffcc; 242rom_cache_internal_table_ptr = 0x4087ffc8; 243 244 245/*************************************** 246 Group clock 247 ***************************************/ 248 249/* Functions */ 250ets_clk_get_xtal_freq = 0x400006c4; 251ets_clk_get_cpu_freq = 0x400006c8; 252ets_clk_apb_wait_ready = 0x400006cc; 253ets_clk_mspi_apb_wait_ready = 0x400006d0; 254 255 256/*************************************** 257 Group gpio 258 ***************************************/ 259 260/* Functions */ 261gpio_input_get = 0x400006d4; 262gpio_matrix_in = 0x400006d8; 263gpio_matrix_out = 0x400006dc; 264gpio_output_disable = 0x400006e0; 265gpio_output_enable = 0x400006e4; 266gpio_output_set = 0x400006e8; 267gpio_pad_hold = 0x400006ec; 268gpio_pad_input_disable = 0x400006f0; 269gpio_pad_input_enable = 0x400006f4; 270gpio_pad_pulldown = 0x400006f8; 271gpio_pad_pullup = 0x400006fc; 272gpio_pad_select_gpio = 0x40000700; 273gpio_pad_set_drv = 0x40000704; 274gpio_pad_unhold = 0x40000708; 275gpio_pin_wakeup_disable = 0x4000070c; 276gpio_pin_wakeup_enable = 0x40000710; 277gpio_bypass_matrix_in = 0x40000714; 278 279 280/*************************************** 281 Group interrupts 282 ***************************************/ 283 284/* Functions */ 285esprv_intc_int_set_priority = 0x40000718; 286esprv_intc_int_set_threshold = 0x4000071c; 287esprv_intc_int_enable = 0x40000720; 288esprv_intc_int_disable = 0x40000724; 289esprv_intc_int_set_type = 0x40000728; 290PROVIDE( intr_handler_set = 0x4000072c ); 291intr_matrix_set = 0x40000730; 292ets_intr_lock = 0x40000734; 293ets_intr_unlock = 0x40000738; 294ets_isr_attach = 0x4000073c; 295ets_isr_mask = 0x40000740; 296ets_isr_unmask = 0x40000744; 297 298 299/*************************************** 300 Group crypto 301 ***************************************/ 302 303/* Functions */ 304md5_vector = 0x40000748; 305MD5Init = 0x4000074c; 306MD5Update = 0x40000750; 307MD5Final = 0x40000754; 308crc32_le = 0x40000758; 309crc16_le = 0x4000075c; 310crc8_le = 0x40000760; 311crc32_be = 0x40000764; 312crc16_be = 0x40000768; 313crc8_be = 0x4000076c; 314esp_crc8 = 0x40000770; 315ets_sha_enable = 0x40000774; 316ets_sha_disable = 0x40000778; 317ets_sha_get_state = 0x4000077c; 318ets_sha_init = 0x40000780; 319ets_sha_process = 0x40000784; 320ets_sha_starts = 0x40000788; 321ets_sha_update = 0x4000078c; 322ets_sha_finish = 0x40000790; 323ets_sha_clone = 0x40000794; 324ets_hmac_enable = 0x40000798; 325ets_hmac_disable = 0x4000079c; 326ets_hmac_calculate_message = 0x400007a0; 327ets_hmac_calculate_downstream = 0x400007a4; 328ets_hmac_invalidate_downstream = 0x400007a8; 329ets_jtag_enable_temporarily = 0x400007ac; 330ets_aes_enable = 0x400007b0; 331ets_aes_disable = 0x400007b4; 332ets_aes_setkey = 0x400007b8; 333ets_aes_block = 0x400007bc; 334ets_aes_setkey_dec = 0x400007c0; 335ets_aes_setkey_enc = 0x400007c4; 336ets_bigint_enable = 0x400007c8; 337ets_bigint_disable = 0x400007cc; 338ets_bigint_multiply = 0x400007d0; 339ets_bigint_modmult = 0x400007d4; 340ets_bigint_modexp = 0x400007d8; 341ets_bigint_wait_finish = 0x400007dc; 342ets_bigint_getz = 0x400007e0; 343ets_ds_enable = 0x400007e4; 344ets_ds_disable = 0x400007e8; 345ets_ds_start_sign = 0x400007ec; 346ets_ds_is_busy = 0x400007f0; 347ets_ds_finish_sign = 0x400007f4; 348ets_ds_encrypt_params = 0x400007f8; 349ets_mgf1_sha256 = 0x400007fc; 350/* Data (.data, .bss, .rodata) */ 351crc32_le_table_ptr = 0x4004fff8; 352crc16_le_table_ptr = 0x4004fff4; 353crc8_le_table_ptr = 0x4004fff0; 354crc32_be_table_ptr = 0x4004ffec; 355crc16_be_table_ptr = 0x4004ffe8; 356crc8_be_table_ptr = 0x4004ffe4; 357 358 359/*************************************** 360 Group efuse 361 ***************************************/ 362 363/* Functions */ 364ets_efuse_read = 0x40000800; 365ets_efuse_program = 0x40000804; 366ets_efuse_clear_program_registers = 0x40000808; 367ets_efuse_write_key = 0x4000080c; 368ets_efuse_get_read_register_address = 0x40000810; 369ets_efuse_get_key_purpose = 0x40000814; 370ets_efuse_key_block_unused = 0x40000818; 371ets_efuse_find_unused_key_block = 0x4000081c; 372ets_efuse_rs_calculate = 0x40000820; 373ets_efuse_count_unused_key_blocks = 0x40000824; 374ets_efuse_secure_boot_enabled = 0x40000828; 375ets_efuse_secure_boot_aggressive_revoke_enabled = 0x4000082c; 376ets_efuse_cache_encryption_enabled = 0x40000830; 377ets_efuse_download_modes_disabled = 0x40000834; 378ets_efuse_find_purpose = 0x40000838; 379ets_efuse_force_send_resume = 0x4000083c; 380ets_efuse_get_flash_delay_us = 0x40000840; 381ets_efuse_get_mac = 0x40000844; 382ets_efuse_get_uart_print_control = 0x40000848; 383ets_efuse_direct_boot_mode_disabled = 0x4000084c; 384ets_efuse_security_download_modes_enabled = 0x40000850; 385ets_efuse_set_timing = 0x40000854; 386ets_efuse_jtag_disabled = 0x40000858; 387ets_efuse_usb_print_is_disabled = 0x4000085c; 388ets_efuse_usb_download_mode_disabled = 0x40000860; 389ets_efuse_usb_device_disabled = 0x40000864; 390ets_efuse_secure_boot_fast_wake_enabled = 0x40000868; 391 392 393/*************************************** 394 Group secureboot 395 ***************************************/ 396 397/* Functions */ 398ets_emsa_pss_verify = 0x4000086c; 399ets_rsa_pss_verify = 0x40000870; 400ets_secure_boot_verify_bootloader_with_keys = 0x40000874; 401ets_secure_boot_verify_signature = 0x40000878; 402ets_secure_boot_read_key_digests = 0x4000087c; 403ets_secure_boot_revoke_public_key_digest = 0x40000880; 404 405 406/*************************************** 407 Group usb_device_uart 408 ***************************************/ 409 410/* Functions */ 411usb_serial_device_rx_one_char = 0x40000a80; 412usb_serial_device_rx_one_char_block = 0x40000a84; 413usb_serial_device_tx_flush = 0x40000a88; 414usb_serial_device_tx_one_char = 0x40000a8c; 415 416 417/*************************************** 418 Group lldesc 419 ***************************************/ 420 421/* Functions */ 422lldesc_build_chain = 0x40000a90; 423 424 425/*************************************** 426 Group sip 427 ***************************************/ 428 429/* Functions */ 430sip_after_tx_complete = 0x40000a94; 431sip_alloc_to_host_evt = 0x40000a98; 432sip_download_begin = 0x40000a9c; 433sip_get_ptr = 0x40000aa0; 434sip_get_state = 0x40000aa4; 435sip_init_attach = 0x40000aa8; 436sip_install_rx_ctrl_cb = 0x40000aac; 437sip_install_rx_data_cb = 0x40000ab0; 438sip_is_active = 0x40000ab4; 439sip_post_init = 0x40000ab8; 440sip_reclaim_from_host_cmd = 0x40000abc; 441sip_reclaim_tx_data_pkt = 0x40000ac0; 442sip_send = 0x40000ac4; 443sip_to_host_chain_append = 0x40000ac8; 444sip_to_host_evt_send_done = 0x40000acc; 445 446 447/*************************************** 448 Group slc 449 ***************************************/ 450 451/* Functions */ 452slc_add_credits = 0x40000ad0; 453slc_enable = 0x40000ad4; 454slc_from_host_chain_fetch = 0x40000ad8; 455slc_from_host_chain_recycle = 0x40000adc; 456slc_has_pkt_to_host = 0x40000ae0; 457slc_init_attach = 0x40000ae4; 458slc_init_credit = 0x40000ae8; 459slc_reattach = 0x40000aec; 460slc_send_to_host_chain = 0x40000af0; 461slc_set_host_io_max_window = 0x40000af4; 462slc_to_host_chain_recycle = 0x40000af8; 463