openwrtv3/target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch
Jonas Gorski c7f31b280f brcm63xx: do a full reset phy cycle
Make sure we do a proper reset of the phy, if the phy reset is defined.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-02-09 14:30:44 +01:00

28 lines
958 B
Diff

From: Jonas Gorski <jonas.gorski@gmail.com>
Subject: [PATCH] net: bcm63xx_enet: fully reset ephy
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
---
drivers/net/ethernet/broadcom/bcm63xx_enet.c | 4 ++--
1 file changed, 2 insertions(+), , 1 deletions(-)
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
@@ -2857,7 +2857,7 @@ static int bcm_enet_shared_probe(struct
memset(bcm_enet_shared_base, 0, sizeof(bcm_enet_shared_base));
- ephy_reset = devm_gpiod_get_optional(&pdev->dev, "ephy-reset", GPIOD_ASIS);
+ ephy_reset = devm_gpiod_get_optional(&pdev->dev, "ephy-reset", GPIOD_OUT_HIGH);
if (IS_ERR(ephy_reset))
return PTR_ERR(ephy_reset);
@@ -2871,7 +2871,7 @@ static int bcm_enet_shared_probe(struct
memcpy(bcm_enet_shared_base, p, sizeof(bcm_enet_shared_base));
if (ephy_reset)
- gpiod_direction_output(ephy_reset, 0);
+ gpiod_set_value(ephy_reset, 0);
return 0;
}