priv->phylink_config.type = PHYLINK_NETDEV;
        priv->phylink_config.mac_managed_pm = true;
 
+       /* Stmmac always requires an RX clock for hardware initialization */
+       priv->phylink_config.mac_requires_rxc = true;
+
        mdio_bus_data = priv->plat->mdio_bus_data;
        if (mdio_bus_data)
                priv->phylink_config.ovr_an_inband =
        u32 chan;
        int ret;
 
+       /* Make sure RX clock is enabled */
+       if (priv->hw->phylink_pcs)
+               phylink_pcs_pre_init(priv->phylink, priv->hw->phylink_pcs);
+
        /* DMA initialization and SW reset */
        ret = stmmac_init_dma_engine(priv);
        if (ret < 0) {