2020-07-29 01:13:51 -04:00
|
|
|
idf_build_get_property(target IDF_TARGET)
|
|
|
|
|
2023-08-28 02:02:08 -04:00
|
|
|
if(${target} STREQUAL "linux")
|
|
|
|
return() # This component is not supported by the POSIX/Linux simulator
|
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# Always compiled source files
|
2020-01-16 22:47:08 -05:00
|
|
|
set(srcs
|
2022-04-29 01:40:23 -04:00
|
|
|
"gpio/gpio.c"
|
2022-10-11 06:04:54 -04:00
|
|
|
"gpio/gpio_glitch_filter_ops.c"
|
2023-01-31 01:36:21 -05:00
|
|
|
"gpio/rtc_io.c"
|
|
|
|
"spi/spi_bus_lock.c")
|
|
|
|
|
|
|
|
# Always included headers
|
|
|
|
set(includes "include"
|
|
|
|
"deprecated"
|
2023-03-01 06:50:45 -05:00
|
|
|
"analog_comparator/include"
|
2023-01-31 01:36:21 -05:00
|
|
|
"dac/include"
|
|
|
|
"gpio/include"
|
|
|
|
"gptimer/include"
|
|
|
|
"i2c/include"
|
|
|
|
"i2s/include"
|
|
|
|
"ledc/include"
|
|
|
|
"mcpwm/include"
|
2022-12-05 22:57:43 -05:00
|
|
|
"parlio/include"
|
2023-01-31 01:36:21 -05:00
|
|
|
"pcnt/include"
|
|
|
|
"rmt/include"
|
|
|
|
"sdio_slave/include"
|
|
|
|
"sdmmc/include"
|
|
|
|
"sigma_delta/include"
|
|
|
|
"spi/include"
|
|
|
|
"temperature_sensor/include"
|
|
|
|
"touch_sensor/include"
|
|
|
|
"twai/include"
|
|
|
|
"uart/include"
|
|
|
|
"usb_serial_jtag/include")
|
|
|
|
|
2023-08-29 00:25:05 -04:00
|
|
|
# Always included linker fragments
|
|
|
|
set(ldfragments "linker.lf"
|
|
|
|
"gpio/linker.lf")
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# ADC related source files (dprecated)
|
2021-12-15 01:15:32 -05:00
|
|
|
if(CONFIG_SOC_ADC_SUPPORTED)
|
2022-07-15 00:52:44 -04:00
|
|
|
list(APPEND srcs "deprecated/adc_legacy.c")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(CONFIG_SOC_ADC_DMA_SUPPORTED)
|
|
|
|
list(APPEND srcs "deprecated/adc_dma_legacy.c")
|
2021-12-15 01:15:32 -05:00
|
|
|
endif()
|
|
|
|
|
2023-03-01 06:50:45 -05:00
|
|
|
# Analog comparator related source files
|
|
|
|
if(CONFIG_SOC_ANA_CMPR_SUPPORTED)
|
|
|
|
list(APPEND srcs "analog_comparator/ana_cmpr.c")
|
2023-07-28 03:40:38 -04:00
|
|
|
if(CONFIG_SOC_ANA_CMPR_SUPPORT_ETM)
|
|
|
|
list(APPEND srcs "analog_comparator/ana_cmpr_etm.c")
|
|
|
|
endif()
|
2023-03-01 06:50:45 -05:00
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# DAC related source files
|
|
|
|
if(CONFIG_SOC_DAC_SUPPORTED)
|
|
|
|
list(APPEND srcs "dac/dac_oneshot.c"
|
|
|
|
"dac/dac_cosine.c"
|
|
|
|
"dac/dac_continuous.c"
|
|
|
|
"dac/dac_common.c"
|
|
|
|
"dac/${target}/dac_dma.c"
|
|
|
|
"deprecated/dac_common_legacy.c"
|
|
|
|
"deprecated/${target}/dac_legacy.c")
|
2021-12-13 21:08:26 -05:00
|
|
|
endif()
|
|
|
|
|
2022-12-05 22:57:43 -05:00
|
|
|
# Parallel IO related source files
|
|
|
|
if(CONFIG_SOC_PARLIO_SUPPORTED)
|
|
|
|
list(APPEND srcs "parlio/parlio_common.c" "parlio/parlio_tx.c")
|
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# GPIO related source files
|
2021-12-01 07:15:05 -05:00
|
|
|
if(CONFIG_SOC_DEDICATED_GPIO_SUPPORTED)
|
2022-04-29 01:40:23 -04:00
|
|
|
list(APPEND srcs "gpio/dedic_gpio.c")
|
2021-12-01 07:15:05 -05:00
|
|
|
endif()
|
|
|
|
|
2022-10-11 06:04:54 -04:00
|
|
|
if(CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER)
|
|
|
|
list(APPEND srcs "gpio/gpio_pin_glitch_filter.c")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM GREATER 0)
|
|
|
|
list(APPEND srcs "gpio/gpio_flex_glitch_filter.c")
|
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
if(CONFIG_SOC_GPIO_SUPPORT_ETM)
|
|
|
|
list(APPEND srcs "gpio/gpio_etm.c")
|
2021-12-23 22:10:38 -05:00
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# GPTimer related source files
|
|
|
|
if(CONFIG_SOC_GPTIMER_SUPPORTED)
|
|
|
|
list(APPEND srcs "gptimer/gptimer.c"
|
2023-03-06 00:32:35 -05:00
|
|
|
"gptimer/gptimer_priv.c"
|
2023-01-31 01:36:21 -05:00
|
|
|
"deprecated/timer_legacy.c")
|
2023-08-29 00:25:05 -04:00
|
|
|
|
|
|
|
list(APPEND ldfragments "gptimer/linker.lf")
|
2021-12-23 22:10:38 -05:00
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
if(CONFIG_SOC_TIMER_SUPPORT_ETM)
|
|
|
|
list(APPEND srcs "gptimer/gptimer_etm.c")
|
2022-08-22 10:03:30 -04:00
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# I2C related source files
|
|
|
|
if(CONFIG_SOC_I2C_SUPPORTED)
|
2023-08-03 00:29:44 -04:00
|
|
|
list(APPEND srcs "i2c/i2c.c"
|
|
|
|
"i2c/i2c_master.c"
|
|
|
|
"i2c/i2c_common.c"
|
|
|
|
)
|
2023-10-24 06:44:49 -04:00
|
|
|
if(CONFIG_SOC_I2C_SUPPORT_SLAVE)
|
|
|
|
list(APPEND srcs "i2c/i2c_slave.c")
|
|
|
|
endif()
|
2023-08-29 00:25:05 -04:00
|
|
|
|
|
|
|
list(APPEND ldfragments "i2c/linker.lf")
|
2022-02-08 15:22:36 -05:00
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# I2S related source files
|
2022-02-15 21:22:46 -05:00
|
|
|
if(CONFIG_SOC_I2S_SUPPORTED)
|
2021-08-18 07:45:51 -04:00
|
|
|
list(APPEND srcs "i2s/i2s_common.c"
|
2023-09-07 04:47:26 -04:00
|
|
|
"i2s/i2s_platform.c"
|
2021-08-18 07:45:51 -04:00
|
|
|
"i2s/i2s_std.c"
|
2022-04-07 03:32:46 -04:00
|
|
|
"deprecated/i2s_legacy.c")
|
2021-08-18 07:45:51 -04:00
|
|
|
if(CONFIG_SOC_I2S_SUPPORTS_PDM)
|
|
|
|
list(APPEND srcs "i2s/i2s_pdm.c")
|
|
|
|
endif()
|
|
|
|
if(CONFIG_SOC_I2S_SUPPORTS_TDM)
|
|
|
|
list(APPEND srcs "i2s/i2s_tdm.c")
|
|
|
|
endif()
|
2022-02-15 21:22:46 -05:00
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# LEDC related source files
|
|
|
|
if(CONFIG_SOC_LEDC_SUPPORTED)
|
|
|
|
list(APPEND srcs "ledc/ledc.c")
|
2023-09-21 07:27:43 -04:00
|
|
|
|
|
|
|
list(APPEND ldfragments "ledc/linker.lf")
|
2022-03-04 05:04:20 -05:00
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# MCPWM related source files
|
|
|
|
if(CONFIG_SOC_MCPWM_SUPPORTED)
|
|
|
|
list(APPEND srcs "mcpwm/mcpwm_cap.c"
|
|
|
|
"mcpwm/mcpwm_cmpr.c"
|
|
|
|
"mcpwm/mcpwm_com.c"
|
|
|
|
"mcpwm/mcpwm_fault.c"
|
|
|
|
"mcpwm/mcpwm_gen.c"
|
|
|
|
"mcpwm/mcpwm_oper.c"
|
|
|
|
"mcpwm/mcpwm_sync.c"
|
|
|
|
"mcpwm/mcpwm_timer.c"
|
|
|
|
"deprecated/mcpwm_legacy.c")
|
2023-08-24 04:13:17 -04:00
|
|
|
if(CONFIG_SOC_MCPWM_SUPPORT_ETM)
|
|
|
|
list(APPEND srcs "mcpwm/mcpwm_etm.c")
|
|
|
|
endif()
|
2023-09-11 02:52:42 -04:00
|
|
|
list(APPEND ldfragments "mcpwm/linker.lf")
|
2022-02-15 21:22:46 -05:00
|
|
|
endif()
|
2021-12-23 22:10:38 -05:00
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# PCNT related source files
|
|
|
|
if(CONFIG_SOC_PCNT_SUPPORTED)
|
|
|
|
list(APPEND srcs "pcnt/pulse_cnt.c"
|
|
|
|
"deprecated/pcnt_legacy.c")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# RMT related source files
|
|
|
|
if(CONFIG_SOC_RMT_SUPPORTED)
|
|
|
|
list(APPEND srcs "rmt/rmt_common.c"
|
|
|
|
"rmt/rmt_encoder.c"
|
|
|
|
"rmt/rmt_rx.c"
|
|
|
|
"rmt/rmt_tx.c"
|
|
|
|
"deprecated/rmt_legacy.c")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# SDIO Slave related source files
|
|
|
|
if(CONFIG_SOC_SDIO_SLAVE_SUPPORTED)
|
|
|
|
list(APPEND srcs "sdio_slave/sdio_slave.c")
|
2022-04-29 01:40:23 -04:00
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# SDMMC related source files
|
|
|
|
if(CONFIG_SOC_SDMMC_HOST_SUPPORTED)
|
|
|
|
list(APPEND srcs "sdmmc/sdmmc_transaction.c"
|
|
|
|
"sdmmc/sdmmc_host.c")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# Sigma-Delta Modulation related source files
|
|
|
|
if(CONFIG_SOC_SDM_SUPPORTED)
|
|
|
|
list(APPEND srcs "sigma_delta/sdm.c"
|
|
|
|
"deprecated/sigma_delta_legacy.c")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# SPI related source files
|
2022-12-28 22:01:13 -05:00
|
|
|
if(CONFIG_SOC_GPSPI_SUPPORTED)
|
2023-01-31 01:36:21 -05:00
|
|
|
list(APPEND srcs "spi/gpspi/spi_common.c"
|
|
|
|
"spi/gpspi/spi_master.c"
|
|
|
|
"spi/gpspi/spi_slave.c"
|
|
|
|
"spi/sdspi/sdspi_crc.c"
|
|
|
|
"spi/sdspi/sdspi_host.c"
|
|
|
|
"spi/sdspi/sdspi_transaction.c")
|
2022-12-28 22:01:13 -05:00
|
|
|
endif()
|
|
|
|
|
2022-02-16 05:30:38 -05:00
|
|
|
if(CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2)
|
2023-01-31 01:36:21 -05:00
|
|
|
list(APPEND srcs "spi/gpspi/spi_slave_hd.c")
|
2022-02-16 05:30:38 -05:00
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# Temperature Sensor related source files
|
|
|
|
if(CONFIG_SOC_TEMP_SENSOR_SUPPORTED)
|
|
|
|
list(APPEND srcs "temperature_sensor/temperature_sensor.c"
|
|
|
|
"deprecated/rtc_temperature_legacy.c")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# Touch Sensor related source files
|
2022-07-21 01:42:25 -04:00
|
|
|
if(CONFIG_SOC_TOUCH_SENSOR_SUPPORTED)
|
2023-01-31 01:36:21 -05:00
|
|
|
list(APPEND srcs "touch_sensor/touch_sensor_common.c"
|
|
|
|
"touch_sensor/${target}/touch_sensor.c")
|
|
|
|
list(APPEND includes "touch_sensor/${target}/include")
|
2022-05-09 05:33:51 -04:00
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# TWAI related source files
|
|
|
|
if(CONFIG_SOC_TWAI_SUPPORTED)
|
|
|
|
list(APPEND srcs "twai/twai.c")
|
2023-08-29 00:25:05 -04:00
|
|
|
|
|
|
|
list(APPEND ldfragments "twai/linker.lf")
|
2022-05-28 05:03:05 -04:00
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# UART related source files
|
|
|
|
if(CONFIG_SOC_UART_SUPPORTED)
|
|
|
|
list(APPEND srcs "uart/uart.c")
|
2023-08-29 00:25:05 -04:00
|
|
|
|
|
|
|
list(APPEND ldfragments "uart/linker.lf")
|
2023-01-31 01:36:21 -05:00
|
|
|
endif()
|
|
|
|
|
|
|
|
# USB Serial JTAG related source files
|
|
|
|
if(CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED)
|
2022-11-07 12:54:23 -05:00
|
|
|
list(APPEND srcs "usb_serial_jtag/usb_serial_jtag.c"
|
|
|
|
"usb_serial_jtag/usb_serial_jtag_connection_monitor.c")
|
2022-10-10 07:17:22 -04:00
|
|
|
endif()
|
|
|
|
|
2023-01-31 01:36:21 -05:00
|
|
|
# Other source files
|
2020-07-29 01:13:51 -04:00
|
|
|
if(${target} STREQUAL "esp32")
|
2022-05-24 05:26:36 -04:00
|
|
|
list(APPEND srcs "deprecated/adc_i2s_deprecated.c")
|
2019-06-20 04:13:47 -04:00
|
|
|
endif()
|
|
|
|
|
2022-01-28 06:47:04 -05:00
|
|
|
if(BOOTLOADER_BUILD)
|
|
|
|
# Bootloader shall NOT depend on the drivers
|
|
|
|
idf_component_register()
|
|
|
|
else()
|
|
|
|
# (REQUIRES cannot hide soc headers, since many arguments in the driver headers are chip-dependent)
|
2022-07-15 00:52:44 -04:00
|
|
|
# (Legacy drivers requires `esp_adc`, due to ADC HW resource mutex logics are there.
|
|
|
|
# Can be removed together with legacy drivers)
|
2022-01-28 06:47:04 -05:00
|
|
|
idf_component_register(SRCS "${srcs}"
|
2023-08-29 00:25:05 -04:00
|
|
|
INCLUDE_DIRS ${includes}
|
2023-09-07 04:47:26 -04:00
|
|
|
PRIV_REQUIRES efuse esp_timer esp_mm
|
2023-08-29 00:25:05 -04:00
|
|
|
REQUIRES esp_pm esp_ringbuf freertos soc hal esp_hw_support
|
|
|
|
LDFRAGMENTS ${ldfragments}
|
|
|
|
)
|
2022-01-28 06:47:04 -05:00
|
|
|
endif()
|
2022-11-07 12:54:23 -05:00
|
|
|
|
|
|
|
# If system needs to monitor USJ connection status, then usb_serial_jtag_connection_monitor object file has to be linked
|
|
|
|
# to the binary, to allow tick hook to be registered
|
|
|
|
if(CONFIG_USJ_NO_AUTO_LS_ON_CONNECTION OR
|
|
|
|
(CONFIG_SOC_USB_SERIAL_JTAG_SUPPORT_LIGHT_SLEEP AND CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED))
|
|
|
|
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u usb_serial_jtag_connection_monitor_include")
|
|
|
|
endif()
|