mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-04 13:14:32 +02:00
refactor soc CMakeLists
This commit is contained in:
@@ -3,15 +3,123 @@ idf_build_get_property(target IDF_TARGET)
|
|||||||
# On Linux the soc component is a simple wrapper, without much functionality
|
# On Linux the soc component is a simple wrapper, without much functionality
|
||||||
if(NOT ${target} STREQUAL "linux")
|
if(NOT ${target} STREQUAL "linux")
|
||||||
set(srcs "lldesc.c"
|
set(srcs "lldesc.c"
|
||||||
"dport_access_common.c")
|
"dport_access_common.c"
|
||||||
|
"${target}/interrupts.c"
|
||||||
|
"${target}/gpio_periph.c"
|
||||||
|
"${target}/uart_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(includes "include" "${target}")
|
||||||
|
|
||||||
|
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${target}/include")
|
||||||
|
list(APPEND includes "${target}/include")
|
||||||
|
if(target STREQUAL "esp32h4")
|
||||||
|
if(CONFIG_IDF_TARGET_ESP32H4_BETA_VERSION_1)
|
||||||
|
list(APPEND includes "${target}/include/rev1")
|
||||||
|
elseif(CONFIG_IDF_TARGET_ESP32H4_BETA_VERSION_2)
|
||||||
|
list(APPEND includes "${target}/include/rev2")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(target STREQUAL "esp32")
|
||||||
|
list(APPEND srcs "${target}/dport_access.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_ADC_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/adc_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_DEDICATED_GPIO_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/dedic_gpio_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_GDMA_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/gdma_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_GPSPI_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/spi_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_LEDC_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/ledc_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_PCNT_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/pcnt_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_RMT_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/rmt_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_SDM_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/sdm_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_I2S_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/i2s_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_I2C_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/i2c_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_TEMP_SENSOR_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/temperature_sensor_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_GPTIMER_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/timer_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_LCDCAM_SUPPORTED OR CONFIG_SOC_LCD_I80_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/lcd_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_MCPWM_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/mcpwm_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_SDMMC_HOST_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/sdmmc_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_TOUCH_SENSOR_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/touch_sensor_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_TWAI_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/twai_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_USB_OTG_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/usb_periph.c"
|
||||||
|
"${target}/usb_otg_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_DAC_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/dac_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_RTCIO_PIN_COUNT GREATER 0)
|
||||||
|
list(APPEND srcs "${target}/rtc_io_periph.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CONFIG_SOC_SDIO_SLAVE_SUPPORTED)
|
||||||
|
list(APPEND srcs "${target}/sdio_slave_periph.c")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
idf_component_register(SRCS ${srcs}
|
idf_component_register(SRCS ${srcs}
|
||||||
INCLUDE_DIRS include
|
INCLUDE_DIRS ${includes}
|
||||||
LDFRAGMENTS "linker.lf")
|
LDFRAGMENTS "linker.lf")
|
||||||
|
|
||||||
idf_build_get_property(target IDF_TARGET)
|
if(target STREQUAL "esp32")
|
||||||
add_subdirectory(${target})
|
# esp_dport_access_reg_read is added as an undefined symbol because otherwise
|
||||||
|
# the linker can ignore dport_access.c as it would no other files depending on any symbols in it.
|
||||||
|
set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY INTERFACE_LINK_LIBRARIES "-u esp_dport_access_reg_read")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT CONFIG_IDF_TARGET_LINUX)
|
if(NOT CONFIG_IDF_TARGET_LINUX)
|
||||||
target_linker_script(${COMPONENT_LIB} INTERFACE "${target}/ld/${target}.peripherals.ld")
|
target_linker_script(${COMPONENT_LIB} INTERFACE "${target}/ld/${target}.peripherals.ld")
|
||||||
|
@@ -1,31 +0,0 @@
|
|||||||
set(srcs
|
|
||||||
"adc_periph.c"
|
|
||||||
"dac_periph.c"
|
|
||||||
"dport_access.c"
|
|
||||||
"gpio_periph.c"
|
|
||||||
"sdm_periph.c"
|
|
||||||
"i2c_periph.c"
|
|
||||||
"i2s_periph.c"
|
|
||||||
"interrupts.c"
|
|
||||||
"lcd_periph.c"
|
|
||||||
"ledc_periph.c"
|
|
||||||
"mcpwm_periph.c"
|
|
||||||
"pcnt_periph.c"
|
|
||||||
"rmt_periph.c"
|
|
||||||
"rtc_io_periph.c"
|
|
||||||
"sdio_slave_periph.c"
|
|
||||||
"sdmmc_periph.c"
|
|
||||||
"spi_periph.c"
|
|
||||||
"timer_periph.c"
|
|
||||||
"twai_periph.c"
|
|
||||||
"touch_sensor_periph.c"
|
|
||||||
"uart_periph.c")
|
|
||||||
|
|
||||||
add_prefix(srcs "${CMAKE_CURRENT_LIST_DIR}/" "${srcs}")
|
|
||||||
|
|
||||||
target_sources(${COMPONENT_LIB} PRIVATE "${srcs}")
|
|
||||||
target_include_directories(${COMPONENT_LIB} PUBLIC . include)
|
|
||||||
|
|
||||||
#esp_dport_access_reg_read is added as an undefined symbol because otherwise
|
|
||||||
#the linker can ignore dport_access.c as it would no other files depending on any symbols in it.
|
|
||||||
set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY INTERFACE_LINK_LIBRARIES "-u esp_dport_access_reg_read")
|
|
@@ -1,17 +0,0 @@
|
|||||||
set(srcs
|
|
||||||
"adc_periph.c"
|
|
||||||
"dedic_gpio_periph.c"
|
|
||||||
"gdma_periph.c"
|
|
||||||
"gpio_periph.c"
|
|
||||||
"interrupts.c"
|
|
||||||
"spi_periph.c"
|
|
||||||
"ledc_periph.c"
|
|
||||||
"i2c_periph.c"
|
|
||||||
"uart_periph.c"
|
|
||||||
"temperature_sensor_periph.c"
|
|
||||||
"timer_periph.c")
|
|
||||||
|
|
||||||
add_prefix(srcs "${CMAKE_CURRENT_LIST_DIR}/" "${srcs}")
|
|
||||||
|
|
||||||
target_sources(${COMPONENT_LIB} PRIVATE "${srcs}")
|
|
||||||
target_include_directories(${COMPONENT_LIB} PUBLIC . include)
|
|
@@ -1,21 +0,0 @@
|
|||||||
set(srcs
|
|
||||||
"adc_periph.c"
|
|
||||||
"dedic_gpio_periph.c"
|
|
||||||
"gdma_periph.c"
|
|
||||||
"gpio_periph.c"
|
|
||||||
"sdm_periph.c"
|
|
||||||
"interrupts.c"
|
|
||||||
"spi_periph.c"
|
|
||||||
"ledc_periph.c"
|
|
||||||
"rmt_periph.c"
|
|
||||||
"i2s_periph.c"
|
|
||||||
"i2c_periph.c"
|
|
||||||
"uart_periph.c"
|
|
||||||
"temperature_sensor_periph.c"
|
|
||||||
"timer_periph.c"
|
|
||||||
"twai_periph.c")
|
|
||||||
|
|
||||||
add_prefix(srcs "${CMAKE_CURRENT_LIST_DIR}/" "${srcs}")
|
|
||||||
|
|
||||||
target_sources(${COMPONENT_LIB} PRIVATE "${srcs}")
|
|
||||||
target_include_directories(${COMPONENT_LIB} PUBLIC . include)
|
|
@@ -1,25 +0,0 @@
|
|||||||
set(srcs
|
|
||||||
"adc_periph.c"
|
|
||||||
"dedic_gpio_periph.c"
|
|
||||||
"gdma_periph.c"
|
|
||||||
"gpio_periph.c"
|
|
||||||
"rtc_io_periph.c"
|
|
||||||
"sdm_periph.c"
|
|
||||||
"interrupts.c"
|
|
||||||
"spi_periph.c"
|
|
||||||
"ledc_periph.c"
|
|
||||||
"pcnt_periph.c"
|
|
||||||
"mcpwm_periph.c"
|
|
||||||
"rmt_periph.c"
|
|
||||||
"i2s_periph.c"
|
|
||||||
"i2c_periph.c"
|
|
||||||
"uart_periph.c"
|
|
||||||
"temperature_sensor_periph.c"
|
|
||||||
"timer_periph.c"
|
|
||||||
"twai_periph.c"
|
|
||||||
"sdio_slave_periph.c")
|
|
||||||
|
|
||||||
add_prefix(srcs "${CMAKE_CURRENT_LIST_DIR}/" "${srcs}")
|
|
||||||
|
|
||||||
target_sources(${COMPONENT_LIB} PRIVATE "${srcs}")
|
|
||||||
target_include_directories(${COMPONENT_LIB} PUBLIC . include)
|
|
@@ -1,34 +0,0 @@
|
|||||||
set(srcs
|
|
||||||
"adc_periph.c"
|
|
||||||
"dedic_gpio_periph.c"
|
|
||||||
"gdma_periph.c"
|
|
||||||
"gpio_periph.c"
|
|
||||||
"interrupts.c"
|
|
||||||
"spi_periph.c"
|
|
||||||
"ledc_periph.c"
|
|
||||||
"pcnt_periph.c"
|
|
||||||
"rmt_periph.c"
|
|
||||||
"sdm_periph.c"
|
|
||||||
"i2s_periph.c"
|
|
||||||
"i2c_periph.c"
|
|
||||||
"uart_periph.c"
|
|
||||||
"temperature_sensor_periph.c"
|
|
||||||
"timer_periph.c")
|
|
||||||
|
|
||||||
|
|
||||||
#// ESP32H2-TODO
|
|
||||||
list(REMOVE_ITEM srcs
|
|
||||||
"adc_periph.c"
|
|
||||||
"dedic_gpio_periph.c"
|
|
||||||
"ledc_periph.c"
|
|
||||||
"i2c_periph.c"
|
|
||||||
"temperature_sensor_periph.c"
|
|
||||||
"adc_periph.c"
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
add_prefix(srcs "${CMAKE_CURRENT_LIST_DIR}/" "${srcs}")
|
|
||||||
|
|
||||||
target_sources(${COMPONENT_LIB} PRIVATE "${srcs}")
|
|
||||||
target_include_directories(${COMPONENT_LIB} PUBLIC . include)
|
|
@@ -1,31 +0,0 @@
|
|||||||
set(srcs
|
|
||||||
"adc_periph.c"
|
|
||||||
"dedic_gpio_periph.c"
|
|
||||||
"gdma_periph.c"
|
|
||||||
"gpio_periph.c"
|
|
||||||
"sdm_periph.c"
|
|
||||||
"interrupts.c"
|
|
||||||
"spi_periph.c"
|
|
||||||
"ledc_periph.c"
|
|
||||||
"rmt_periph.c"
|
|
||||||
"i2s_periph.c"
|
|
||||||
"i2c_periph.c"
|
|
||||||
"uart_periph.c"
|
|
||||||
"temperature_sensor_periph.c"
|
|
||||||
"timer_periph.c")
|
|
||||||
|
|
||||||
add_prefix(srcs "${CMAKE_CURRENT_LIST_DIR}/" "${srcs}")
|
|
||||||
|
|
||||||
target_sources(${COMPONENT_LIB} PRIVATE "${srcs}")
|
|
||||||
|
|
||||||
set(inc_path "." "include")
|
|
||||||
|
|
||||||
if(target STREQUAL "esp32h4")
|
|
||||||
if(CONFIG_IDF_TARGET_ESP32H4_BETA_VERSION_1)
|
|
||||||
list(APPEND inc_path "include/rev1")
|
|
||||||
elseif(CONFIG_IDF_TARGET_ESP32H4_BETA_VERSION_2)
|
|
||||||
list(APPEND inc_path "include/rev2")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_include_directories(${COMPONENT_LIB} PUBLIC ${inc_path})
|
|
@@ -19,10 +19,6 @@ config SOC_GPTIMER_SUPPORTED
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config SOC_TWAI_SUPPORTED
|
|
||||||
bool
|
|
||||||
default y
|
|
||||||
|
|
||||||
config SOC_BT_SUPPORTED
|
config SOC_BT_SUPPORTED
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
@@ -37,7 +37,6 @@
|
|||||||
#define SOC_DEDICATED_GPIO_SUPPORTED 1
|
#define SOC_DEDICATED_GPIO_SUPPORTED 1
|
||||||
#define SOC_GDMA_SUPPORTED 1
|
#define SOC_GDMA_SUPPORTED 1
|
||||||
#define SOC_GPTIMER_SUPPORTED 1
|
#define SOC_GPTIMER_SUPPORTED 1
|
||||||
#define SOC_TWAI_SUPPORTED 1
|
|
||||||
#define SOC_BT_SUPPORTED 1
|
#define SOC_BT_SUPPORTED 1
|
||||||
#define SOC_IEEE802154_SUPPORTED 1
|
#define SOC_IEEE802154_SUPPORTED 1
|
||||||
#define SOC_IEEE802154_BLE_ONLY 1
|
#define SOC_IEEE802154_BLE_ONLY 1
|
||||||
|
@@ -1,27 +0,0 @@
|
|||||||
set(srcs
|
|
||||||
"adc_periph.c"
|
|
||||||
"dac_periph.c"
|
|
||||||
"dedic_gpio_periph.c"
|
|
||||||
"gpio_periph.c"
|
|
||||||
"sdm_periph.c"
|
|
||||||
"i2c_periph.c"
|
|
||||||
"i2s_periph.c"
|
|
||||||
"interrupts.c"
|
|
||||||
"lcd_periph.c"
|
|
||||||
"ledc_periph.c"
|
|
||||||
"pcnt_periph.c"
|
|
||||||
"rmt_periph.c"
|
|
||||||
"rtc_io_periph.c"
|
|
||||||
"spi_periph.c"
|
|
||||||
"timer_periph.c"
|
|
||||||
"touch_sensor_periph.c"
|
|
||||||
"twai_periph.c"
|
|
||||||
"uart_periph.c"
|
|
||||||
"usb_periph.c"
|
|
||||||
"temperature_sensor_periph.c"
|
|
||||||
"usb_otg_periph.c")
|
|
||||||
|
|
||||||
add_prefix(srcs "${CMAKE_CURRENT_LIST_DIR}/" "${srcs}")
|
|
||||||
|
|
||||||
target_sources(${COMPONENT_LIB} PRIVATE "${srcs}")
|
|
||||||
target_include_directories(${COMPONENT_LIB} PUBLIC . include)
|
|
@@ -1,29 +0,0 @@
|
|||||||
set(srcs
|
|
||||||
"adc_periph.c"
|
|
||||||
"dedic_gpio_periph.c"
|
|
||||||
"gdma_periph.c"
|
|
||||||
"gpio_periph.c"
|
|
||||||
"sdm_periph.c"
|
|
||||||
"i2c_periph.c"
|
|
||||||
"i2s_periph.c"
|
|
||||||
"interrupts.c"
|
|
||||||
"lcd_periph.c"
|
|
||||||
"ledc_periph.c"
|
|
||||||
"mcpwm_periph.c"
|
|
||||||
"pcnt_periph.c"
|
|
||||||
"rmt_periph.c"
|
|
||||||
"rtc_io_periph.c"
|
|
||||||
"sdmmc_periph.c"
|
|
||||||
"spi_periph.c"
|
|
||||||
"temperature_sensor_periph.c"
|
|
||||||
"timer_periph.c"
|
|
||||||
"touch_sensor_periph.c"
|
|
||||||
"twai_periph.c"
|
|
||||||
"uart_periph.c"
|
|
||||||
"usb_periph.c"
|
|
||||||
"usb_otg_periph.c")
|
|
||||||
|
|
||||||
add_prefix(srcs "${CMAKE_CURRENT_LIST_DIR}/" "${srcs}")
|
|
||||||
|
|
||||||
target_sources(${COMPONENT_LIB} PRIVATE "${srcs}")
|
|
||||||
target_include_directories(${COMPONENT_LIB} PUBLIC . include)
|
|
@@ -1 +0,0 @@
|
|||||||
target_include_directories(${COMPONENT_LIB} INTERFACE . include)
|
|
Reference in New Issue
Block a user