Ethernet PHY reset

Hi all,

I’ve been following some discussion on a reliability issue with the Ethernet PHY on the Beaglebones. A suggested workaround was to connect the PHY’s reset line to a GPIO and then have the driver toggle it. I’m using a LAN5710A. This link has some information:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/Documentation/devicetree/bindings/net/mdio.txt?id=69226896ad636b94f6d2e55d75ff21a29c4de83b

I’m trying to verify that it works. So far, no luck. I’ve updated my device tree file with this text:

&davinci_mdio {
pinctrl-names = “default”, “sleep”;
pinctrl-0 = <&davinci_mdio_default>;
pinctrl-1 = <&davinci_mdio_sleep>;
status = “okay”;

reset-gpios = <&gpio3 21 GPIO_ACTIVE_LOW>;
reset-delay-us = <2>;
};

The referenced GPIO above goes some place easy for me to probe. I’m not seeing anything. Looking through the Linux 4.14.55 source tree with Beagleboard.org Debian patches, I’m not seeing references to “reset-gpios” in the Davinci MDIO driver. I believe that I’m just not seeing where those are used since the example in the mdio.txt calls out this driver as an example.

I’m wondering if anyone has made this modification and verified that it reset the phy. If you could share your configuration that would be very helpful.

Thanks!
Frank