micro-ROS/micro_ros_espidf_component

Using Ethernet with the OLIMEX ESP32-PoE-ISO Rev.D

Closed this issue · 1 comments

Issue template

I am trying to get the OLIMEX ESP32-PoE-ISO Rev.D to work via Ethernet.
The board has a LAN8710A-EZC(QFN32) PHY. I assumed selecting the LAN8720 in the menuconfig wouldn't be problematic.
However this PHY doesn't have the reset (NRST) mapped on any gpio:
image

I saw that some people use directly the power pin mapped on gpio 12 to reboot the PHY.

That's what I tried with no success, here's the log of idf.py monitor:
image

Do you have any suggestion on how to get it working?
Is Ethernet transport not supported with this board?

For anyone wondering, you have to set the phy reset as -1, then in Ethernet config set Output RMII clock from internal as true.
Also add these lines in uros_ethernet_netif.c

#define PHY_POWER 12

gpio_pad_select_gpio(PIN_PHY_POWER);
gpio_set_direction(PIN_PHY_POWER,GPIO_MODE_OUTPUT);
gpio_set_level(PIN_PHY_POWER, 1);
vTaskDelay(pdMS_TO_TICKS(10));

after the line
phy_config.reset_gpio_num = CONFIG_MICRO_ROS_ETH_PHY_RST_GPIO;