From efb4bd35551ef1de393c088ce6d75ced7e810b64 Mon Sep 17 00:00:00 2001 From: robert-hh Date: Sat, 24 Dec 2022 09:37:02 +0100 Subject: [PATCH] esp32/network_lan: Add support for LAN8710 PHY. LAN8710 uses the same drivers as LAN8720, so this commit just adds the names. Alternatively, both could be summarised under LAN87xx, like the esp-idf does. --- ports/esp32/modnetwork.c | 1 + ports/esp32/modnetwork.h | 2 +- ports/esp32/network_lan.c | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ports/esp32/modnetwork.c b/ports/esp32/modnetwork.c index 7429274c1..cc066f361 100644 --- a/ports/esp32/modnetwork.c +++ b/ports/esp32/modnetwork.c @@ -261,6 +261,7 @@ STATIC const mp_rom_map_elem_t mp_module_network_globals_table[] = { #endif #if (ESP_IDF_VERSION_MAJOR == 4) && (ESP_IDF_VERSION_MINOR >= 1) && (CONFIG_IDF_TARGET_ESP32) + { MP_ROM_QSTR(MP_QSTR_PHY_LAN8710), MP_ROM_INT(PHY_LAN8710) }, { MP_ROM_QSTR(MP_QSTR_PHY_LAN8720), MP_ROM_INT(PHY_LAN8720) }, { MP_ROM_QSTR(MP_QSTR_PHY_IP101), MP_ROM_INT(PHY_IP101) }, { MP_ROM_QSTR(MP_QSTR_PHY_RTL8201), MP_ROM_INT(PHY_RTL8201) }, diff --git a/ports/esp32/modnetwork.h b/ports/esp32/modnetwork.h index 7bcfa0e6f..5d1c3aaf7 100644 --- a/ports/esp32/modnetwork.h +++ b/ports/esp32/modnetwork.h @@ -28,7 +28,7 @@ #include "esp_event.h" -enum { PHY_LAN8720, PHY_IP101, PHY_RTL8201, PHY_DP83848, PHY_KSZ8041 }; +enum { PHY_LAN8710, PHY_LAN8720, PHY_IP101, PHY_RTL8201, PHY_DP83848, PHY_KSZ8041 }; enum { ETH_INITIALIZED, ETH_STARTED, ETH_STOPPED, ETH_CONNECTED, ETH_DISCONNECTED, ETH_GOT_IP }; // Cases similar to ESP8266 user_interface.h diff --git a/ports/esp32/network_lan.c b/ports/esp32/network_lan.c index c57d7815d..3cd1efc04 100644 --- a/ports/esp32/network_lan.c +++ b/ports/esp32/network_lan.c @@ -125,7 +125,8 @@ STATIC mp_obj_t get_lan(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_ar } self->phy_addr = args[ARG_phy_addr].u_int; - if (args[ARG_phy_type].u_int != PHY_LAN8720 && + if (args[ARG_phy_type].u_int != PHY_LAN8710 && + args[ARG_phy_type].u_int != PHY_LAN8720 && args[ARG_phy_type].u_int != PHY_IP101 && args[ARG_phy_type].u_int != PHY_RTL8201 && #if ESP_IDF_VERSION_MINOR >= 3 // KSZ8041 is new in ESP-IDF v4.3 @@ -146,6 +147,7 @@ STATIC mp_obj_t get_lan(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_ar self->phy = NULL; switch (args[ARG_phy_type].u_int) { + case PHY_LAN8710: case PHY_LAN8720: self->phy = esp_eth_phy_new_lan8720(&phy_config); break;