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.
18 lines
432 B
Makefile
18 lines
432 B
Makefile
#
|
|
# Component Makefile
|
|
#
|
|
COMPONENT_ADD_INCLUDEDIRS := include
|
|
COMPONENT_SRCDIRS := src
|
|
COMPONENT_ADD_LDFRAGMENTS += linker.lf
|
|
|
|
ifndef CONFIG_ETH_USE_ESP32_EMAC
|
|
COMPONENT_OBJEXCLUDE += src/esp_eth_mac_esp32.o
|
|
endif
|
|
|
|
ifndef CONFIG_ETH_SPI_ETHERNET_DM9051
|
|
COMPONENT_OBJEXCLUDE += src/esp_eth_mac_dm9051.o src/esp_eth_phy_dm9051.o
|
|
endif
|
|
|
|
ifndef CONFIG_ETH_USE_OPENETH
|
|
COMPONENT_OBJEXCLUDE += src/esp_eth_mac_openeth.o
|
|
endif
|