Add kr support in mac driver for dpaa1

Signed-off-by: Florinel Iordache <florinel.iorda...@nxp.com>
---
 drivers/net/ethernet/freescale/fman/mac.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/mac.c 
b/drivers/net/ethernet/freescale/fman/mac.c
index 43427c5..90fe594 100644
--- a/drivers/net/ethernet/freescale/fman/mac.c
+++ b/drivers/net/ethernet/freescale/fman/mac.c
@@ -1,4 +1,5 @@
 /* Copyright 2008-2015 Freescale Semiconductor, Inc.
+ * Copyright 2020 NXP
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -220,6 +221,7 @@ static int memac_initialization(struct mac_device *mac_dev)
 
        set_fman_mac_params(mac_dev, &params);
 
+       /* use XGMII mode for all 10G interfaces to setup memac */
        if (priv->max_speed == SPEED_10000)
                params.phy_if = PHY_INTERFACE_MODE_XGMII;
 
@@ -540,7 +542,8 @@ static void setup_memac(struct mac_device *mac_dev)
        [PHY_INTERFACE_MODE_RGMII_TXID] = SPEED_1000,
        [PHY_INTERFACE_MODE_RTBI]               = SPEED_1000,
        [PHY_INTERFACE_MODE_QSGMII]             = SPEED_1000,
-       [PHY_INTERFACE_MODE_XGMII]              = SPEED_10000
+       [PHY_INTERFACE_MODE_XGMII]              = SPEED_10000,
+       [PHY_INTERFACE_MODE_10GKR]              = SPEED_10000
 };
 
 static struct platform_device *dpaa_eth_add_device(int fman_id,
@@ -795,9 +798,12 @@ static int mac_probe(struct platform_device *_of_dev)
        if (priv->max_speed == 1000)
                mac_dev->if_support |= SUPPORTED_1000baseT_Full;
 
-       /* The 10G interface only supports one mode */
+       /* Supported 10G interfaces */
        if (mac_dev->phy_if == PHY_INTERFACE_MODE_XGMII)
                mac_dev->if_support = SUPPORTED_10000baseT_Full;
+       /* Supported KR interfaces */
+       if (mac_dev->phy_if == PHY_INTERFACE_MODE_10GKR)
+               mac_dev->if_support = SUPPORTED_10000baseKR_Full;
 
        /* Get the rest of the PHY information */
        mac_dev->phy_node = of_parse_phandle(mac_node, "phy-handle", 0);
-- 
1.9.1

Reply via email to