Browse Source

esp32/network_lan: Add support for IP101 PHY.

Signed-off-by: Kenneth Ryerson <kenneth.ryerson@gmail.com>
pull/6256/head
Kenneth Ryerson 5 years ago
committed by Damien George
parent
commit
76fefad18b
  1. 1
      ports/esp32/modnetwork.c
  2. 2
      ports/esp32/modnetwork.h
  3. 8
      ports/esp32/network_lan.c

1
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_LAN8720), MP_ROM_INT(PHY_LAN8720) },
{ MP_ROM_QSTR(MP_QSTR_PHY_TLK110), MP_ROM_INT(PHY_TLK110) }, { 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 // ETH Clock modes from ESP-IDF
#if !MICROPY_ESP_IDF_4 #if !MICROPY_ESP_IDF_4

2
ports/esp32/modnetwork.h

@ -26,7 +26,7 @@
#ifndef MICROPY_INCLUDED_ESP32_MODNETWORK_H #ifndef MICROPY_INCLUDED_ESP32_MODNETWORK_H
#define 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_KW(get_lan_obj);
MP_DECLARE_CONST_FUN_OBJ_1(ppp_make_new_obj); MP_DECLARE_CONST_FUN_OBJ_1(ppp_make_new_obj);

8
ports/esp32/network_lan.c

@ -33,6 +33,7 @@
#include "eth_phy/phy.h" #include "eth_phy/phy.h"
#include "eth_phy/phy_tlk110.h" #include "eth_phy/phy_tlk110.h"
#include "eth_phy/phy_lan8720.h" #include "eth_phy/phy_lan8720.h"
#include "eth_phy/phy_ip101.h"
#include "tcpip_adapter.h" #include "tcpip_adapter.h"
#include "modnetwork.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")); 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")); 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: case PHY_LAN8720:
config = phy_lan8720_default_ethernet_config; config = phy_lan8720_default_ethernet_config;
break; break;
case PHY_IP101:
config = phy_ip101_default_ethernet_config;
break;
} }
self->link_func = config.phy_check_link; self->link_func = config.phy_check_link;

Loading…
Cancel
Save