49 lines
1.7 KiB
Diff
49 lines
1.7 KiB
Diff
|
From 6d54d3d08df883d7c42be4aa877e93df61e166f2 Mon Sep 17 00:00:00 2001
|
||
|
From: Ondrej Jirman <megous@megous.com>
|
||
|
Date: Tue, 20 Aug 2019 14:34:57 +0200
|
||
|
Subject: [PATCH 063/323] net: stmmac: sun8i: Fix reboot issue with ethernet on
|
||
|
Orange Pi 3
|
||
|
|
||
|
We disable both phy regulators before reboot, so that they are in a
|
||
|
known state on the next boot. This should be done in u-boot, but
|
||
|
it doesn't support AXP806 yet, so we shut it down in kernel.
|
||
|
|
||
|
Signed-off-by: Ondrej Jirman <megous@megous.com>
|
||
|
---
|
||
|
drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 12 ++++++++++++
|
||
|
1 file changed, 12 insertions(+)
|
||
|
|
||
|
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
|
||
|
index 0182136a4..f6da3c919 100644
|
||
|
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
|
||
|
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
|
||
|
@@ -1303,6 +1303,17 @@ static int sun8i_dwmac_remove(struct platform_device *pdev)
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
+static void sun8i_dwmac_shutdown(struct platform_device *pdev)
|
||
|
+{
|
||
|
+ struct net_device *ndev = dev_get_drvdata(&pdev->dev);;
|
||
|
+ struct stmmac_priv *priv = netdev_priv(ndev);
|
||
|
+ struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
|
||
|
+
|
||
|
+ dev_err(&pdev->dev, "Shutting down\n");
|
||
|
+ regulator_disable(gmac->regulator_phy);
|
||
|
+ regulator_disable(gmac->regulator_phy_io);
|
||
|
+}
|
||
|
+
|
||
|
static const struct of_device_id sun8i_dwmac_match[] = {
|
||
|
{ .compatible = "allwinner,sun8i-h3-emac",
|
||
|
.data = &emac_variant_h3 },
|
||
|
@@ -1323,6 +1334,7 @@ MODULE_DEVICE_TABLE(of, sun8i_dwmac_match);
|
||
|
static struct platform_driver sun8i_dwmac_driver = {
|
||
|
.probe = sun8i_dwmac_probe,
|
||
|
.remove = sun8i_dwmac_remove,
|
||
|
+ .shutdown = sun8i_dwmac_shutdown,
|
||
|
.driver = {
|
||
|
.name = "dwmac-sun8i",
|
||
|
.pm = &stmmac_pltfr_pm_ops,
|
||
|
--
|
||
|
2.34.0
|
||
|
|