Add kr support in mac driver for dpaa1 Signed-off-by: Florinel Iordache <florinel.iordache@xxxxxxx> --- 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, ¶ms); + /* 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