return 0;
 }
 
-static int meson8b_init_prg_eth(struct meson8b_dwmac *dwmac)
+static int meson8b_init_rgmii_delays(struct meson8b_dwmac *dwmac)
 {
        u32 tx_dly_config, rx_dly_config, delay_config;
        int ret;
                                PRG_ETH0_ADJ_DELAY | PRG_ETH0_ADJ_SKEW,
                                delay_config);
 
+       return 0;
+}
+
+static int meson8b_init_prg_eth(struct meson8b_dwmac *dwmac)
+{
+       int ret;
+
        if (phy_interface_mode_is_rgmii(dwmac->phy_mode)) {
                /* only relevant for RMII mode -> disable in RGMII mode */
                meson8b_dwmac_mask_bits(dwmac, PRG_ETH0,
                goto err_remove_config_dt;
        }
 
+       ret = meson8b_init_rgmii_delays(dwmac);
+       if (ret)
+               goto err_remove_config_dt;
+
        ret = meson8b_init_rgmii_tx_clk(dwmac);
        if (ret)
                goto err_remove_config_dt;