1/*
2 * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6/* ROM function interface esp32h2.rom.ld for esp32h2
7 *
8 *
9 * Generated from ./target/esp32h2/interface-esp32h2.yml md5sum c0ad4e113e5b29bb9d799f10f03edbc1
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 = 0x4001fffc;
67ets_ops_table_ptr = 0x4084fff8;
68g_saved_pc = 0x4084fffc;
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 spiflash_legacy
96 ***************************************/
97
98/* Functions */
99esp_rom_spiflash_wait_idle = 0x40000108;
100esp_rom_spiflash_write_encrypted = 0x4000010c;
101esp_rom_spiflash_write_encrypted_dest = 0x40000110;
102esp_rom_spiflash_write_encrypted_enable = 0x40000114;
103esp_rom_spiflash_write_encrypted_disable = 0x40000118;
104esp_rom_spiflash_erase_chip = 0x4000011c;
105_esp_rom_spiflash_erase_sector = 0x40000120;
106_esp_rom_spiflash_erase_block = 0x40000124;
107_esp_rom_spiflash_write = 0x40000128;
108_esp_rom_spiflash_read = 0x4000012c;
109_esp_rom_spiflash_unlock = 0x40000130;
110_SPIEraseArea = 0x40000134;
111_SPI_write_enable = 0x40000138;
112esp_rom_spiflash_erase_sector = 0x4000013c;
113esp_rom_spiflash_erase_block = 0x40000140;
114esp_rom_spiflash_write = 0x40000144;
115esp_rom_spiflash_read = 0x40000148;
116esp_rom_spiflash_unlock = 0x4000014c;
117SPIEraseArea = 0x40000150;
118SPI_write_enable = 0x40000154;
119esp_rom_spiflash_config_param = 0x40000158;
120esp_rom_spiflash_read_user_cmd = 0x4000015c;
121esp_rom_spiflash_select_qio_pins = 0x40000160;
122esp_rom_spi_flash_auto_sus_res = 0x40000164;
123esp_rom_spi_flash_send_resume = 0x40000168;
124esp_rom_spi_flash_update_id = 0x4000016c;
125esp_rom_spiflash_config_clk = 0x40000170;
126esp_rom_spiflash_config_readmode = 0x40000174;
127esp_rom_spiflash_read_status = 0x40000178;
128esp_rom_spiflash_read_statushigh = 0x4000017c;
129esp_rom_spiflash_write_status = 0x40000180;
130spi_cache_mode_switch = 0x40000184;
131spi_common_set_dummy_output = 0x40000188;
132spi_common_set_flash_cs_timing = 0x4000018c;
133esp_rom_spi_set_address_bit_len = 0x40000190;
134SPILock = 0x40000194;
135SPIMasterReadModeCnfig = 0x40000198;
136SPI_Common_Command = 0x4000019c;
137SPI_WakeUp = 0x400001a0;
138SPI_block_erase = 0x400001a4;
139SPI_chip_erase = 0x400001a8;
140SPI_init = 0x400001ac;
141SPI_page_program = 0x400001b0;
142SPI_read_data = 0x400001b4;
143SPI_sector_erase = 0x400001b8;
144SelectSpiFunction = 0x400001bc;
145SetSpiDrvs = 0x400001c0;
146Wait_SPI_Idle = 0x400001c4;
147spi_dummy_len_fix = 0x400001c8;
148Disable_QMode = 0x400001cc;
149Enable_QMode = 0x400001d0;
150spi_flash_attach = 0x400001d4;
151spi_flash_get_chip_size = 0x400001d8;
152spi_flash_guard_set = 0x400001dc;
153spi_flash_guard_get = 0x400001e0;
154spi_flash_read_encrypted = 0x400001e4;
155/* Data (.data, .bss, .rodata) */
156rom_spiflash_legacy_funcs = 0x4084fff0;
157rom_spiflash_legacy_data = 0x4084ffec;
158g_flash_guard_ops = 0x4084fff4;
159
160/* Note: esp_rom_spiflash_write_disable was moved from esp32c6.rom.spiflash.ld */
161esp_rom_spiflash_write_disable = 0x40000270;
162
163/***************************************
164 Group hal_systimer
165 ***************************************/
166
167/* Functions */
168/* The following ROM functions are commented out because they're patched in the esp_rom_systimer.c */
169/* systimer_hal_init = 0x400003b8; */
170/* systimer_hal_deinit = 0x400003bc; */
171
172systimer_hal_set_tick_rate_ops = 0x400003c0;
173systimer_hal_get_counter_value = 0x400003c4;
174systimer_hal_get_time = 0x400003c8;
175systimer_hal_set_alarm_target = 0x400003cc;
176systimer_hal_set_alarm_period = 0x400003d0;
177systimer_hal_get_alarm_value = 0x400003d4;
178systimer_hal_enable_alarm_int = 0x400003d8;
179systimer_hal_on_apb_freq_update = 0x400003dc;
180systimer_hal_counter_value_advance = 0x400003e0;
181systimer_hal_enable_counter = 0x400003e4;
182systimer_hal_select_alarm_mode = 0x400003e8;
183systimer_hal_connect_alarm_counter = 0x400003ec;
184systimer_hal_counter_can_stall_by_cpu = 0x400003f0;
185
186
187/***************************************
188 Group cache
189 ***************************************/
190
191/* Functions */
192Cache_Get_ICache_Line_Size = 0x400005fc;
193Cache_Get_Mode = 0x40000600;
194Cache_Address_Through_Cache = 0x40000604;
195ROM_Boot_Cache_Init = 0x40000608;
196MMU_Set_Page_Mode = 0x4000060c;
197MMU_Get_Page_Mode = 0x40000610;
198Cache_Invalidate_ICache_Items = 0x40000614;
199Cache_Op_Addr = 0x40000618;
200Cache_Invalidate_Addr = 0x4000061c;
201Cache_Invalidate_ICache_All = 0x40000620;
202Cache_Mask_All = 0x40000624;
203Cache_UnMask_Dram0 = 0x40000628;
204Cache_Suspend_ICache_Autoload = 0x4000062c;
205Cache_Resume_ICache_Autoload = 0x40000630;
206Cache_Start_ICache_Preload = 0x40000634;
207Cache_ICache_Preload_Done = 0x40000638;
208Cache_End_ICache_Preload = 0x4000063c;
209Cache_Config_ICache_Autoload = 0x40000640;
210Cache_Enable_ICache_Autoload = 0x40000644;
211Cache_Disable_ICache_Autoload = 0x40000648;
212Cache_Enable_ICache_PreLock = 0x4000064c;
213Cache_Disable_ICache_PreLock = 0x40000650;
214Cache_Lock_ICache_Items = 0x40000654;
215Cache_Unlock_ICache_Items = 0x40000658;
216Cache_Lock_Addr = 0x4000065c;
217Cache_Unlock_Addr = 0x40000660;
218Cache_Disable_ICache = 0x40000664;
219Cache_Enable_ICache = 0x40000668;
220Cache_Suspend_ICache = 0x4000066c;
221Cache_Resume_ICache = 0x40000670;
222Cache_Freeze_ICache_Enable = 0x40000674;
223Cache_Freeze_ICache_Disable = 0x40000678;
224Cache_Set_IDROM_MMU_Size = 0x4000067c;
225Cache_Get_IROM_MMU_End = 0x40000680;
226Cache_Get_DROM_MMU_End = 0x40000684;
227Cache_MMU_Init = 0x40000688;
228Cache_MSPI_MMU_Set = 0x4000068c;
229Cache_Travel_Tag_Memory = 0x40000690;
230Cache_Get_Virtual_Addr = 0x40000694;
231/* Data (.data, .bss, .rodata) */
232rom_cache_op_cb = 0x4084ffcc;
233rom_cache_internal_table_ptr = 0x4084ffc8;
234
235
236/***************************************
237 Group clock
238 ***************************************/
239
240/* Functions */
241ets_clk_get_xtal_freq = 0x40000698;
242ets_clk_get_cpu_freq = 0x4000069c;
243
244
245/***************************************
246 Group gpio
247 ***************************************/
248
249/* Functions */
250gpio_input_get = 0x400006a0;
251gpio_matrix_in = 0x400006a4;
252gpio_matrix_out = 0x400006a8;
253gpio_output_disable = 0x400006ac;
254gpio_output_enable = 0x400006b0;
255gpio_output_set = 0x400006b4;
256gpio_pad_hold = 0x400006b8;
257gpio_pad_input_disable = 0x400006bc;
258gpio_pad_input_enable = 0x400006c0;
259gpio_pad_pulldown = 0x400006c4;
260gpio_pad_pullup = 0x400006c8;
261gpio_pad_select_gpio = 0x400006cc;
262gpio_pad_set_drv = 0x400006d0;
263gpio_pad_unhold = 0x400006d4;
264gpio_pin_wakeup_disable = 0x400006d8;
265gpio_pin_wakeup_enable = 0x400006dc;
266gpio_bypass_matrix_in = 0x400006e0;
267
268
269/***************************************
270 Group interrupts
271 ***************************************/
272
273/* Functions */
274esprv_intc_int_set_priority = 0x400006e4;
275esprv_intc_int_set_threshold = 0x400006e8;
276esprv_intc_int_enable = 0x400006ec;
277esprv_intc_int_disable = 0x400006f0;
278esprv_intc_int_set_type = 0x400006f4;
279PROVIDE( intr_handler_set = 0x400006f8 );
280intr_matrix_set = 0x400006fc;
281ets_intr_lock = 0x40000700;
282ets_intr_unlock = 0x40000704;
283ets_isr_attach = 0x40000708;
284ets_isr_mask = 0x4000070c;
285ets_isr_unmask = 0x40000710;
286
287
288/***************************************
289 Group crypto
290 ***************************************/
291
292/* Functions */
293md5_vector = 0x40000714;
294MD5Init = 0x40000718;
295MD5Update = 0x4000071c;
296MD5Final = 0x40000720;
297crc32_le = 0x40000724;
298crc16_le = 0x40000728;
299crc8_le = 0x4000072c;
300crc32_be = 0x40000730;
301crc16_be = 0x40000734;
302crc8_be = 0x40000738;
303esp_crc8 = 0x4000073c;
304ets_sha_enable = 0x40000740;
305ets_sha_disable = 0x40000744;
306ets_sha_get_state = 0x40000748;
307ets_sha_init = 0x4000074c;
308ets_sha_process = 0x40000750;
309ets_sha_starts = 0x40000754;
310ets_sha_update = 0x40000758;
311ets_sha_finish = 0x4000075c;
312ets_sha_clone = 0x40000760;
313ets_hmac_enable = 0x40000764;
314ets_hmac_disable = 0x40000768;
315ets_hmac_calculate_message = 0x4000076c;
316ets_hmac_calculate_downstream = 0x40000770;
317ets_hmac_invalidate_downstream = 0x40000774;
318ets_jtag_enable_temporarily = 0x40000778;
319ets_aes_enable = 0x4000077c;
320ets_aes_disable = 0x40000780;
321ets_aes_setkey = 0x40000784;
322ets_aes_block = 0x40000788;
323ets_aes_setkey_dec = 0x4000078c;
324ets_aes_setkey_enc = 0x40000790;
325ets_bigint_enable = 0x40000794;
326ets_bigint_disable = 0x40000798;
327ets_bigint_multiply = 0x4000079c;
328ets_bigint_modmult = 0x400007a0;
329ets_bigint_modexp = 0x400007a4;
330ets_bigint_wait_finish = 0x400007a8;
331ets_bigint_getz = 0x400007ac;
332ets_ds_enable = 0x400007b0;
333ets_ds_disable = 0x400007b4;
334ets_ds_start_sign = 0x400007b8;
335ets_ds_is_busy = 0x400007bc;
336ets_ds_finish_sign = 0x400007c0;
337ets_ds_encrypt_params = 0x400007c4;
338ets_mgf1_sha256 = 0x400007c8;
339/* Data (.data, .bss, .rodata) */
340crc32_le_table_ptr = 0x4001fff8;
341crc16_le_table_ptr = 0x4001fff4;
342crc8_le_table_ptr = 0x4001fff0;
343crc32_be_table_ptr = 0x4001ffec;
344crc16_be_table_ptr = 0x4001ffe8;
345crc8_be_table_ptr = 0x4001ffe4;
346
347
348/***************************************
349 Group efuse
350 ***************************************/
351
352/* Functions */
353ets_efuse_read = 0x400007cc;
354ets_efuse_program = 0x400007d0;
355ets_efuse_clear_program_registers = 0x400007d4;
356ets_efuse_write_key = 0x400007d8;
357ets_efuse_get_read_register_address = 0x400007dc;
358ets_efuse_get_key_purpose = 0x400007e0;
359ets_efuse_key_block_unused = 0x400007e4;
360ets_efuse_find_unused_key_block = 0x400007e8;
361ets_efuse_rs_calculate = 0x400007ec;
362ets_efuse_count_unused_key_blocks = 0x400007f0;
363ets_efuse_secure_boot_enabled = 0x400007f4;
364ets_efuse_secure_boot_aggressive_revoke_enabled = 0x400007f8;
365ets_efuse_cache_encryption_enabled = 0x400007fc;
366ets_efuse_download_modes_disabled = 0x40000800;
367ets_efuse_find_purpose = 0x40000804;
368ets_efuse_force_send_resume = 0x40000808;
369ets_efuse_get_flash_delay_us = 0x4000080c;
370ets_efuse_get_mac = 0x40000810;
371ets_efuse_get_uart_print_control = 0x40000814;
372ets_efuse_direct_boot_mode_disabled = 0x40000818;
373ets_efuse_security_download_modes_enabled = 0x4000081c;
374ets_efuse_jtag_disabled = 0x40000820;
375ets_efuse_usb_print_is_disabled = 0x40000824;
376ets_efuse_usb_download_mode_disabled = 0x40000828;
377ets_efuse_usb_device_disabled = 0x4000082c;
378ets_efuse_secure_boot_fast_wake_enabled = 0x40000830;
379
380
381/***************************************
382 Group secureboot
383 ***************************************/
384
385/* Functions */
386ets_emsa_pss_verify = 0x40000834;
387ets_rsa_pss_verify = 0x40000838;
388ets_ecdsa_verify = 0x4000083c;
389ets_secure_boot_verify_bootloader_with_keys = 0x40000840;
390ets_secure_boot_verify_signature = 0x40000844;
391ets_secure_boot_read_key_digests = 0x40000848;
392ets_secure_boot_revoke_public_key_digest = 0x4000084c;
393
394
395/***************************************
396 Group usb_device_uart
397 ***************************************/
398
399/* Functions */
400usb_serial_device_rx_one_char = 0x400009c0;
401usb_serial_device_rx_one_char_block = 0x400009c4;
402usb_serial_device_tx_flush = 0x400009c8;
403usb_serial_device_tx_one_char = 0x400009cc;
404