1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/cpu/esp32/Makefile.dep

203 lines
5.3 KiB
Makefile
Raw Normal View History

2018-10-08 12:20:49 +02:00
# additional modules dependencies
2019-12-12 13:46:20 +01:00
include $(RIOTCPU)/esp_common/Makefile.dep
USEPKG += esp32_sdk
USEMODULE += esp_idf_api
2022-02-01 22:11:43 +01:00
USEMODULE += esp_idf_common
USEMODULE += esp_idf_efuse
2022-02-01 22:11:43 +01:00
USEMODULE += esp_bootloader
2021-01-26 14:55:40 +01:00
ifneq (,$(filter newlib,$(USEMODULE)))
DEFAULT_MODULE += newlib_nano
2021-01-26 14:55:40 +01:00
endif
ifneq (,$(filter cpp,$(USEMODULE)))
USEMODULE += pthread
endif
2022-08-11 10:14:56 +02:00
ifneq (,$(filter esp_ble,$(USEMODULE)))
# add additional modules and packages used for any BLE interface
FEATURES_REQUIRED += esp_ble
USEMODULE += esp_idf_ble
USEPKG += esp32_sdk_lib_phy
ifeq (esp32,$(CPU_FAM))
FEATURES_REQUIRED += esp_ble_esp32
USEPKG += esp32_sdk_lib_bt_esp32
else ifneq (,$(filter esp32c3 esp32s3,$(CPU_FAM)))
FEATURES_REQUIRED += esp_ble_esp32c3
USEPKG += esp32_sdk_lib_bt_esp32c3
2022-08-11 10:14:56 +02:00
endif
endif
2018-10-08 12:20:49 +02:00
ifneq (,$(filter esp_eth,$(USEMODULE)))
FEATURES_REQUIRED += periph_eth
2019-12-12 13:46:20 +01:00
USEMODULE += esp_idf_eth
2022-02-01 22:11:43 +01:00
USEMODULE += esp_idf_event
USEMODULE += esp_idf_gpio
USEMODULE += esp_idf_spi_flash
2019-12-12 13:46:20 +01:00
USEMODULE += netdev_eth
USEMODULE += netopt
USEMODULE += ztimer_msec
2018-10-08 12:20:49 +02:00
endif
ifneq (,$(filter esp_wifi_any,$(USEMODULE)))
2022-02-01 22:11:43 +01:00
# add additional modules and packages used for any WiFi interface
USEPKG += esp32_sdk_lib_phy
USEPKG += esp32_sdk_lib_wifi
USEMODULE += esp_idf_event
2019-12-12 13:46:20 +01:00
USEMODULE += esp_idf_heap
USEMODULE += esp_idf_nvs_flash
2022-02-01 22:11:43 +01:00
USEMODULE += esp_idf_spi_flash
USEMODULE += esp_idf_wifi
USEMODULE += esp_idf_wpa_supplicant
USEMODULE += esp_idf_wpa_supplicant_esp_supplicant
USEMODULE += esp_idf_wpa_supplicant_port
USEMODULE += esp_idf_wpa_supplicant_ap
USEMODULE += esp_idf_wpa_supplicant_common
USEMODULE += esp_idf_wpa_supplicant_crypto
USEMODULE += esp_idf_wpa_supplicant_eap_peer
USEMODULE += esp_idf_wpa_supplicant_rsn_supp
USEMODULE += esp_idf_wpa_supplicant_tls
USEMODULE += esp_idf_wpa_supplicant_utils
USEMODULE += esp_idf_wpa_supplicant_wps
2022-02-01 22:11:43 +01:00
USEMODULE += pthread
2018-10-08 12:20:49 +02:00
endif
ifneq (,$(filter esp_hw_counter,$(USEMODULE)))
FEATURES_REQUIRED += esp_hw_counter
endif
2018-11-10 14:14:49 +01:00
ifneq (,$(filter esp_idf_nvs_flash,$(USEMODULE)))
2019-12-12 13:46:20 +01:00
# add additional modules required by esp_idf_nvs_flash
USEMODULE += pthread
2019-12-12 13:46:20 +01:00
USEMODULE += mtd
2018-11-10 14:14:49 +01:00
endif
ifneq (,$(filter esp_idf_wifi,$(USEMODULE)))
# add additional modules required by esp_idf_wifi
USEMODULE += esp_idf_adc
endif
ifneq (,$(filter periph_rtt,$(USEMODULE)))
FEATURES_OPTIONAL += esp_rtc_timer_32k
endif
ifneq (,$(filter esp_rtc_timer_32k,$(FEATURES_USED)))
USEMODULE += esp_rtc_timer_32k
endif
ifneq (,$(filter periph_gpio,$(USEMODULE)))
USEMODULE += esp_idf_gpio
endif
ifneq (,$(filter periph_i2c,$(USEMODULE)))
2019-12-12 13:46:20 +01:00
ifneq (,$(filter esp_i2c_hw,$(USEMODULE)))
USEMODULE += ztimer_msec
2019-12-12 13:46:20 +01:00
USEMODULE += periph_i2c_hw
else
# PLEASE NOTE: because of the very poor and faulty hardware implementation
# we use software implementation by default for the moment (if module
# esp_i2c_hw is not explicitly used)
USEMODULE += esp_i2c_sw
USEMODULE += periph_i2c_sw
endif
2018-10-08 12:20:49 +02:00
endif
2023-06-28 17:31:54 +02:00
ifneq (,$(filter periph_sdmmc,$(USEMODULE)))
USEMODULE += esp_idf_sdmmc
USEMODULE += periph_gpio_irq
endif
ifneq (,$(filter esp_spi_ram,$(USEMODULE)))
FEATURES_REQUIRED += esp_spi_ram
FEATURES_OPTIONAL += esp_spi_oct
2022-02-01 22:11:43 +01:00
USEMODULE += esp_idf_gpio
USEMODULE += esp_idf_heap
USEMODULE += esp_idf_spi_flash
USEMODULE += esp_idf_spi_ram
endif
ifneq (,$(filter esp_spi_oct,$(FEATURES_USED)))
USEMODULE += esp_spi_oct
endif
ifneq (,$(filter esp_idf_heap,$(USEMODULE)))
# The ESP-IDF heap component uses the TLSF implementation that is part of
# the component. To avoid conflicts with modules and packages that use the
# RIOT package `tlsf`, this package is also used for the ESP-IDF heap instead
# of its own implementation. There does not seem to be any differences in
# the implementations of TLSF with the exception of heap poisoning, which
# is not configured.
USEPKG += tlsf
endif
ifneq (,$(filter lcd_parallel_ll_mcu,$(USEMODULE)))
USEMODULE += esp_lcd
USEMODULE += esp_idf_lcd
USEMODULE += esp_idf_heap
endif
2023-01-07 13:11:31 +01:00
ifneq (,$(filter mtd periph_flashpage,$(USEMODULE)))
2019-12-12 13:46:20 +01:00
USEMODULE += esp_idf_spi_flash
2018-10-08 12:20:49 +02:00
endif
ifneq (,$(filter nimble,$(USEPKG)))
USEMODULE += esp_ble
USEMODULE += esp_ble_nimble
USEMODULE += nimble_host
USEMODULE += nimble_transport_hci_h4
USEMODULE += ztimer_msec
endif
ifneq (,$(filter periph_adc,$(USEMODULE)))
USEMODULE += esp_idf_adc
endif
ifneq (,$(filter periph_rtc,$(USEMODULE)))
USEMODULE += rtt_rtc
endif
2020-02-20 08:30:06 +01:00
ifneq (,$(filter pm_layered,$(USEMODULE)))
USEMODULE += periph_rtt
2020-02-20 08:30:06 +01:00
endif
ifneq (,$(filter periph_rtt,$(USEMODULE)))
USEMODULE += periph_rtt_hw_sys
USEMODULE += periph_rtt_hw_rtc
endif
ifneq (,$(filter periph_usbdev,$(USEMODULE)))
USEMODULE += esp_idf_usb
USEMODULE += usbdev_synopsys_dwc2
endif
2018-10-08 12:20:49 +02:00
ifneq (,$(filter shell,$(USEMODULE)))
2019-12-12 13:46:20 +01:00
USEMODULE += ps
endif
2022-12-29 00:35:41 +01:00
ifneq (,$(filter stdio_usb_serial_jtag, $(USEMODULE)))
USEMODULE += tsrb
ifneq (,$(filter stdin,$(USEMODULE)))
USEMODULE += stdio_usb_serial_jtag_rx
endif
endif
ifneq (,$(filter stdio_usb_serial_jtag_rx, $(USEMODULE)))
USEMODULE += isrpipe
USEMODULE += stdio_available
endif
ifneq (,$(filter tinyusb_portable_espressif,$(USEMODULE)))
USEMODULE += esp_idf_usb
endif
ifneq (,$(filter esp_jtag,$(USEMODULE)))
FEATURES_REQUIRED += esp_jtag
endif
2023-01-06 01:37:28 +01:00
# enable bootloader reset over USB, requires CDC ACM to be used
ifneq (,$(filter usbus_cdc_acm tinyusb_class_cdc,$(USEMODULE)))
USEMODULE += usb_board_reset
endif