diff --git a/components/esp_eth/CMakeLists.txt b/components/esp_eth/CMakeLists.txt index 5b8c7c572035..7701396bb5e4 100644 --- a/components/esp_eth/CMakeLists.txt +++ b/components/esp_eth/CMakeLists.txt @@ -44,7 +44,8 @@ if(CONFIG_ETH_ENABLED) endif() if(CONFIG_ETH_USE_OPENETH) - list(APPEND srcs "src/esp_eth_mac_openeth.c") + list(APPEND srcs "src/esp_eth_mac_openeth.c" + "src/esp_eth_phy_dp83848.c") endif() endif() diff --git a/components/esp_eth/src/esp_openeth.h b/components/esp_eth/src/esp_openeth.h new file mode 100644 index 000000000000..f4d10ea3b852 --- /dev/null +++ b/components/esp_eth/src/esp_openeth.h @@ -0,0 +1,24 @@ +/* + * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +#pragma once + +#include "sdkconfig.h" +#include "soc/interrupts.h" + +#if CONFIG_IDF_TARGET_ESP32C3 + +/** + * @brief Since ESP32-C3 target in QEMU doesn't support Wifi, re-use its interrupt source for ethernet + */ +#define ETS_ETH_MAC_INTR_SOURCE ETS_WIFI_MAC_INTR_SOURCE + + +/** + * @brief Use an empty I/O range for the ethernet registers + */ +#define DR_REG_EMAC_BASE 0x600CD000 + +#endif // CONFIG_IDF_TARGET_ESP32C3 diff --git a/components/esp_eth/src/openeth.h b/components/esp_eth/src/openeth.h index d7e4be23108b..da1e25a0d5d0 100644 --- a/components/esp_eth/src/openeth.h +++ b/components/esp_eth/src/openeth.h @@ -10,6 +10,7 @@ #include #include "sdkconfig.h" #include "soc/soc.h" +#include "esp_openeth.h" #include "esp_assert.h" #ifdef __cplusplus