From c950e7bae0aed5f90eff5b4ed9de4532f63ad9ea Mon Sep 17 00:00:00 2001 From: Chen Jichang Date: Tue, 8 Sep 2026 10:20:42 +0800 Subject: [PATCH] feat(esp32h4): remove the support of esp32h4 rev0 --- .../port/esp32h4/Kconfig.hw_support | 5 +- components/esp_rom/CMakeLists.txt | 3 - .../esp_rom/esp32h4/ld/esp32h4.rom.eco0_1.ld | 403 ------------------ ..._generate_test_child_pipeline_warnings.yml | 4 +- 4 files changed, 2 insertions(+), 413 deletions(-) delete mode 100644 components/esp_rom/esp32h4/ld/esp32h4.rom.eco0_1.ld diff --git a/components/esp_hw_support/port/esp32h4/Kconfig.hw_support b/components/esp_hw_support/port/esp32h4/Kconfig.hw_support index 55c5dfd4ebe..9fc295dfed8 100644 --- a/components/esp_hw_support/port/esp32h4/Kconfig.hw_support +++ b/components/esp_hw_support/port/esp32h4/Kconfig.hw_support @@ -1,6 +1,6 @@ choice ESP32H4_REV_MIN prompt "Minimum Supported ESP32-H4 Revision" - default ESP32H4_REV_MIN_0 + default ESP32H4_REV_MIN_2 help Required minimum chip revision. ESP-IDF will check for it and reject to boot if the chip revision fails the check. @@ -9,15 +9,12 @@ choice ESP32H4_REV_MIN The complied binary will only support chips above this revision, this will also help to reduce binary size. - config ESP32H4_REV_MIN_0 - bool "Rev v0.0" config ESP32H4_REV_MIN_2 bool "Rev v0.2" endchoice config ESP32H4_REV_MIN_FULL int - default 0 if ESP32H4_REV_MIN_0 default 2 if ESP32H4_REV_MIN_2 config ESP_REV_MIN_FULL diff --git a/components/esp_rom/CMakeLists.txt b/components/esp_rom/CMakeLists.txt index af008a04c60..8f063d3c504 100644 --- a/components/esp_rom/CMakeLists.txt +++ b/components/esp_rom/CMakeLists.txt @@ -103,9 +103,6 @@ if(target STREQUAL "linux") else() if(CONFIG_ESP32P4_SELECTS_REV_LESS_V3) target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.eco0_4.ld") - elseif(CONFIG_IDF_TARGET_ESP32H4 AND CONFIG_ESP32H4_REV_MIN_FULL LESS 2) - # TODO(IDF-16110): Remove ESP32-H4 revision < 0.2 ROM compatibility support. - target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.eco0_1.ld") else() target_linker_script(${COMPONENT_LIB} INTERFACE "${target_folder}/${ld_folder}/${target}.rom.ld") endif() diff --git a/components/esp_rom/esp32h4/ld/esp32h4.rom.eco0_1.ld b/components/esp_rom/esp32h4/ld/esp32h4.rom.eco0_1.ld deleted file mode 100644 index 44b02fa5e3d..00000000000 --- a/components/esp_rom/esp32h4/ld/esp32h4.rom.eco0_1.ld +++ /dev/null @@ -1,403 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2025-2026 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Apache-2.0 - */ -/* ROM function interface esp32h4.rom.ld for esp32h4 - * - * - * Generated from ../../rom/target/esp32h4/interface-esp32h4.yml md5sum bb9ee317148d3c5b10610936a3675a65 - * - * Compatible with ROM where ECO version equal or greater to 0. - * - * THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT. - */ - -/*************************************** - Group common - ***************************************/ - -/* Functions */ -rtc_get_reset_reason = 0x40000018; -rtc_get_wakeup_cause = 0x4000001c; -pmu_enable_unhold_pads = 0x40000020; -ets_printf = 0x40000024; -ets_install_putc1 = 0x40000028; -ets_install_putc2 = 0x4000002c; -ets_install_uart_printf = 0x40000030; -ets_install_usb_printf = 0x40000034; -ets_get_printf_channel = 0x40000038; -ets_delay_us = 0x4000003c; -ets_get_cpu_frequency = 0x40000040; -ets_update_cpu_frequency = 0x40000044; -ets_install_lock = 0x40000048; -UartRxString = 0x4000004c; -UartGetCmdLn = 0x40000050; -uart_tx_one_char = 0x40000054; -uart_tx_one_char2 = 0x40000058; -uart_tx_one_char3 = 0x4000005c; -uart_rx_one_char = 0x40000060; -uart_rx_one_char_block = 0x40000064; -uart_rx_intr_handler = 0x40000068; -uart_rx_readbuff = 0x4000006c; -uartAttach = 0x40000070; -uart_tx_flush = 0x40000074; -uart_tx_wait_idle = 0x40000078; -uart_div_modify = 0x4000007c; -ets_write_char_uart = 0x40000080; -uart_tx_switch = 0x40000084; -uart_buff_switch = 0x40000088; -roundup2 = 0x4000008c; -multofup = 0x40000090; -software_reset = 0x40000094; -software_reset_cpu = 0x40000098; -ets_clk_assist_debug_clock_enable = 0x4000009c; -clear_super_wdt_reset_flag = 0x400000a0; -disable_default_watchdog = 0x400000a4; -ets_set_appcpu_boot_addr = 0x400000a8; -send_packet = 0x400000ac; -recv_packet = 0x400000b0; -GetUartDevice = 0x400000b4; -UartDwnLdProc = 0x400000b8; -GetSecurityInfoProc = 0x400000bc; -Uart_Init = 0x400000c0; -ets_set_user_start = 0x400000c4; -/* Data (.data, .bss, .rodata) */ -ets_rom_layout_p = 0x4001fffc; -ets_ops_table_ptr = 0x4085fff4; -g_saved_pc = 0x4085fff8; - - -/*************************************** - Group miniz - ***************************************/ - -/* Functions */ -mz_adler32 = 0x400000c8; -mz_free = 0x400000cc; -tdefl_compress = 0x400000d0; -tdefl_compress_buffer = 0x400000d4; -tdefl_compress_mem_to_heap = 0x400000d8; -tdefl_compress_mem_to_mem = 0x400000dc; -tdefl_compress_mem_to_output = 0x400000e0; -tdefl_get_adler32 = 0x400000e4; -tdefl_get_prev_return_status = 0x400000e8; -tdefl_init = 0x400000ec; -tdefl_write_image_to_png_file_in_memory = 0x400000f0; -tdefl_write_image_to_png_file_in_memory_ex = 0x400000f4; -tinfl_decompress = 0x400000f8; -tinfl_decompress_mem_to_callback = 0x400000fc; -tinfl_decompress_mem_to_heap = 0x40000100; -tinfl_decompress_mem_to_mem = 0x40000104; - - -/*************************************** - Group spi_extmem_common - ***************************************/ - -/* Functions */ -esp_rom_spi_cmd_config = 0x40000108; -esp_rom_spi_cmd_start = 0x4000010c; -esp_rom_spi_set_op_mode = 0x40000110; - - -/*************************************** - Group spiflash_legacy - ***************************************/ - -/* Functions */ -esp_rom_spiflash_wait_idle = 0x40000114; -esp_rom_spiflash_write_encrypted = 0x40000118; -esp_rom_spiflash_write_encrypted_dest = 0x4000011c; -esp_rom_spiflash_write_encrypted_enable = 0x40000120; -esp_rom_spiflash_write_encrypted_disable = 0x40000124; -esp_rom_spiflash_erase_chip = 0x40000128; -_esp_rom_spiflash_erase_sector = 0x4000012c; -_esp_rom_spiflash_erase_block = 0x40000130; -_esp_rom_spiflash_write = 0x40000134; -_esp_rom_spiflash_read = 0x40000138; -_esp_rom_spiflash_unlock = 0x4000013c; -_SPIEraseArea = 0x40000140; -_SPI_write_enable = 0x40000144; -esp_rom_spiflash_erase_sector = 0x40000148; -esp_rom_spiflash_erase_block = 0x4000014c; -esp_rom_spiflash_write = 0x40000150; -esp_rom_spiflash_read = 0x40000154; -esp_rom_spiflash_unlock = 0x40000158; -SPIEraseArea = 0x4000015c; -SPI_write_enable = 0x40000160; -esp_rom_spiflash_config_param = 0x40000164; -esp_rom_spiflash_read_user_cmd = 0x40000168; -esp_rom_spiflash_select_qio_pins = 0x4000016c; -esp_rom_spi_flash_auto_sus_res = 0x40000170; -esp_rom_spi_flash_send_resume = 0x40000174; -esp_rom_spi_flash_update_id = 0x40000178; -esp_rom_spiflash_config_clk = 0x4000017c; -esp_rom_spiflash_config_readmode = 0x40000180; -esp_rom_spiflash_read_status = 0x40000184; -esp_rom_spiflash_read_statushigh = 0x40000188; -esp_rom_spiflash_write_status = 0x4000018c; -esp_rom_spiflash_write_disable = 0x40000190; -spi_cache_mode_switch = 0x40000194; -spi_common_set_dummy_output = 0x40000198; -spi_common_set_flash_cs_timing = 0x4000019c; -esp_rom_spi_set_address_bit_len = 0x400001a0; -SPILock = 0x400001a4; -SPIMasterReadModeCnfig = 0x400001a8; -SPI_Common_Command = 0x400001ac; -SPI_WakeUp = 0x400001b0; -SPI_block_erase = 0x400001b4; -SPI_chip_erase = 0x400001b8; -SPI_init = 0x400001bc; -SPI_page_program = 0x400001c0; -SPI_read_data = 0x400001c4; -SPI_sector_erase = 0x400001c8; -SelectSpiFunction = 0x400001cc; -SetSpiDrvs = 0x400001d0; -Wait_SPI_Idle = 0x400001d4; -spi_dummy_len_fix = 0x400001d8; -Disable_QMode = 0x400001dc; -Enable_QMode = 0x400001e0; -spi_flash_attach = 0x400001e4; -spi_flash_get_chip_size = 0x400001e8; -spi_flash_guard_set = 0x400001ec; -spi_flash_guard_get = 0x400001f0; -spi_flash_read_encrypted = 0x400001f4; -/* Data (.data, .bss, .rodata) */ -rom_spiflash_legacy_funcs = 0x4085ffec; -rom_spiflash_legacy_data = 0x4085ffe8; -g_flash_guard_ops = 0x4085fff0; - - -/*************************************** - Group cache - ***************************************/ - -/* Functions */ -Cache_Get_Line_Size = 0x400005a8; -Cache_Get_Mode = 0x400005ac; -Cache_Address_Through_Cache = 0x400005b0; -ROM_Boot_Cache_Init = 0x400005b4; -Cache_Sync_Items = 0x400005b8; -Cache_Op_Addr = 0x400005bc; -Cache_Invalidate_Addr = 0x400005c0; -Cache_Clean_Addr = 0x400005c4; -PROVIDE( Cache_WriteBack_Addr = 0x400005c8 ); -PROVIDE( Cache_WriteBack_Invalidate_Addr = 0x400005cc ); -Cache_Invalidate_All = 0x400005d0; -Cache_Clean_All = 0x400005d4; -PROVIDE( Cache_WriteBack_All = 0x400005d8 ); -PROVIDE( Cache_WriteBack_Invalidate_All = 0x400005dc ); -Cache_Mask_All = 0x400005e0; -Cache_UnMask_Dram0 = 0x400005e4; -Cache_Suspend_Autoload = 0x400005e8; -Cache_Resume_Autoload = 0x400005ec; -Cache_Start_Preload = 0x400005f0; -Cache_Preload_Done = 0x400005f4; -Cache_End_Preload = 0x400005f8; -Cache_Config_Autoload = 0x400005fc; -Cache_Enable_Autoload = 0x40000600; -Cache_Disable_Autoload = 0x40000604; -Cache_Enable_PreLock = 0x40000608; -Cache_Disable_PreLock = 0x4000060c; -Cache_Lock_Items = 0x40000610; -Cache_Lock_Addr = 0x40000614; -Cache_Unlock_Addr = 0x40000618; -Cache_Disable_Cache = 0x4000061c; -Cache_Enable_Cache = 0x40000620; -Cache_Suspend_Cache = 0x40000624; -Cache_Resume_Cache = 0x40000628; -Cache_Freeze_Enable = 0x4000062c; -Cache_Freeze_Disable = 0x40000630; -Cache_Set_IDROM_MMU_Size = 0x40000634; -Cache_Get_IROM_MMU_End = 0x40000638; -Cache_Get_DROM_MMU_End = 0x4000063c; -Cache_MMU_Init = 0x40000640; -Cache_MSPI_MMU_Set = 0x40000644; -Cache_MSPI_MMU_Set_Secure = 0x40000648; -Cache_Count_Flash_Pages = 0x4000064c; -flash2spiram_instruction_offset = 0x40000650; -flash2spiram_rodata_offset = 0x40000654; -flash_instr_rodata_start_page = 0x40000658; -flash_instr_rodata_end_page = 0x4000065c; -Cache_Set_IDROM_MMU_Info = 0x40000660; -Cache_Flash_To_SPIRAM_Copy = 0x40000664; -/* Data (.data, .bss, .rodata) */ -rom_cache_op_cb = 0x4085ffc8; -rom_cache_internal_table_ptr = 0x4085ffc4; - - -/*************************************** - Group clock - ***************************************/ - -/* Functions */ -ets_clk_get_xtal_freq = 0x40000668; -ets_clk_get_cpu_freq = 0x4000066c; - - -/*************************************** - Group gpio - ***************************************/ - -/* Functions */ -rom_gpio_set_output_level = 0x40000670; -rom_gpio_get_input_level = 0x40000674; -rom_gpio_matrix_in = 0x40000678; -rom_gpio_matrix_out = 0x4000067c; -rom_gpio_bypass_matrix_in = 0x40000680; -rom_gpio_output_disable = 0x40000684; -rom_gpio_output_enable = 0x40000688; -rom_gpio_pad_input_disable = 0x4000068c; -rom_gpio_pad_input_enable = 0x40000690; -rom_gpio_pad_pulldown = 0x40000694; -rom_gpio_pad_pullup = 0x40000698; -rom_gpio_pad_select_gpio = 0x4000069c; -rom_gpio_pad_set_drv = 0x400006a0; -rom_gpio_pad_unhold = 0x400006a4; -rom_gpio_pad_hold = 0x400006a8; - - -/*************************************** - Group interrupts - ***************************************/ - -/* Functions */ -esprv_intc_int_set_priority = 0x400006ac; -esprv_intc_int_set_threshold = 0x400006b0; -esprv_intc_int_enable = 0x400006b4; -esprv_intc_int_disable = 0x400006b8; -esprv_intc_int_set_type = 0x400006bc; -PROVIDE( intr_handler_set = 0x400006c0 ); -intr_matrix_set = 0x400006c4; -ets_intr_register_ctx = 0x400006c8; -ets_intr_lock = 0x400006cc; -ets_intr_unlock = 0x400006d0; -ets_isr_attach = 0x400006d4; -ets_isr_mask = 0x400006d8; -ets_isr_unmask = 0x400006dc; - - -/*************************************** - Group crc - ***************************************/ - -/* Functions */ -crc32_le = 0x400006e0; -crc16_le = 0x400006e4; -crc8_le = 0x400006e8; -crc32_be = 0x400006ec; -crc16_be = 0x400006f0; -crc8_be = 0x400006f4; -esp_crc8 = 0x400006f8; -/* Data (.data, .bss, .rodata) */ -crc32_le_table_ptr = 0x4001fff8; -crc16_le_table_ptr = 0x4001fff4; -crc8_le_table_ptr = 0x4001fff0; -crc32_be_table_ptr = 0x4001ffec; -crc16_be_table_ptr = 0x4001ffe8; -crc8_be_table_ptr = 0x4001ffe4; - - -/*************************************** - Group md5 - ***************************************/ - -/* Functions */ -md5_vector = 0x400006fc; -MD5Init = 0x40000700; -MD5Update = 0x40000704; -MD5Final = 0x40000708; - - -/*************************************** - Group hwcrypto - ***************************************/ - -/* Functions */ -ets_sha_enable = 0x4000070c; -ets_sha_disable = 0x40000710; -ets_sha_get_state = 0x40000714; -ets_sha_init = 0x40000718; -ets_sha_process = 0x4000071c; -ets_sha_starts = 0x40000720; -ets_sha_update = 0x40000724; -ets_sha_finish = 0x40000728; -ets_sha_clone = 0x4000072c; -ets_hmac_enable = 0x40000730; -ets_hmac_disable = 0x40000734; -ets_hmac_calculate_message = 0x40000738; -ets_hmac_calculate_downstream = 0x4000073c; -ets_hmac_invalidate_downstream = 0x40000740; -ets_aes_enable = 0x40000744; -ets_aes_disable = 0x40000748; -ets_aes_setkey = 0x4000074c; -ets_aes_block = 0x40000750; -ets_aes_setkey_dec = 0x40000754; -ets_aes_setkey_enc = 0x40000758; - - -/*************************************** - Group efuse - ***************************************/ - -/* Functions */ -ets_efuse_read = 0x4000075c; -ets_efuse_program = 0x40000760; -ets_efuse_clear_program_registers = 0x40000764; -ets_efuse_write_key = 0x40000768; -ets_efuse_get_read_register_address = 0x4000076c; -ets_efuse_get_key_purpose = 0x40000770; -ets_efuse_key_block_unused = 0x40000774; -ets_efuse_find_unused_key_block = 0x40000778; -ets_efuse_rs_calculate = 0x4000077c; -ets_efuse_count_unused_key_blocks = 0x40000780; -ets_efuse_secure_boot_enabled = 0x40000784; -ets_efuse_secure_boot_aggressive_revoke_enabled = 0x40000788; -ets_efuse_cache_encryption_enabled = 0x4000078c; -ets_efuse_download_modes_disabled = 0x40000790; -ets_efuse_find_purpose = 0x40000794; -ets_efuse_force_send_resume = 0x40000798; -ets_efuse_get_flash_delay_us = 0x4000079c; -ets_efuse_get_uart_print_control = 0x400007a0; -ets_efuse_direct_boot_mode_disabled = 0x400007a4; -ets_efuse_security_download_modes_enabled = 0x400007a8; -ets_efuse_jtag_disabled = 0x400007ac; -ets_efuse_usb_print_is_disabled = 0x400007b0; -ets_efuse_usb_download_mode_disabled = 0x400007b4; -ets_efuse_usb_device_disabled = 0x400007b8; -ets_jtag_enable_temporarily = 0x400007bc; - - -/*************************************** - Group key_mgr - ***************************************/ - -/* Functions */ -esp_rom_check_recover_key = 0x400007c0; -esp_rom_km_huk_conf = 0x400007c4; -esp_rom_km_huk_risk = 0x400007c8; -esp_rom_recover_key = 0x400007cc; - - -/*************************************** - Group secureboot - ***************************************/ - -/* Functions */ -ets_ecdsa_verify = 0x400007d0; -ets_secure_boot_verify_bootloader_with_keys = 0x400007d4; -ets_secure_boot_verify_signature = 0x400007d8; -ets_secure_boot_read_key_digests = 0x400007dc; -ets_secure_boot_revoke_public_key_digest = 0x400007e0; - - -/*************************************** - Group usb_device_uart - ***************************************/ - -/* Functions */ -usb_serial_device_rx_one_char = 0x40000910; -usb_serial_device_rx_one_char_block = 0x40000914; -usb_serial_device_tx_flush = 0x40000918; -usb_serial_device_tx_one_char = 0x4000091c; diff --git a/tools/ci/dynamic_pipelines/templates/known_generate_test_child_pipeline_warnings.yml b/tools/ci/dynamic_pipelines/templates/known_generate_test_child_pipeline_warnings.yml index aed1830f225..f2ad651ce26 100644 --- a/tools/ci/dynamic_pipelines/templates/known_generate_test_child_pipeline_warnings.yml +++ b/tools/ci/dynamic_pipelines/templates/known_generate_test_child_pipeline_warnings.yml @@ -24,9 +24,7 @@ no_runner_tags: - esp32c6,jtag - esp32c61,jtag - esp32h2,jtag - # Temporarily disable all esp32h4 target tests while switching runners - - esp32h4,* - - esp32h4_2,* + - esp32h4,usb_host_flash_disk - esp32p4,jtag - esp32s2,usb_host_flash_disk - esp32s31,usb_host_flash_disk