summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Ryerson <kenneth.ryerson@gmail.com>2020-04-20 09:51:11 -0500
committerDamien George <damien@micropython.org>2020-07-21 00:59:47 +1000
commit76fefad18bb3f29d747d6f20adc722f7c8e44f84 (patch)
treecb4ed7883f0ef0972b52c4b45d6e6b301f638a6a
parent5f0e9d1bace44715e906cd0dbcb30f455b042ec2 (diff)
esp32/network_lan: Add support for IP101 PHY.
Signed-off-by: Kenneth Ryerson <kenneth.ryerson@gmail.com>
-rw-r--r--ports/esp32/modnetwork.c1
-rw-r--r--ports/esp32/modnetwork.h2
-rw-r--r--ports/esp32/network_lan.c8
3 files changed, 9 insertions, 2 deletions
diff --git a/ports/esp32/modnetwork.c b/ports/esp32/modnetwork.c
index 975029121..325b27f74 100644
--- a/ports/esp32/modnetwork.c
+++ b/ports/esp32/modnetwork.c
@@ -776,6 +776,7 @@ STATIC const mp_rom_map_elem_t mp_module_network_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_PHY_LAN8720), MP_ROM_INT(PHY_LAN8720) },
{ MP_ROM_QSTR(MP_QSTR_PHY_TLK110), MP_ROM_INT(PHY_TLK110) },
+ { MP_ROM_QSTR(MP_QSTR_PHY_IP101), MP_ROM_INT(PHY_IP101) },
// ETH Clock modes from ESP-IDF
#if !MICROPY_ESP_IDF_4
diff --git a/ports/esp32/modnetwork.h b/ports/esp32/modnetwork.h
index 64d2da018..db1b3d130 100644
--- a/ports/esp32/modnetwork.h
+++ b/ports/esp32/modnetwork.h
@@ -26,7 +26,7 @@
#ifndef MICROPY_INCLUDED_ESP32_MODNETWORK_H
#define MICROPY_INCLUDED_ESP32_MODNETWORK_H
-enum { PHY_LAN8720, PHY_TLK110 };
+enum { PHY_LAN8720, PHY_TLK110, PHY_IP101 };
MP_DECLARE_CONST_FUN_OBJ_KW(get_lan_obj);
MP_DECLARE_CONST_FUN_OBJ_1(ppp_make_new_obj);
diff --git a/ports/esp32/network_lan.c b/ports/esp32/network_lan.c
index 1f9a733a7..7a4ad49e0 100644
--- a/ports/esp32/network_lan.c
+++ b/ports/esp32/network_lan.c
@@ -33,6 +33,7 @@
#include "eth_phy/phy.h"
#include "eth_phy/phy_tlk110.h"
#include "eth_phy/phy_lan8720.h"
+#include "eth_phy/phy_ip101.h"
#include "tcpip_adapter.h"
#include "modnetwork.h"
@@ -123,7 +124,9 @@ STATIC mp_obj_t get_lan(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_ar
mp_raise_ValueError(MP_ERROR_TEXT("invalid phy address"));
}
- if (args[ARG_phy_type].u_int != PHY_LAN8720 && args[ARG_phy_type].u_int != PHY_TLK110) {
+ if (args[ARG_phy_type].u_int != PHY_LAN8720 &&
+ args[ARG_phy_type].u_int != PHY_TLK110 &&
+ args[ARG_phy_type].u_int != PHY_IP101) {
mp_raise_ValueError(MP_ERROR_TEXT("invalid phy type"));
}
@@ -145,6 +148,9 @@ STATIC mp_obj_t get_lan(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_ar
case PHY_LAN8720:
config = phy_lan8720_default_ethernet_config;
break;
+ case PHY_IP101:
+ config = phy_ip101_default_ethernet_config;
+ break;
}
self->link_func = config.phy_check_link;