c7f31b280f
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>
28 lines
958 B
Diff
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;
|
|
}
|