idf_build_get_property(target IDF_TARGET) if(${target} STREQUAL "linux") return() # This component is not supported by the POSIX/Linux simulator endif() if(IDF_BUILD_V2) include(${CMAKE_CURRENT_LIST_DIR}/CMakeLists_v2.txt) return() endif() set(srcs "") set(includes "") if(CONFIG_ULP_COPROC_ENABLED OR CONFIG_IDF_DOC_BUILD) list(APPEND includes ulp_common/include) endif() if(CONFIG_ULP_COPROC_TYPE_FSM OR (CONFIG_IDF_DOC_BUILD AND CONFIG_SOC_ULP_FSM_SUPPORTED)) list(APPEND includes ulp_fsm/include ulp_fsm/include/${target}) endif() if(CONFIG_ULP_COPROC_TYPE_RISCV OR CONFIG_IDF_DOC_BUILD) list(APPEND includes ulp_riscv/include ulp_riscv/shared/include) endif() if(CONFIG_ULP_COPROC_TYPE_LP_CORE OR CONFIG_IDF_DOC_BUILD) list(APPEND includes lp_core/include lp_core/shared/include) endif() if(CONFIG_ULP_COPROC_TYPE_FSM OR CONFIG_ULP_COPROC_TYPE_RISCV) list(APPEND srcs "ulp_common/ulp_common.c" "ulp_common/ulp_adc.c") if(CONFIG_ULP_COPROC_TYPE_FSM) list(APPEND srcs "ulp_fsm/ulp.c" "ulp_fsm/ulp_macro.c") endif() if(CONFIG_ULP_COPROC_TYPE_RISCV) list(APPEND srcs "ulp_riscv/ulp_riscv.c" "ulp_riscv/ulp_riscv_lock.c" "ulp_riscv/ulp_riscv_i2c.c") endif() endif() if(CONFIG_ULP_COPROC_TYPE_LP_CORE) list(APPEND srcs "lp_core/lp_core.c" "lp_core/shared/ulp_lp_core_memory_shared.c" "lp_core/shared/ulp_lp_core_critical_section_shared.c") if(CONFIG_SOC_ULP_LP_UART_SUPPORTED) list(APPEND srcs "lp_core/lp_core_uart.c" "lp_core/shared/ulp_lp_core_lp_uart_shared.c") endif() if(CONFIG_SOC_LP_CORE_SUPPORT_I2C) list(APPEND srcs "lp_core/lp_core_i2c.c") endif() if(CONFIG_SOC_RTC_TIMER_V2 OR CONFIG_SOC_RTC_TIMER_V3) list(APPEND srcs "lp_core/shared/ulp_lp_core_lp_timer_shared.c") endif() if(CONFIG_SOC_LP_SPI_SUPPORTED) list(APPEND srcs "lp_core/lp_core_spi.c") endif() if(CONFIG_SOC_LP_CORE_SUPPORT_ETM) list(APPEND srcs "lp_core/lp_core_etm.c") endif() if(CONFIG_SOC_LP_ADC_SUPPORTED) list(APPEND srcs "lp_core/shared/ulp_lp_core_lp_adc_shared.c") endif() if(CONFIG_SOC_LP_VAD_SUPPORTED) list(APPEND srcs "lp_core/shared/ulp_lp_core_lp_vad_shared.c") endif() list(APPEND srcs "lp_core/lp_core_mailbox.c") if(CONFIG_SOC_LP_MAILBOX_SUPPORTED) list(APPEND srcs "lp_core/lp_core_mailbox_impl_hw.c") else() list(APPEND srcs "lp_core/lp_core_mailbox_impl_sw.c") endif() endif() idf_component_register( SRCS ${srcs} INCLUDE_DIRS ${includes} REQUIRES esp_adc esp_driver_gpio esp_driver_uart esp_driver_i2s esp_hal_i2c esp_hal_touch_sens esp_hal_gpspi esp_hal_pmu esp_hal_rtc_timer esp_hal_clock PRIV_REQUIRES bootloader_support esp_mm ) idf_define_esp_err_codes(HEADERS ulp_fsm/include/ulp_fsm_common.h)