{
        struct ravb_private *priv = netdev_priv(ndev);
 
+       if (priv->phy_interface == PHY_INTERFACE_MODE_MII) {
+               ravb_write(ndev, (1000 << 16) | CXR35_SEL_XMII_MII, CXR35);
+               ravb_modify(ndev, CXR31, CXR31_SEL_LINK0 | CXR31_SEL_LINK1, 0);
+       } else {
+               ravb_write(ndev, (1000 << 16) | CXR35_SEL_XMII_RGMII, CXR35);
+               ravb_modify(ndev, CXR31, CXR31_SEL_LINK0 | CXR31_SEL_LINK1,
+                           CXR31_SEL_LINK0);
+       }
+
        /* Receive frame limit set register */
        ravb_write(ndev, GBETH_RX_BUFF_MAX + ETH_FCS_LEN, RFLR);
 
 
        /* E-MAC interrupt enable register */
        ravb_write(ndev, ECSIPR_ICDIP, ECSIPR);
-
-       if (priv->phy_interface == PHY_INTERFACE_MODE_MII) {
-               ravb_modify(ndev, CXR31, CXR31_SEL_LINK0 | CXR31_SEL_LINK1, 0);
-               ravb_write(ndev, (1000 << 16) | CXR35_SEL_XMII_MII, CXR35);
-       } else {
-               ravb_modify(ndev, CXR31, CXR31_SEL_LINK0 | CXR31_SEL_LINK1,
-                           CXR31_SEL_LINK0);
-       }
 }
 
 static void ravb_emac_init_rcar(struct net_device *ndev)