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>
This commit is contained in:
parent
921cecbdf8
commit
f49efcd325
1 changed files with 28 additions and 0 deletions
|
@ -0,0 +1,28 @@
|
||||||
|
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;
|
||||||
|
}
|
Loading…
Reference in a new issue