mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
31dac92e5f
OpenCores Ethernet MAC has a relatively simple interface, and is already supported in QEMU. This makes it a good candidate for enabling network support when running IDF apps in QEMU, compared to the relatively more complex task of writing a QEMU model of ESP32 EMAC. This driver is written with QEMU in mind: it does not implement or handle things that aren't implemented or handled in the QEMU model: error flags, error interrupts. The transmit part of the driver also assumes that the TX operation is done immediately when the TX descriptor is written (which is the case with QEMU), hence waiting for the TX operation to complete is not necessary. For simplicity, the driver assumes that the peripheral register occupy the same memory range as the ESP32 EMAC registers, and the same interrupt source number is used.
25 lines
811 B
CMake
25 lines
811 B
CMake
set(esp_eth_srcs "src/esp_eth.c"
|
|
"src/esp_eth_phy_dp83848.c"
|
|
"src/esp_eth_phy_ip101.c"
|
|
"src/esp_eth_phy_lan8720.c"
|
|
"src/esp_eth_phy_rtl8201.c")
|
|
|
|
if(CONFIG_ETH_USE_ESP32_EMAC)
|
|
list(APPEND esp_eth_srcs "src/esp_eth_mac_esp32.c")
|
|
endif()
|
|
|
|
if(CONFIG_ETH_SPI_ETHERNET_DM9051)
|
|
list(APPEND esp_eth_srcs "src/esp_eth_mac_dm9051.c"
|
|
"src/esp_eth_phy_dm9051.c")
|
|
endif()
|
|
|
|
if(CONFIG_ETH_USE_OPENETH)
|
|
list(APPEND esp_eth_srcs "src/esp_eth_mac_openeth.c")
|
|
endif()
|
|
|
|
idf_component_register(SRCS "${esp_eth_srcs}"
|
|
INCLUDE_DIRS "include"
|
|
LDFRAGMENTS "linker.lf"
|
|
REQUIRES "esp_event"
|
|
PRIV_REQUIRES "tcpip_adapter" "driver" "log")
|