brcm63xx: do a full reset phy cycle
[openwrt/openwrt.git] / target / linux / brcm63xx / patches-4.4 / 381-net-bcm63xx_enet-fully-reset-ephy.patch
1 From: Jonas Gorski <jonas.gorski@gmail.com>
2 Subject: [PATCH] net: bcm63xx_enet: fully reset ephy
3
4 Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
5 ---
6 drivers/net/ethernet/broadcom/bcm63xx_enet.c | 4 ++--
7 1 file changed, 2 insertions(+), , 1 deletions(-)
8
9 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
10 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
11 @@ -2857,7 +2857,7 @@ static int bcm_enet_shared_probe(struct
12
13 memset(bcm_enet_shared_base, 0, sizeof(bcm_enet_shared_base));
14
15 - ephy_reset = devm_gpiod_get_optional(&pdev->dev, "ephy-reset", GPIOD_ASIS);
16 + ephy_reset = devm_gpiod_get_optional(&pdev->dev, "ephy-reset", GPIOD_OUT_HIGH);
17 if (IS_ERR(ephy_reset))
18 return PTR_ERR(ephy_reset);
19
20 @@ -2871,7 +2871,7 @@ static int bcm_enet_shared_probe(struct
21 memcpy(bcm_enet_shared_base, p, sizeof(bcm_enet_shared_base));
22
23 if (ephy_reset)
24 - gpiod_direction_output(ephy_reset, 0);
25 + gpiod_set_value(ephy_reset, 0);
26
27 return 0;
28 }