Skip to content

Commit

Permalink
esp32/network_lan: Add support for IP101 PHY.
Browse files Browse the repository at this point in the history
Signed-off-by: Kenneth Ryerson <kenneth.ryerson@gmail.com>
  • Loading branch information
kennethryerson authored and dpgeorge committed Jul 20, 2020
1 parent 5f0e9d1 commit 76fefad
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 2 deletions.
1 change: 1 addition & 0 deletions ports/esp32/modnetwork.c
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion ports/esp32/modnetwork.h
Expand Up @@ -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);
Expand Down
8 changes: 7 additions & 1 deletion ports/esp32/network_lan.c
Expand Up @@ -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"
Expand Down Expand Up @@ -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"));
}

Expand All @@ -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;
Expand Down

0 comments on commit 76fefad

Please sign in to comment.