change(core): update G1 dependencies descriptions

This commit is contained in:
Marius Vikhammer 2024-07-08 11:43:41 +08:00
parent 7696f0f9b2
commit 6042887eb3

View File

@ -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
)