diff options
author | Jonas Gorski <jonas.gorski@gmail.com> | 2017-02-01 12:11:07 +0100 |
---|---|---|
committer | Jonas Gorski <jonas.gorski@gmail.com> | 2017-02-09 14:30:44 +0100 |
commit | c7f31b280faccd20079aef34f3c0811dfa2e33b1 (patch) | |
tree | 63848e856b4c4da13310b8c823bd747dfb695313 | |
parent | dd7079e79a94fdde2e0ff4c1d6f428f3b115211c (diff) | |
download | upstream-c7f31b280faccd20079aef34f3c0811dfa2e33b1.tar.gz upstream-c7f31b280faccd20079aef34f3c0811dfa2e33b1.tar.bz2 upstream-c7f31b280faccd20079aef34f3c0811dfa2e33b1.zip |
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>
-rw-r--r-- | target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch b/target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch new file mode 100644 index 0000000000..dc9e3c1344 --- /dev/null +++ b/target/linux/brcm63xx/patches-4.4/381-net-bcm63xx_enet-fully-reset-ephy.patch @@ -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; + } |