From baea9a9a963e46239652d3de366c77eec313ca20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= Date: Wed, 7 Aug 2024 13:53:57 +0200 Subject: [PATCH] [ethernet] SPI devices require esp-idf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The W5500 driver will only be built with esp-idf. Signed-off-by: Bjørn Mork --- esphome/components/ethernet/__init__.py | 7 ++++--- tests/components/ethernet/common-w5500.yaml | 14 -------------- .../components/ethernet/test-w5500.esp32-ard.yaml | 1 - .../components/ethernet/test-w5500.esp32-idf.yaml | 15 ++++++++++++++- 4 files changed, 18 insertions(+), 19 deletions(-) delete mode 100644 tests/components/ethernet/common-w5500.yaml delete mode 100644 tests/components/ethernet/test-w5500.esp32-ard.yaml diff --git a/esphome/components/ethernet/__init__.py b/esphome/components/ethernet/__init__.py index dca37b8dc2..92a5a75d22 100644 --- a/esphome/components/ethernet/__init__.py +++ b/esphome/components/ethernet/__init__.py @@ -233,6 +233,8 @@ CONFIG_SCHEMA = cv.All( def _final_validate(config): if config[CONF_TYPE] not in SPI_ETHERNET_TYPES: return + if not CORE.using_esp_idf: + raise cv.Invalid("SPI ethernet requires ESP-IDF") if spi_configs := fv.full_config.get().get(CONF_SPI): variant = get_esp32_variant() if variant in (VARIANT_ESP32C3, VARIANT_ESP32S2, VARIANT_ESP32S3): @@ -293,9 +295,8 @@ async def to_code(config): cg.add(var.set_clock_speed(config[CONF_CLOCK_SPEED])) cg.add_define("USE_ETHERNET_SPI") - if CORE.using_esp_idf: - add_idf_sdkconfig_option("CONFIG_ETH_USE_SPI_ETHERNET", True) - add_idf_sdkconfig_option("CONFIG_ETH_SPI_ETHERNET_W5500", True) + add_idf_sdkconfig_option("CONFIG_ETH_USE_SPI_ETHERNET", True) + add_idf_sdkconfig_option("CONFIG_ETH_SPI_ETHERNET_W5500", True) elif config[CONF_TYPE] == "OPENETH": cg.add_define("USE_ETHERNET_OPENETH") add_idf_sdkconfig_option("CONFIG_ETH_USE_OPENETH", True) diff --git a/tests/components/ethernet/common-w5500.yaml b/tests/components/ethernet/common-w5500.yaml deleted file mode 100644 index 76661a75c3..0000000000 --- a/tests/components/ethernet/common-w5500.yaml +++ /dev/null @@ -1,14 +0,0 @@ -ethernet: - type: W5500 - clk_pin: 19 - mosi_pin: 21 - miso_pin: 23 - cs_pin: 18 - interrupt_pin: 36 - reset_pin: 22 - clock_speed: 10Mhz - manual_ip: - static_ip: 192.168.178.56 - gateway: 192.168.178.1 - subnet: 255.255.255.0 - domain: .local diff --git a/tests/components/ethernet/test-w5500.esp32-ard.yaml b/tests/components/ethernet/test-w5500.esp32-ard.yaml deleted file mode 100644 index 36f1b5365f..0000000000 --- a/tests/components/ethernet/test-w5500.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-w5500.yaml diff --git a/tests/components/ethernet/test-w5500.esp32-idf.yaml b/tests/components/ethernet/test-w5500.esp32-idf.yaml index 36f1b5365f..76661a75c3 100644 --- a/tests/components/ethernet/test-w5500.esp32-idf.yaml +++ b/tests/components/ethernet/test-w5500.esp32-idf.yaml @@ -1 +1,14 @@ -<<: !include common-w5500.yaml +ethernet: + type: W5500 + clk_pin: 19 + mosi_pin: 21 + miso_pin: 23 + cs_pin: 18 + interrupt_pin: 36 + reset_pin: 22 + clock_speed: 10Mhz + manual_ip: + static_ip: 192.168.178.56 + gateway: 192.168.178.1 + subnet: 255.255.255.0 + domain: .local