fsl/fman: take into account all RGMII modes

Accept the internal delay RGMII variants.

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Madalin Bucur 2017-03-30 16:21:40 +03:00 committed by David S. Miller
parent d6acfeb17d
commit b07e675b06
2 changed files with 11 additions and 2 deletions

View File

@ -381,6 +381,9 @@ static int init(struct dtsec_regs __iomem *regs, struct dtsec_cfg *cfg,
/* check RGMII support */ /* check RGMII support */
if (iface == PHY_INTERFACE_MODE_RGMII || if (iface == PHY_INTERFACE_MODE_RGMII ||
iface == PHY_INTERFACE_MODE_RGMII_ID ||
iface == PHY_INTERFACE_MODE_RGMII_RXID ||
iface == PHY_INTERFACE_MODE_RGMII_TXID ||
iface == PHY_INTERFACE_MODE_RMII) iface == PHY_INTERFACE_MODE_RMII)
if (tmp & DTSEC_ID2_INT_REDUCED_OFF) if (tmp & DTSEC_ID2_INT_REDUCED_OFF)
return -EINVAL; return -EINVAL;
@ -390,7 +393,10 @@ static int init(struct dtsec_regs __iomem *regs, struct dtsec_cfg *cfg,
if (tmp & DTSEC_ID2_INT_REDUCED_OFF) if (tmp & DTSEC_ID2_INT_REDUCED_OFF)
return -EINVAL; return -EINVAL;
is_rgmii = iface == PHY_INTERFACE_MODE_RGMII; is_rgmii = iface == PHY_INTERFACE_MODE_RGMII ||
iface == PHY_INTERFACE_MODE_RGMII_ID ||
iface == PHY_INTERFACE_MODE_RGMII_RXID ||
iface == PHY_INTERFACE_MODE_RGMII_TXID;
is_sgmii = iface == PHY_INTERFACE_MODE_SGMII; is_sgmii = iface == PHY_INTERFACE_MODE_SGMII;
is_qsgmii = iface == PHY_INTERFACE_MODE_QSGMII; is_qsgmii = iface == PHY_INTERFACE_MODE_QSGMII;

View File

@ -443,7 +443,10 @@ static int init(struct memac_regs __iomem *regs, struct memac_cfg *cfg,
break; break;
default: default:
tmp |= IF_MODE_GMII; tmp |= IF_MODE_GMII;
if (phy_if == PHY_INTERFACE_MODE_RGMII) if (phy_if == PHY_INTERFACE_MODE_RGMII ||
phy_if == PHY_INTERFACE_MODE_RGMII_ID ||
phy_if == PHY_INTERFACE_MODE_RGMII_RXID ||
phy_if == PHY_INTERFACE_MODE_RGMII_TXID)
tmp |= IF_MODE_RGMII | IF_MODE_RGMII_AUTO; tmp |= IF_MODE_RGMII | IF_MODE_RGMII_AUTO;
} }
iowrite32be(tmp, &regs->if_mode); iowrite32be(tmp, &regs->if_mode);