From 6042887eb3f10a3c64373d2a89ed5d18ec1fbd00 Mon Sep 17 00:00:00 2001 From: Marius Vikhammer Date: Mon, 8 Jul 2024 11:43:41 +0800 Subject: [PATCH] change(core): update G1 dependencies descriptions --- .../system/g1_components/CMakeLists.txt | 67 +++++++++++++------ 1 file changed, 46 insertions(+), 21 deletions(-) diff --git a/tools/test_apps/system/g1_components/CMakeLists.txt b/tools/test_apps/system/g1_components/CMakeLists.txt index d7dd5d24a0..81555b42e5 100644 --- a/tools/test_apps/system/g1_components/CMakeLists.txt +++ b/tools/test_apps/system/g1_components/CMakeLists.txt @@ -21,49 +21,74 @@ set(extra_allowed_components # These components are currently included into "G1" build, but shouldn't. # After removing the extra dependencies, remove the components from this list as well. set(extra_components_which_shouldnt_be_included - # app_update gets added because of spi_flash. - # spi_flash should be removed from dependencies; + # app_update gets added because of spi_flash and esp_partition. + # esp_partition will get removed from g1 and spi_flash does not actually seem to need app_update anymore. + # When esp-partition is removed from g1 build it should be easy for us to also remove app-update # TODO IDF-8577 app_update - # of G1 components, bootloader is only included from spi_flash - # [refactor-todo]: see if this dependency from spi_flash can be made weak + + # bootloader is only included from esptool_py, which should be removed from G1 bootloader - # bootloader_support is a dependency of efuse, app_update, spi_flash. - # efuse and app_update should be removed from G1 build; - # [refactor-todo]: see if the dependency from spi_flash can be made weak + + # bootloader_support is a dependency of the following G1 components: + # spi_flash, esp_system, esp_hw_support. + # as well as the following non G1 components: + # efuse, app_update, esp_partition + # Challenging to remove: IDF-8581 for more details bootloader_support - # [refactor-todo]: should cxx be in G1? Can it exist without FreeRTOS? + + # should cxx be in G1? Can it exist without FreeRTOS? IDF-9511 cxx - # [refactor-todo]: esp_driver_gpio is a dependency of esp_pm (should be removed from g1 builds), - # spi_flash, esp_hw_support + + # esp_driver_gpio is a dependency of esp_pm (should be removed from g1 builds), + # as well as spi_flash, esp_hw_support, IDF-10387 esp_driver_gpio - # esp_app_format is dependency of bootloader_support, app_update + + # esp_app_format is dependency of bootloader_support, app_update, efuse. + # All components that should be removed from G1 esp_app_format + # esp_bootloader_format is dependency of bootloader_support, app_update + # All components that should be removed from G1 esp_bootloader_format - # [refactor-todo]: + + # Dependency of bootloader_support, app_update, and esp_hw_support # Figure out if the esp_hw_support component can exist without a dependency on efuse. # efuse is used by the ADC calibration functions in esp_hw_support/adc_share_hw_ctrl.c, # it could use the efuse hal (if virtual efuse mode is not used for tests). # If not, see if esp_hw_support can provide minimal efuse component replacement in G1 build. + # Also used by security features (hmac and key-manager) and MAC support efuse - # esp_pm is pulled in by freertos, can be made a weak dependency - # conditional on related Kconfig option. It is also used by esp_wifi, driver, mbedtls, - # all of which should be removed from G1-only build. + + # esp_pm is pulled in by esp_system due to pm_init and freertos idle hook + # both could be moved to pm component if esp-system idle hook provided a way to register hooks + # esp_hw_support dependency seems like it could be removed? + # It is also used by esp_driver_gpio, mbedtls all of which should be removed from G1-only build. + # IDF-10415 esp_pm - # esp_timer is a dependency of freertos, esp_event, esp_wifi, driver. - # For freertos, it can be made a weak dependency conditional on FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER + + # esp_timer is a dependency of esp_pm, esp_system and esp_hw_support + # esp_pm should be removed from G1 build + # esp_system's dependency is due to usb_console (used for timeout functionality) + # and task_wdt timer implementation on C2, we could possibly place this implementation in esp_timer instead + # esp_hw_support uses it for esp_ds (used for timeout functionality) + # and for componensating time after sleep (dependency could be reversed) IDF-10416 esp_timer - # esptool_py is a dependency of bootloader, esp_wifi, app_update, partition_table, all of which + + # esptool_py is a dependency of bootloader, app_update, partition_table, all of which # should be removed from G1-only build. esptool_py + # mbedtls is a dependency of bootloader_support (plus other easier-to-remove ones) # it is hard to make it conditional, need to remove bootloader_support. mbedtls - # partition_table is pulled in by app_update, esptool_py, bootloader; all to be removed + + # partition_table is pulled in by app_update, esptool_py, bootloader, esp_partition; all to be removed partition_table - # esp_partition is a new component for separated IDF partition APIs. Added due to its involvement in the spi_flash - # code. To be possibly removed (?) + + # esp_partition is a new component for separated IDF partition APIs. Pulled in from app_update and efuse, + # both which should be removed esp_partition + # pthread is required by cxx. See [refactor-todo] about cxx, can it work without pthread? pthread )