mirror of
https://github.com/espressif/esp-idf.git
synced 2025-10-03 10:30:58 +02:00
fix(ethernet_init): Update Ethernet Init Calls
Removed references to components/ethernet_init to use new managed component ethernet_init.
This commit is contained in:
@@ -296,13 +296,13 @@ The Ethernet driver is implemented in an Object-Oriented style. Any operation on
|
||||
|
||||
eth_mac_config_t mac_config = ETH_MAC_DEFAULT_CONFIG(); // apply default common MAC configuration
|
||||
eth_esp32_emac_config_t esp32_emac_config = ETH_ESP32_EMAC_DEFAULT_CONFIG(); // apply default vendor-specific MAC configuration
|
||||
esp32_emac_config.smi_gpio.mdc_num = CONFIG_EXAMPLE_ETH_MDC_GPIO; // alter the GPIO used for MDC signal
|
||||
esp32_emac_config.smi_gpio.mdio_num = CONFIG_EXAMPLE_ETH_MDIO_GPIO; // alter the GPIO used for MDIO signal
|
||||
esp32_emac_config.smi_gpio.mdc_num = CONFIG_ETHERNET_MDC_GPIO; // alter the GPIO used for MDC signal
|
||||
esp32_emac_config.smi_gpio.mdio_num = CONFIG_ETHERNET_MDIO_GPIO; // alter the GPIO used for MDIO signal
|
||||
esp_eth_mac_t *mac = esp_eth_mac_new_esp32(&esp32_emac_config, &mac_config); // create MAC instance
|
||||
|
||||
eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); // apply default PHY configuration
|
||||
phy_config.phy_addr = CONFIG_EXAMPLE_ETH_PHY_ADDR; // alter the PHY address according to your board design
|
||||
phy_config.reset_gpio_num = CONFIG_EXAMPLE_ETH_PHY_RST_GPIO; // alter the GPIO used for PHY reset
|
||||
phy_config.phy_addr = CONFIG_ETHERNET_PHY_ADDR; // alter the PHY address according to your board design
|
||||
phy_config.reset_gpio_num = CONFIG_ETHERNET_PHY_RST_GPIO; // alter the GPIO used for PHY reset
|
||||
esp_eth_phy_t *phy = esp_eth_phy_new_generic(&phy_config); // create generic PHY instance
|
||||
// ESP-IDF officially supports several different specific Ethernet PHY chip driver
|
||||
// esp_eth_phy_t *phy = esp_eth_phy_new_ip101(&phy_config);
|
||||
@@ -341,30 +341,30 @@ SPI-Ethernet Module
|
||||
|
||||
eth_mac_config_t mac_config = ETH_MAC_DEFAULT_CONFIG(); // apply default common MAC configuration
|
||||
eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); // apply default PHY configuration
|
||||
phy_config.phy_addr = CONFIG_EXAMPLE_ETH_PHY_ADDR; // alter the PHY address according to your board design
|
||||
phy_config.reset_gpio_num = CONFIG_EXAMPLE_ETH_PHY_RST_GPIO; // alter the GPIO used for PHY reset
|
||||
phy_config.phy_addr = CONFIG_ETHERNET_PHY_ADDR; // alter the PHY address according to your board design
|
||||
phy_config.reset_gpio_num = CONFIG_ETHERNET_PHY_RST_GPIO; // alter the GPIO used for PHY reset
|
||||
// Install GPIO interrupt service (as the SPI-Ethernet module is interrupt-driven)
|
||||
gpio_install_isr_service(0);
|
||||
// SPI bus configuration
|
||||
spi_device_handle_t spi_handle = NULL;
|
||||
spi_bus_config_t buscfg = {
|
||||
.miso_io_num = CONFIG_EXAMPLE_ETH_SPI_MISO_GPIO,
|
||||
.mosi_io_num = CONFIG_EXAMPLE_ETH_SPI_MOSI_GPIO,
|
||||
.sclk_io_num = CONFIG_EXAMPLE_ETH_SPI_SCLK_GPIO,
|
||||
.miso_io_num = CONFIG_ETHERNET_SPI_MISO_GPIO,
|
||||
.mosi_io_num = CONFIG_ETHERNET_SPI_MOSI_GPIO,
|
||||
.sclk_io_num = CONFIG_ETHERNET_SPI_SCLK_GPIO,
|
||||
.quadwp_io_num = -1,
|
||||
.quadhd_io_num = -1,
|
||||
};
|
||||
ESP_ERROR_CHECK(spi_bus_initialize(CONFIG_EXAMPLE_ETH_SPI_HOST, &buscfg, 1));
|
||||
ESP_ERROR_CHECK(spi_bus_initialize(CONFIG_ETHERNET_SPI_HOST, &buscfg, 1));
|
||||
// Configure SPI device
|
||||
spi_device_interface_config_t spi_devcfg = {
|
||||
.mode = 0,
|
||||
.clock_speed_hz = CONFIG_EXAMPLE_ETH_SPI_CLOCK_MHZ * 1000 * 1000,
|
||||
.spics_io_num = CONFIG_EXAMPLE_ETH_SPI_CS_GPIO,
|
||||
.clock_speed_hz = CONFIG_ETHERNET_SPI_CLOCK_MHZ * 1000 * 1000,
|
||||
.spics_io_num = CONFIG_ETHERNET_SPI_CS_GPIO,
|
||||
.queue_size = 20
|
||||
};
|
||||
/* dm9051 ethernet driver is based on spi driver */
|
||||
eth_dm9051_config_t dm9051_config = ETH_DM9051_DEFAULT_CONFIG(CONFIG_EXAMPLE_ETH_SPI_HOST, &spi_devcfg);
|
||||
dm9051_config.int_gpio_num = CONFIG_EXAMPLE_ETH_SPI_INT_GPIO;
|
||||
eth_dm9051_config_t dm9051_config = ETH_DM9051_DEFAULT_CONFIG(CONFIG_ETHERNET_SPI_HOST, &spi_devcfg);
|
||||
dm9051_config.int_gpio_num = CONFIG_ETHERNET_SPI_INT_GPIO;
|
||||
esp_eth_mac_t *mac = esp_eth_mac_new_dm9051(&dm9051_config, &mac_config);
|
||||
esp_eth_phy_t *phy = esp_eth_phy_new_dm9051(&phy_config);
|
||||
|
||||
|
@@ -297,13 +297,13 @@ ESP-IDF 在宏 :c:macro:`ETH_MAC_DEFAULT_CONFIG` 和 :c:macro:`ETH_PHY_DEFAULT_C
|
||||
|
||||
eth_mac_config_t mac_config = ETH_MAC_DEFAULT_CONFIG(); // 应用默认的通用 MAC 配置
|
||||
eth_esp32_emac_config_t esp32_emac_config = ETH_ESP32_EMAC_DEFAULT_CONFIG(); // 应用默认的供应商特定 MAC 配置
|
||||
esp32_emac_config.smi_gpio.mdc_num = CONFIG_EXAMPLE_ETH_MDC_GPIO; // 更改用于 MDC 信号的 GPIO
|
||||
esp32_emac_config.smi_gpio.mdio_num = CONFIG_EXAMPLE_ETH_MDIO_GPIO; // 更改用于 MDIO 信号的 GPIO
|
||||
esp32_emac_config.smi_gpio.mdc_num = CONFIG_ETHERNET_MDC_GPIO; // 更改用于 MDC 信号的 GPIO
|
||||
esp32_emac_config.smi_gpio.mdio_num = CONFIG_ETHERNET_MDIO_GPIO; // 更改用于 MDIO 信号的 GPIO
|
||||
esp_eth_mac_t *mac = esp_eth_mac_new_esp32(&esp32_emac_config, &mac_config); // 创建 MAC 实例
|
||||
|
||||
eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); // 应用默认的 PHY 配置
|
||||
phy_config.phy_addr = CONFIG_EXAMPLE_ETH_PHY_ADDR; // 根据开发板设计更改 PHY 地址
|
||||
phy_config.reset_gpio_num = CONFIG_EXAMPLE_ETH_PHY_RST_GPIO; // 更改用于 PHY 复位的 GPIO
|
||||
phy_config.phy_addr = CONFIG_ETHERNET_PHY_ADDR; // 根据开发板设计更改 PHY 地址
|
||||
phy_config.reset_gpio_num = CONFIG_ETHERNET_PHY_RST_GPIO; // 更改用于 PHY 复位的 GPIO
|
||||
esp_eth_phy_t *phy = esp_eth_phy_new_generic(&phy_config); // 创建通用 PHY 实例
|
||||
// ESP-IDF 为数种特定以太网 PHY 芯片驱动提供官方支持
|
||||
// esp_eth_phy_t *phy = esp_eth_phy_new_ip101(&phy_config);
|
||||
@@ -342,30 +342,30 @@ SPI-Ethernet 模块
|
||||
|
||||
eth_mac_config_t mac_config = ETH_MAC_DEFAULT_CONFIG(); // 应用默认的通用 MAC 配置
|
||||
eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG(); // 应用默认的 PHY 配置
|
||||
phy_config.phy_addr = CONFIG_EXAMPLE_ETH_PHY_ADDR; // 根据开发板设计更改 PHY 地址
|
||||
phy_config.reset_gpio_num = CONFIG_EXAMPLE_ETH_PHY_RST_GPIO; // 更改用于 PHY 复位的 GPIO
|
||||
phy_config.phy_addr = CONFIG_ETHERNET_PHY_ADDR; // 根据开发板设计更改 PHY 地址
|
||||
phy_config.reset_gpio_num = CONFIG_ETHERNET_PHY_RST_GPIO; // 更改用于 PHY 复位的 GPIO
|
||||
// 安装 GPIO 中断服务(因为 SPI-Ethernet 模块为中断驱动)
|
||||
gpio_install_isr_service(0);
|
||||
// 配置 SPI 总线
|
||||
spi_device_handle_t spi_handle = NULL;
|
||||
spi_bus_config_t buscfg = {
|
||||
.miso_io_num = CONFIG_EXAMPLE_ETH_SPI_MISO_GPIO,
|
||||
.mosi_io_num = CONFIG_EXAMPLE_ETH_SPI_MOSI_GPIO,
|
||||
.sclk_io_num = CONFIG_EXAMPLE_ETH_SPI_SCLK_GPIO,
|
||||
.miso_io_num = CONFIG_ETHERNET_SPI_MISO_GPIO,
|
||||
.mosi_io_num = CONFIG_ETHERNET_SPI_MOSI_GPIO,
|
||||
.sclk_io_num = CONFIG_ETHERNET_SPI_SCLK_GPIO,
|
||||
.quadwp_io_num = -1,
|
||||
.quadhd_io_num = -1,
|
||||
};
|
||||
ESP_ERROR_CHECK(spi_bus_initialize(CONFIG_EXAMPLE_ETH_SPI_HOST, &buscfg, 1));
|
||||
ESP_ERROR_CHECK(spi_bus_initialize(CONFIG_ETHERNET_SPI_HOST, &buscfg, 1));
|
||||
// 配置 SPI 从机设备
|
||||
spi_device_interface_config_t spi_devcfg = {
|
||||
.mode = 0,
|
||||
.clock_speed_hz = CONFIG_EXAMPLE_ETH_SPI_CLOCK_MHZ * 1000 * 1000,
|
||||
.spics_io_num = CONFIG_EXAMPLE_ETH_SPI_CS_GPIO,
|
||||
.clock_speed_hz = CONFIG_ETHERNET_SPI_CLOCK_MHZ * 1000 * 1000,
|
||||
.spics_io_num = CONFIG_ETHERNET_SPI_CS_GPIO,
|
||||
.queue_size = 20
|
||||
};
|
||||
/* dm9051 ethernet driver is based on spi driver */
|
||||
eth_dm9051_config_t dm9051_config = ETH_DM9051_DEFAULT_CONFIG(CONFIG_EXAMPLE_ETH_SPI_HOST, &spi_devcfg);
|
||||
dm9051_config.int_gpio_num = CONFIG_EXAMPLE_ETH_SPI_INT_GPIO;
|
||||
eth_dm9051_config_t dm9051_config = ETH_DM9051_DEFAULT_CONFIG(CONFIG_ETHERNET_SPI_HOST, &spi_devcfg);
|
||||
dm9051_config.int_gpio_num = CONFIG_ETHERNET_SPI_INT_GPIO;
|
||||
esp_eth_mac_t *mac = esp_eth_mac_new_dm9051(&dm9051_config, &mac_config);
|
||||
esp_eth_phy_t *phy = esp_eth_phy_new_dm9051(&phy_config);
|
||||
|
||||
|
@@ -11,8 +11,8 @@ from pytest_embedded_idf.utils import idf_parametrize
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
pytest.param('default_ip101', marks=[pytest.mark.ethernet_router]),
|
||||
pytest.param('default_generic', marks=[pytest.mark.ethernet_router]),
|
||||
pytest.param('default_ip101', marks=[pytest.mark.eth_ip101]),
|
||||
pytest.param('default_generic', marks=[pytest.mark.eth_ip101]),
|
||||
pytest.param('default_dm9051', marks=[pytest.mark.eth_dm9051]),
|
||||
],
|
||||
indirect=True,
|
||||
|
@@ -47,7 +47,7 @@ void init_ethernet_and_netif(void)
|
||||
{
|
||||
ESP_ERROR_CHECK(esp_event_loop_create_default());
|
||||
|
||||
ESP_ERROR_CHECK(example_eth_init(&s_eth_handles, &s_eth_port_cnt));
|
||||
ESP_ERROR_CHECK(ethernet_init_all(&s_eth_handles, &s_eth_port_cnt));
|
||||
|
||||
ESP_ERROR_CHECK(esp_netif_init());
|
||||
esp_netif_inherent_config_t esp_netif_config = ESP_NETIF_INHERENT_DEFAULT_ETH();
|
||||
|
@@ -1,7 +1,7 @@
|
||||
dependencies:
|
||||
cmd_system:
|
||||
path: ${IDF_PATH}/examples/system/console/advanced/components/cmd_system
|
||||
ethernet_init:
|
||||
path: ${IDF_PATH}/examples/ethernet/basic/components/ethernet_init
|
||||
espressif/ethernet_init:
|
||||
version: "*"
|
||||
espressif/iperf-cmd:
|
||||
version: "~0.1.1"
|
||||
|
@@ -115,7 +115,7 @@ def test_esp_eth_iperf(
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.ethernet_router
|
||||
@pytest.mark.eth_ip101
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -150,7 +150,6 @@ def test_esp_eth_iperf_ip101_esp32p4(
|
||||
|
||||
|
||||
@pytest.mark.eth_lan8720
|
||||
@pytest.mark.temp_skip_ci(targets=['esp32'], reason='IDF-14059')
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
@@ -185,7 +184,6 @@ def test_esp_eth_iperf_rtl8201(
|
||||
|
||||
|
||||
@pytest.mark.eth_dp83848
|
||||
@pytest.mark.temp_skip_ci(targets=['esp32'], reason='IDF-14059')
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
|
@@ -31,12 +31,14 @@ CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
|
||||
CONFIG_EXAMPLE_USE_SPI_ETHERNET=y
|
||||
CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=n
|
||||
CONFIG_EXAMPLE_SPI_ETHERNETS_NUM=1
|
||||
CONFIG_EXAMPLE_USE_DM9051=y
|
||||
CONFIG_EXAMPLE_ETH_SPI_CLOCK_MHZ=20
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=n
|
||||
CONFIG_ETHERNET_SPI_NUMBER=1
|
||||
CONFIG_ETHERNET_SPI_DEV0_DM9051=y
|
||||
CONFIG_ETHERNET_SPI_CLOCK_MHZ=20
|
||||
|
@@ -31,17 +31,22 @@ CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
|
||||
CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=y
|
||||
CONFIG_EXAMPLE_ETH_PHY_DP83848=y
|
||||
CONFIG_EXAMPLE_ETH_MDC_GPIO=23
|
||||
CONFIG_EXAMPLE_ETH_MDIO_GPIO=18
|
||||
CONFIG_EXAMPLE_ETH_PHY_RST_GPIO=5
|
||||
CONFIG_EXAMPLE_ETH_PHY_ADDR=1
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
# IDF-14059
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_PHY_DP83848=y
|
||||
CONFIG_ETHERNET_PHY_INTERFACE_RMII=y
|
||||
CONFIG_ETHERNET_RMII_CLK_OUTPUT=y
|
||||
CONFIG_ETHERNET_RMII_CLK_EXT_LOOPBACK_EN=n
|
||||
CONFIG_ETHERNET_RMII_CLK_GPIO=17
|
||||
CONFIG_ETHERNET_MDC_GPIO=23
|
||||
CONFIG_ETHERNET_MDIO_GPIO=18
|
||||
CONFIG_ETHERNET_PHY_RST_GPIO=5
|
||||
CONFIG_ETHERNET_PHY_ADDR=1
|
||||
|
@@ -31,16 +31,20 @@ CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
|
||||
CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=y
|
||||
CONFIG_EXAMPLE_ETH_PHY_IP101=y
|
||||
CONFIG_EXAMPLE_ETH_MDC_GPIO=23
|
||||
CONFIG_EXAMPLE_ETH_MDIO_GPIO=18
|
||||
CONFIG_EXAMPLE_ETH_PHY_RST_GPIO=5
|
||||
CONFIG_EXAMPLE_ETH_PHY_ADDR=1
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_PHY_IP101=y
|
||||
CONFIG_ETHERNET_PHY_INTERFACE_RMII=y
|
||||
CONFIG_ETHERNET_RMII_CLK_INPUT=y
|
||||
CONFIG_ETHERNET_MDC_GPIO=23
|
||||
CONFIG_ETHERNET_MDIO_GPIO=18
|
||||
CONFIG_ETHERNET_PHY_RST_GPIO=5
|
||||
CONFIG_ETHERNET_PHY_ADDR=1
|
||||
|
@@ -33,16 +33,19 @@ CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
|
||||
CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=y
|
||||
CONFIG_EXAMPLE_ETH_PHY_IP101=y
|
||||
CONFIG_EXAMPLE_ETH_MDC_GPIO=31
|
||||
CONFIG_EXAMPLE_ETH_MDIO_GPIO=52
|
||||
CONFIG_EXAMPLE_ETH_PHY_RST_GPIO=51
|
||||
CONFIG_EXAMPLE_ETH_PHY_ADDR=1
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_PHY_IP101=y
|
||||
CONFIG_ETHERNET_PHY_INTERFACE_RMII=y
|
||||
CONFIG_ETHERNET_MDC_GPIO=31
|
||||
CONFIG_ETHERNET_MDIO_GPIO=52
|
||||
CONFIG_ETHERNET_PHY_RST_GPIO=51
|
||||
CONFIG_ETHERNET_PHY_ADDR=1
|
||||
|
@@ -31,16 +31,21 @@ CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
|
||||
CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=y
|
||||
CONFIG_EXAMPLE_ETH_PHY_KSZ80XX=y
|
||||
CONFIG_EXAMPLE_ETH_MDC_GPIO=23
|
||||
CONFIG_EXAMPLE_ETH_MDIO_GPIO=18
|
||||
CONFIG_EXAMPLE_ETH_PHY_RST_GPIO=5
|
||||
CONFIG_EXAMPLE_ETH_PHY_ADDR=1
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_PHY_KSZ80XX=y
|
||||
CONFIG_ETHERNET_PHY_INTERFACE_RMII=y
|
||||
CONFIG_ETHERNET_RMII_CLK_INPUT=y
|
||||
CONFIG_ETHERNET_RMII_CLK_GPIO=0
|
||||
CONFIG_ETHERNET_MDC_GPIO=23
|
||||
CONFIG_ETHERNET_MDIO_GPIO=18
|
||||
CONFIG_ETHERNET_PHY_RST_GPIO=5
|
||||
CONFIG_ETHERNET_PHY_ADDR=1
|
||||
|
@@ -31,12 +31,14 @@ CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
|
||||
CONFIG_EXAMPLE_USE_SPI_ETHERNET=y
|
||||
CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=n
|
||||
CONFIG_EXAMPLE_SPI_ETHERNETS_NUM=1
|
||||
CONFIG_EXAMPLE_USE_KSZ8851SNL=y
|
||||
CONFIG_EXAMPLE_ETH_SPI_CLOCK_MHZ=20
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=n
|
||||
CONFIG_ETHERNET_SPI_NUMBER=1
|
||||
CONFIG_ETHERNET_SPI_DEV0_KSZ8851SNL=y
|
||||
CONFIG_ETHERNET_SPI_CLOCK_MHZ=20
|
||||
|
@@ -31,17 +31,22 @@ CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
|
||||
CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=y
|
||||
CONFIG_EXAMPLE_ETH_PHY_LAN87XX=y
|
||||
CONFIG_EXAMPLE_ETH_MDC_GPIO=23
|
||||
CONFIG_EXAMPLE_ETH_MDIO_GPIO=18
|
||||
CONFIG_EXAMPLE_ETH_PHY_RST_GPIO=5
|
||||
CONFIG_EXAMPLE_ETH_PHY_ADDR=0
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
# IDF-14059
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_PHY_LAN87XX=y
|
||||
CONFIG_ETHERNET_PHY_INTERFACE_RMII=y
|
||||
CONFIG_ETHERNET_RMII_CLK_OUTPUT=y
|
||||
CONFIG_ETHERNET_RMII_CLK_EXT_LOOPBACK_EN=n
|
||||
CONFIG_ETHERNET_RMII_CLK_GPIO=17
|
||||
CONFIG_ETHERNET_MDC_GPIO=23
|
||||
CONFIG_ETHERNET_MDIO_GPIO=18
|
||||
CONFIG_ETHERNET_PHY_RST_GPIO=5
|
||||
CONFIG_ETHERNET_PHY_ADDR=0
|
||||
|
@@ -31,14 +31,18 @@ CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
|
||||
CONFIG_EXAMPLE_ETH_MDC_GPIO=16
|
||||
CONFIG_EXAMPLE_ETH_MDIO_GPIO=17
|
||||
CONFIG_EXAMPLE_ETH_PHY_RST_GPIO=-1
|
||||
CONFIG_EXAMPLE_ETH_PHY_ADDR=0
|
||||
|
||||
CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=y
|
||||
CONFIG_EXAMPLE_ETH_PHY_RTL8201=y
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_PHY_RTL8201=y
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_RMII_CLK_INPUT=y
|
||||
# CONFIG_ETHERNET_RMII_CLK_OUTPUT is not set
|
||||
CONFIG_ETHERNET_RMII_CLK_GPIO=0
|
||||
CONFIG_ETHERNET_MDC_GPIO=16
|
||||
CONFIG_ETHERNET_MDIO_GPIO=17
|
||||
CONFIG_ETHERNET_PHY_RST_GPIO=-1
|
||||
CONFIG_ETHERNET_PHY_ADDR=0
|
||||
|
@@ -31,12 +31,14 @@ CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
|
||||
CONFIG_EXAMPLE_USE_SPI_ETHERNET=y
|
||||
CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=n
|
||||
CONFIG_EXAMPLE_SPI_ETHERNETS_NUM=1
|
||||
CONFIG_EXAMPLE_USE_W5500=y
|
||||
CONFIG_EXAMPLE_ETH_SPI_CLOCK_MHZ=20
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=n
|
||||
CONFIG_ETHERNET_SPI_NUMBER=1
|
||||
CONFIG_ETHERNET_SPI_DEV0_W5500=y
|
||||
CONFIG_ETHERNET_SPI_CLOCK_MHZ=20
|
||||
|
@@ -36,9 +36,9 @@ CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=n
|
||||
# Disable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=n
|
||||
|
||||
# Choose w5500
|
||||
CONFIG_EXAMPLE_USE_SPI_ETHERNET=y
|
||||
CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=n
|
||||
CONFIG_EXAMPLE_SPI_ETHERNETS_NUM=1
|
||||
CONFIG_EXAMPLE_USE_W5500=y
|
||||
CONFIG_EXAMPLE_ETH_SPI_CLOCK_MHZ=20
|
||||
# Config Ethernet Init and Choose w5500
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=n
|
||||
CONFIG_ETHERNET_SPI_NUMBER=1
|
||||
CONFIG_ETHERNET_SPI_DEV0_W5500=y
|
||||
CONFIG_ETHERNET_SPI_CLOCK_MHZ=20
|
||||
|
@@ -31,6 +31,7 @@ CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
|
@@ -1,6 +1,6 @@
|
||||
dependencies:
|
||||
ethernet_init:
|
||||
path: ${IDF_PATH}/examples/ethernet/basic/components/ethernet_init
|
||||
espressif/ethernet_init:
|
||||
version: "*"
|
||||
esp_eth_time:
|
||||
path: ${IDF_PATH}/examples/ethernet/ptp/components/esp_eth_time
|
||||
ptpd:
|
||||
|
@@ -28,7 +28,7 @@ void init_ethernet_and_netif(void)
|
||||
|
||||
ESP_ERROR_CHECK(esp_event_loop_create_default());
|
||||
|
||||
ESP_ERROR_CHECK(example_eth_init(ð_handles, ð_port_cnt));
|
||||
ESP_ERROR_CHECK(ethernet_init_all(ð_handles, ð_port_cnt));
|
||||
|
||||
ESP_ERROR_CHECK(esp_netif_init());
|
||||
|
||||
|
@@ -2,8 +2,8 @@ CONFIG_IDF_TARGET="esp32p4"
|
||||
|
||||
CONFIG_ESP_NETIF_L2_TAP=y
|
||||
|
||||
CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=y
|
||||
CONFIG_EXAMPLE_ETH_PHY_IP101=y
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_PHY_IP101=y
|
||||
|
||||
CONFIG_NETUTILS_PTPD=y
|
||||
CONFIG_NETUTILS_PTPD_CLIENT=y
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||
*/
|
||||
@@ -101,10 +101,14 @@ static void example_wifi_init(void)
|
||||
|
||||
void app_main(void)
|
||||
{
|
||||
// Create default event loop that running in background
|
||||
ESP_ERROR_CHECK(esp_event_loop_create_default());
|
||||
|
||||
// Initialize Ethernet driver
|
||||
uint8_t eth_port_cnt = 0;
|
||||
esp_eth_handle_t *eth_handles;
|
||||
ESP_ERROR_CHECK(example_eth_init(ð_handles, ð_port_cnt));
|
||||
|
||||
ESP_ERROR_CHECK(ethernet_init_all(ð_handles, ð_port_cnt));
|
||||
|
||||
// The same MAC address will be used for all Ethernet ports since the bridge acts as one device
|
||||
uint8_t common_mac_addr[ETH_ADDR_LEN];
|
||||
@@ -117,8 +121,6 @@ void app_main(void)
|
||||
|
||||
// Initialize TCP/IP network interface
|
||||
ESP_ERROR_CHECK(esp_netif_init());
|
||||
// Create default event loop that running in background
|
||||
ESP_ERROR_CHECK(esp_event_loop_create_default());
|
||||
|
||||
// Create instances of esp-netif for Ethernet ports
|
||||
esp_netif_t **eth_netifs = calloc(eth_port_cnt, sizeof(esp_netif_t *));
|
||||
|
@@ -1,3 +1,3 @@
|
||||
dependencies:
|
||||
ethernet_init:
|
||||
path: ${IDF_PATH}/examples/ethernet/basic/components/ethernet_init
|
||||
espressif/ethernet_init:
|
||||
version: "*"
|
||||
|
@@ -2,5 +2,6 @@
|
||||
# Note that it enables SPI Ethernet, so it uses eth-eth bridge (to support targets that don't have Wi-Fi)
|
||||
CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
CONFIG_ESP_NETIF_BRIDGE_EN=y
|
||||
CONFIG_EXAMPLE_USE_SPI_ETHERNET=y
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=1
|
||||
# CONFIG_ETHERNET_INTERNAL_SUPPORT is not set
|
||||
|
@@ -8,20 +8,21 @@ CONFIG_ESP_NETIF_BRIDGE_EN=y
|
||||
CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=1
|
||||
|
||||
# Configure network interface
|
||||
# CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET is not set
|
||||
CONFIG_EXAMPLE_USE_SPI_ETHERNET=y
|
||||
CONFIG_EXAMPLE_SPI_ETHERNETS_NUM=2
|
||||
# CONFIG_EXAMPLE_USE_DM9051 is not set
|
||||
# CONFIG_EXAMPLE_USE_KSZ8851SNL is not set
|
||||
CONFIG_EXAMPLE_USE_W5500=y
|
||||
CONFIG_EXAMPLE_ETH_SPI_HOST=1
|
||||
CONFIG_EXAMPLE_ETH_SPI_SCLK_GPIO=14
|
||||
CONFIG_EXAMPLE_ETH_SPI_MOSI_GPIO=13
|
||||
CONFIG_EXAMPLE_ETH_SPI_MISO_GPIO=12
|
||||
CONFIG_EXAMPLE_ETH_SPI_CLOCK_MHZ=20
|
||||
CONFIG_EXAMPLE_ETH_SPI_CS0_GPIO=15
|
||||
CONFIG_EXAMPLE_ETH_SPI_CS1_GPIO=32
|
||||
CONFIG_EXAMPLE_ETH_SPI_INT0_GPIO=4
|
||||
CONFIG_EXAMPLE_ETH_SPI_INT1_GPIO=33
|
||||
CONFIG_EXAMPLE_ETH_SPI_PHY_RST0_GPIO=-1
|
||||
CONFIG_EXAMPLE_ETH_SPI_PHY_RST1_GPIO=-1
|
||||
# CONFIG_ETHERNET_INTERNAL_SUPPORT is not set
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
CONFIG_ETHERNET_SPI_NUMBER=2
|
||||
# CONFIG_ETHERNET_SPI_DEV0_DM9051 is not set
|
||||
# CONFIG_ETHERNET_SPI_DEV0_KSZ8851SNL is not set
|
||||
CONFIG_ETHERNET_SPI_DEV0_W5500=y
|
||||
CONFIG_ETHERNET_SPI_DEV1_W5500=y
|
||||
CONFIG_ETHERNET_SPI_HOST=1
|
||||
CONFIG_ETHERNET_SPI_SCLK_GPIO=14
|
||||
CONFIG_ETHERNET_SPI_MOSI_GPIO=13
|
||||
CONFIG_ETHERNET_SPI_MISO_GPIO=12
|
||||
CONFIG_ETHERNET_SPI_CLOCK_MHZ=20
|
||||
CONFIG_ETHERNET_SPI_CS0_GPIO=15
|
||||
CONFIG_ETHERNET_SPI_CS1_GPIO=32
|
||||
CONFIG_ETHERNET_SPI_INT0_GPIO=4
|
||||
CONFIG_ETHERNET_SPI_INT1_GPIO=33
|
||||
CONFIG_ETHERNET_SPI_PHY_RST0_GPIO=-1
|
||||
CONFIG_ETHERNET_SPI_PHY_RST1_GPIO=-1
|
||||
|
@@ -5,5 +5,5 @@ CONFIG_ESP_NETIF_TCPIP_LWIP=y
|
||||
CONFIG_ESP_NETIF_BRIDGE_EN=y
|
||||
CONFIG_EXAMPLE_BR_DHCPS=y
|
||||
CONFIG_EXAMPLE_BR_WIFI=y
|
||||
CONFIG_EXAMPLE_USE_SPI_ETHERNET=y
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=1
|
||||
|
@@ -156,7 +156,7 @@ static void initialize_ethernet(void)
|
||||
{
|
||||
uint8_t eth_port_cnt = 0;
|
||||
esp_eth_handle_t *eth_handles;
|
||||
ESP_ERROR_CHECK(example_eth_init(ð_handles, ð_port_cnt));
|
||||
ESP_ERROR_CHECK(ethernet_init_all(ð_handles, ð_port_cnt));
|
||||
if (eth_port_cnt > 1) {
|
||||
ESP_LOGW(TAG, "multiple Ethernet devices detected, the first initialized is to be used!");
|
||||
}
|
||||
|
@@ -1,3 +1,3 @@
|
||||
dependencies:
|
||||
ethernet_init:
|
||||
path: ${IDF_PATH}/examples/ethernet/basic/components/ethernet_init
|
||||
espressif/ethernet_init:
|
||||
version: "*"
|
||||
|
@@ -1,4 +1,4 @@
|
||||
dependencies:
|
||||
pcap: "^1.0.0"
|
||||
ethernet_init:
|
||||
path: ${IDF_PATH}/examples/ethernet/basic/components/ethernet_init
|
||||
espressif/ethernet_init:
|
||||
version: "*"
|
||||
|
@@ -127,7 +127,7 @@ static void initialize_eth(void)
|
||||
// Initialize Ethernet driver
|
||||
uint8_t eth_port_cnt = 0;
|
||||
esp_eth_handle_t *eth_handles;
|
||||
ESP_ERROR_CHECK(example_eth_init(ð_handles, ð_port_cnt));
|
||||
ESP_ERROR_CHECK(ethernet_init_all(ð_handles, ð_port_cnt));
|
||||
|
||||
if (eth_port_cnt > 0) {
|
||||
// Register user defined event handlers
|
||||
|
@@ -21,5 +21,5 @@ CONFIG_FATFS_LFN_HEAP=y
|
||||
CONFIG_FATFS_MAX_LFN=31
|
||||
|
||||
# Network Interfaces
|
||||
CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=n
|
||||
CONFIG_EXAMPLE_USE_SPI_ETHERNET=n
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=n
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=n
|
||||
|
@@ -271,7 +271,7 @@ esp_err_t wired_bridge_init(wired_rx_cb_t rx_cb, wired_free_cb_t free_cb)
|
||||
{
|
||||
uint8_t eth_port_cnt = 0;
|
||||
esp_eth_handle_t *eth_handles;
|
||||
ESP_ERROR_CHECK(example_eth_init(ð_handles, ð_port_cnt));
|
||||
ESP_ERROR_CHECK(ethernet_init_all(ð_handles, ð_port_cnt));
|
||||
|
||||
// Check for multiple Ethernet interfaces
|
||||
if (1 < eth_port_cnt) {
|
||||
@@ -324,7 +324,7 @@ esp_err_t wired_netif_init(void)
|
||||
{
|
||||
uint8_t eth_port_cnt = 0;
|
||||
esp_eth_handle_t *eth_handles;
|
||||
ESP_ERROR_CHECK(example_eth_init(ð_handles, ð_port_cnt));
|
||||
ESP_ERROR_CHECK(ethernet_init_all(ð_handles, ð_port_cnt));
|
||||
|
||||
// Check or multiple ethernet interface
|
||||
if (1 < eth_port_cnt) {
|
||||
|
@@ -7,5 +7,5 @@ dependencies:
|
||||
- if: "target in [esp32s2, esp32s3]"
|
||||
dns_server:
|
||||
path: ${IDF_PATH}/examples/protocols/http_server/captive_portal/components/dns_server
|
||||
ethernet_init:
|
||||
path: ${IDF_PATH}/examples/ethernet/basic/components/ethernet_init
|
||||
espressif/ethernet_init:
|
||||
version: "*"
|
||||
|
@@ -1,3 +1,3 @@
|
||||
dependencies:
|
||||
ethernet_init:
|
||||
path: ${IDF_PATH}/examples/ethernet/basic/components/ethernet_init
|
||||
espressif/ethernet_init:
|
||||
version: "*"
|
||||
|
@@ -132,7 +132,7 @@ void app_main(void)
|
||||
// Initialize Ethernet driver
|
||||
uint8_t eth_port_cnt = 0;
|
||||
esp_eth_handle_t *eth_handle;
|
||||
ESP_ERROR_CHECK(example_eth_init(ð_handle, ð_port_cnt));
|
||||
ESP_ERROR_CHECK(ethernet_init_all(ð_handle, ð_port_cnt));
|
||||
|
||||
// Check or multiple ethernet interface
|
||||
if (1 < eth_port_cnt) {
|
||||
|
Reference in New Issue
Block a user