44 lines
1.7 KiB
Diff
44 lines
1.7 KiB
Diff
From 83800d29f0c578e82554e7d4c6bfdbdf9b6cf428 Mon Sep 17 00:00:00 2001
|
|
From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
|
|
Date: Tue, 16 Nov 2021 10:06:43 +0000
|
|
Subject: [PATCH] net: mtk_eth_soc: populate supported_interfaces member
|
|
|
|
Populate the phy interface mode bitmap for the Mediatek driver with
|
|
interfaces modes supported by the MAC.
|
|
|
|
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
---
|
|
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 20 ++++++++++++++++++++
|
|
1 file changed, 20 insertions(+)
|
|
|
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
|
@@ -3354,6 +3354,26 @@ static int mtk_add_mac(struct mtk_eth *e
|
|
|
|
mac->phylink_config.dev = ð->netdev[id]->dev;
|
|
mac->phylink_config.type = PHYLINK_NETDEV;
|
|
+ __set_bit(PHY_INTERFACE_MODE_MII,
|
|
+ mac->phylink_config.supported_interfaces);
|
|
+ __set_bit(PHY_INTERFACE_MODE_GMII,
|
|
+ mac->phylink_config.supported_interfaces);
|
|
+
|
|
+ if (MTK_HAS_CAPS(mac->hw->soc->caps, MTK_RGMII))
|
|
+ phy_interface_set_rgmii(mac->phylink_config.supported_interfaces);
|
|
+
|
|
+ if (MTK_HAS_CAPS(mac->hw->soc->caps, MTK_TRGMII) && !mac->id)
|
|
+ __set_bit(PHY_INTERFACE_MODE_TRGMII,
|
|
+ mac->phylink_config.supported_interfaces);
|
|
+
|
|
+ if (MTK_HAS_CAPS(mac->hw->soc->caps, MTK_SGMII)) {
|
|
+ __set_bit(PHY_INTERFACE_MODE_SGMII,
|
|
+ mac->phylink_config.supported_interfaces);
|
|
+ __set_bit(PHY_INTERFACE_MODE_1000BASEX,
|
|
+ mac->phylink_config.supported_interfaces);
|
|
+ __set_bit(PHY_INTERFACE_MODE_2500BASEX,
|
|
+ mac->phylink_config.supported_interfaces);
|
|
+ }
|
|
|
|
phylink = phylink_create(&mac->phylink_config,
|
|
of_fwnode_handle(mac->of_node),
|