From: Tim Harvey Date: Tue, 1 Mar 2022 20:15:01 +0000 (-0800) Subject: net: fec: prevent undesired de-assertion of phy-reset on request X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=4223fb0ee18d11462c55ac94198fdc2055f2c27c;p=u-boot.git net: fec: prevent undesired de-assertion of phy-reset on request When gpio_request_by_name allocates a gpio output it by default will de-assert the gpio which for phy-reset will take the PHY out of reset. As this occurs before fec_gpio_reset is called to assert the reset line it can cause undesired affects if reset timings are not properly met. Configure the gpio with GPIOD_IS_OUT_ACTIVE so that reset is kept active (reset asserted) to avoid this. Cc: Sean Anderson Signed-off-by: Tim Harvey Acked-by: Joe Hershberger Tested-by: Adam Ford #imx8mm-beacon Reviewed-by: Ramon Fried --- diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index 3ac8e2a9cd..a623a5c45e 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -1324,7 +1324,7 @@ static int fecmxc_of_to_plat(struct udevice *dev) #if CONFIG_IS_ENABLED(DM_GPIO) ret = gpio_request_by_name(dev, "phy-reset-gpios", 0, - &priv->phy_reset_gpio, GPIOD_IS_OUT); + &priv->phy_reset_gpio, GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE); if (ret < 0) return 0; /* property is optional, don't return error! */