summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/dpa
diff options
context:
space:
mode:
authorMandy Lavi <mandy.lavi@freescale.com>2014-11-10 16:57:36 (GMT)
committerHonghua Yin <Hong-Hua.Yin@freescale.com>2015-03-17 07:05:31 (GMT)
commit2462b796f59d627774e8dc796bb5aad26652c12e (patch)
tree3d72f1ec8383e0dbfe50fe127a0635c6ab4e82af /drivers/net/ethernet/freescale/dpa
parent71702d053d60b5d53931f7d8cd62e1a9e37c7939 (diff)
downloadlinux-fsl-qoriq-2462b796f59d627774e8dc796bb5aad26652c12e.tar.xz
fmd: disable auto-neg if ports is SGMII2.5G
In order to do so it was also required to introduce a new if type for SGMII2.5G Change-Id: Iddbe223d8b716c3ed348c7a8a53bee0c037f04f4 Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/23474 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/dpa')
-rw-r--r--drivers/net/ethernet/freescale/dpa/mac-api.c2
-rw-r--r--drivers/net/ethernet/freescale/dpa/mac.c10
2 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/mac-api.c b/drivers/net/ethernet/freescale/dpa/mac-api.c
index 1b92e86..7fe569e 100644
--- a/drivers/net/ethernet/freescale/dpa/mac-api.c
+++ b/drivers/net/ethernet/freescale/dpa/mac-api.c
@@ -99,6 +99,8 @@ macdev2enetinterface(const struct mac_device *mac_dev)
return _100[mac_dev->phy_if];
case SPEED_1000:
return _1000[mac_dev->phy_if];
+ case SPEED_2500:
+ return e_ENET_MODE_SGMII_2500;
case SPEED_10000:
return e_ENET_MODE_XGMII_10000;
default:
diff --git a/drivers/net/ethernet/freescale/dpa/mac.c b/drivers/net/ethernet/freescale/dpa/mac.c
index e146433..faf00a1 100644
--- a/drivers/net/ethernet/freescale/dpa/mac.c
+++ b/drivers/net/ethernet/freescale/dpa/mac.c
@@ -72,7 +72,8 @@ static const char phy_str[][11] = {
[PHY_INTERFACE_MODE_RGMII_RXID] = "rgmii-rxid",
[PHY_INTERFACE_MODE_RGMII_TXID] = "rgmii-txid",
[PHY_INTERFACE_MODE_RTBI] = "rtbi",
- [PHY_INTERFACE_MODE_XGMII] = "xgmii"
+ [PHY_INTERFACE_MODE_XGMII] = "xgmii",
+ [PHY_INTERFACE_MODE_SGMII_2500] = "sgmii_2500"
};
static phy_interface_t __pure __attribute__((nonnull)) str2phy(const char *str)
@@ -97,7 +98,8 @@ static const uint16_t phy2speed[] = {
[PHY_INTERFACE_MODE_RGMII_RXID] = SPEED_1000,
[PHY_INTERFACE_MODE_RGMII_TXID] = SPEED_1000,
[PHY_INTERFACE_MODE_RTBI] = SPEED_1000,
- [PHY_INTERFACE_MODE_XGMII] = SPEED_10000
+ [PHY_INTERFACE_MODE_XGMII] = SPEED_10000,
+ [PHY_INTERFACE_MODE_SGMII_2500] = SPEED_2500
};
static struct mac_device * __cold
@@ -337,6 +339,10 @@ static int __cold mac_probe(struct platform_device *_of_dev)
mac_dev->if_support &= ~(SUPPORTED_10baseT_Half |
SUPPORTED_100baseT_Half);
+ if (strstr(char_prop, "sgmii_2500"))
+ mac_dev->if_support &= ~(SUPPORTED_10baseT_Half |
+ SUPPORTED_100baseT_Half);
+
/* Gigabit support (no half-duplex) */
if (mac_dev->max_speed == 1000)
mac_dev->if_support |= SUPPORTED_1000baseT_Full;