diff options
author | Mandy Lavi <mandy.lavi@freescale.com> | 2014-11-10 16:57:36 (GMT) |
---|---|---|
committer | Honghua Yin <Hong-Hua.Yin@freescale.com> | 2015-03-17 07:05:31 (GMT) |
commit | 2462b796f59d627774e8dc796bb5aad26652c12e (patch) | |
tree | 3d72f1ec8383e0dbfe50fe127a0635c6ab4e82af /drivers/net/ethernet/freescale/dpa | |
parent | 71702d053d60b5d53931f7d8cd62e1a9e37c7939 (diff) | |
download | linux-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.c | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/freescale/dpa/mac.c | 10 |
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; |