brcm63xx: do a full reset phy cycle
[oweals/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  }