mirror of https://github.com/hak5/openwrt-owl.git
44 lines
1.6 KiB
Diff
44 lines
1.6 KiB
Diff
|
From 09f0b50ae838bd6e2bbf0aa22de9f352122297de Mon Sep 17 00:00:00 2001
|
||
|
From: John Crispin <john@phrozen.org>
|
||
|
Date: Fri, 22 Apr 2016 11:06:03 +0200
|
||
|
Subject: [PATCH 079/102] net-next: mediatek: add fixed-phy support
|
||
|
|
||
|
The MT7623 SoC has a builtin gigabit switch. If we want to use it, GMAC1
|
||
|
needs to be configured using a fixed link speed and flow control settings.
|
||
|
The easiest way to do this is to used the fixed-phy driver, allowing us to
|
||
|
reuse the existing mdio polling code to setup the MAC.
|
||
|
|
||
|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||
|
---
|
||
|
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 6 ++++++
|
||
|
1 file changed, 6 insertions(+)
|
||
|
|
||
|
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||
|
index 3436c7b..ab61789 100644
|
||
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||
|
@@ -229,6 +229,9 @@ static int mtk_phy_connect(struct mtk_mac *mac)
|
||
|
u32 val, ge_mode;
|
||
|
|
||
|
np = of_parse_phandle(mac->of_node, "phy-handle", 0);
|
||
|
+ if (!np && of_phy_is_fixed_link(mac->of_node))
|
||
|
+ if (!of_phy_register_fixed_link(mac->of_node))
|
||
|
+ np = of_node_get(mac->of_node);
|
||
|
if (!np)
|
||
|
return -ENODEV;
|
||
|
|
||
|
@@ -257,6 +260,9 @@ static int mtk_phy_connect(struct mtk_mac *mac)
|
||
|
mac->phy_dev->autoneg = AUTONEG_ENABLE;
|
||
|
mac->phy_dev->speed = 0;
|
||
|
mac->phy_dev->duplex = 0;
|
||
|
+ if (of_phy_is_fixed_link(mac->of_node))
|
||
|
+ mac->phy_dev->supported |= SUPPORTED_Pause |
|
||
|
+ SUPPORTED_Asym_Pause;
|
||
|
mac->phy_dev->supported &= PHY_GBIT_FEATURES | SUPPORTED_Pause |
|
||
|
SUPPORTED_Asym_Pause;
|
||
|
mac->phy_dev->advertising = mac->phy_dev->supported |
|
||
|
--
|
||
|
1.7.10.4
|
||
|
|