|
@@ -516,6 +516,7 @@ fec_restart(struct net_device *ndev, int duplex)
|
|
|
/* Set MII speed */
|
|
|
writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED);
|
|
|
|
|
|
+#if !defined(CONFIG_M5272)
|
|
|
/* set RX checksum */
|
|
|
val = readl(fep->hwp + FEC_RACC);
|
|
|
if (fep->csum_flags & FLAG_RX_CSUM_ENABLED)
|
|
@@ -523,6 +524,7 @@ fec_restart(struct net_device *ndev, int duplex)
|
|
|
else
|
|
|
val &= ~FEC_RACC_OPTIONS;
|
|
|
writel(val, fep->hwp + FEC_RACC);
|
|
|
+#endif
|
|
|
|
|
|
/*
|
|
|
* The phy interface and speed need to get configured
|
|
@@ -575,6 +577,7 @@ fec_restart(struct net_device *ndev, int duplex)
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
+#if !defined(CONFIG_M5272)
|
|
|
/* enable pause frame*/
|
|
|
if ((fep->pause_flag & FEC_PAUSE_FLAG_ENABLE) ||
|
|
|
((fep->pause_flag & FEC_PAUSE_FLAG_AUTONEG) &&
|
|
@@ -592,6 +595,7 @@ fec_restart(struct net_device *ndev, int duplex)
|
|
|
} else {
|
|
|
rcntl &= ~FEC_ENET_FCE;
|
|
|
}
|
|
|
+#endif /* !defined(CONFIG_M5272) */
|
|
|
|
|
|
writel(rcntl, fep->hwp + FEC_R_CNTRL);
|
|
|
|
|
@@ -1205,7 +1209,9 @@ static int fec_enet_mii_probe(struct net_device *ndev)
|
|
|
/* mask with MAC supported features */
|
|
|
if (id_entry->driver_data & FEC_QUIRK_HAS_GBIT) {
|
|
|
phy_dev->supported &= PHY_GBIT_FEATURES;
|
|
|
+#if !defined(CONFIG_M5272)
|
|
|
phy_dev->supported |= SUPPORTED_Pause;
|
|
|
+#endif
|
|
|
}
|
|
|
else
|
|
|
phy_dev->supported &= PHY_BASIC_FEATURES;
|
|
@@ -1390,6 +1396,8 @@ static int fec_enet_get_ts_info(struct net_device *ndev,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+#if !defined(CONFIG_M5272)
|
|
|
+
|
|
|
static void fec_enet_get_pauseparam(struct net_device *ndev,
|
|
|
struct ethtool_pauseparam *pause)
|
|
|
{
|
|
@@ -1436,9 +1444,13 @@ static int fec_enet_set_pauseparam(struct net_device *ndev,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+#endif /* !defined(CONFIG_M5272) */
|
|
|
+
|
|
|
static const struct ethtool_ops fec_enet_ethtool_ops = {
|
|
|
+#if !defined(CONFIG_M5272)
|
|
|
.get_pauseparam = fec_enet_get_pauseparam,
|
|
|
.set_pauseparam = fec_enet_set_pauseparam,
|
|
|
+#endif
|
|
|
.get_settings = fec_enet_get_settings,
|
|
|
.set_settings = fec_enet_set_settings,
|
|
|
.get_drvinfo = fec_enet_get_drvinfo,
|
|
@@ -1874,10 +1886,12 @@ fec_probe(struct platform_device *pdev)
|
|
|
/* setup board info structure */
|
|
|
fep = netdev_priv(ndev);
|
|
|
|
|
|
+#if !defined(CONFIG_M5272)
|
|
|
/* default enable pause frame auto negotiation */
|
|
|
if (pdev->id_entry &&
|
|
|
(pdev->id_entry->driver_data & FEC_QUIRK_HAS_GBIT))
|
|
|
fep->pause_flag |= FEC_PAUSE_FLAG_AUTONEG;
|
|
|
+#endif
|
|
|
|
|
|
fep->hwp = devm_request_and_ioremap(&pdev->dev, r);
|
|
|
fep->pdev = pdev;
|