/* check RGMII support */
        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)
                if (tmp & DTSEC_ID2_INT_REDUCED_OFF)
                        return -EINVAL;
                if (tmp & DTSEC_ID2_INT_REDUCED_OFF)
                        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_qsgmii = iface == PHY_INTERFACE_MODE_QSGMII;
 
 
                break;
        default:
                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;
        }
        iowrite32be(tmp, ®s->if_mode);