Hi Linus,
On Tue, Jan 5, 2021 at 12:35 PM Linus Walleij [off-list ref] wrote:
So should the ethernet PHY not just have some reset-gpios
that it obtain and de-assert as part of probing?
For example drivers/net/phy/mdio_bus.c has this:
/* de-assert bus level PHY GPIO reset */
gpiod = devm_gpiod_get_optional(&bus->dev, "reset", GPIOD_OUT_LOW);
Other drivers can do the same.
Deferred probe should ascertain that this GPIO driver gets
loaded before the ethernet phy driver.
Thanks for your review. I investigated this further and it seems to me
that the issue is in drivers/net/phy/mdio_bus.c, so I am adding some
netdev folks.
The driver drivers/net/phy/mdio_bus.c and the yaml description says
that it only supports one bus level PHY GPIO reset via reset-gpios
property.
On the imx6ul-evk, there are two KSZ8081 PHYs in the same mdio bus, so
this is how I described it in dts:
https://pastebin.com/raw/xLjYUHdN
but the 'reset-gpios' properties are not found in this case. I think
we need to let drivers/net/phy/mdio_bus.c to search for 'reset-gpios'
also inside the mdio children.
My understanding is that adding phy-reset-gpios under each fec node is
deprecated.
Any suggestions?
Thanks,
Fabio Estevam