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