rgmii_updatel(ethqos, RGMII_CONFIG2_TX_CLK_PHASE_SHIFT_EN, phase_shift,
RGMII_IO_MACRO_CONFIG2);
+ if (speed == SPEED_100)
+ rgmii_updatel(ethqos, RGMII_CONFIG_MAX_SPD_PRG_2,
+ FIELD_PREP(RGMII_CONFIG_MAX_SPD_PRG_2, 1),
+ RGMII_IO_MACRO_CONFIG);
+ else if (speed == SPEED_10)
+ rgmii_updatel(ethqos, RGMII_CONFIG_MAX_SPD_PRG_9,
+ FIELD_PREP(RGMII_CONFIG_MAX_SPD_PRG_9, 19),
+ RGMII_IO_MACRO_CONFIG);
+
switch (speed) {
case SPEED_1000:
rgmii_clrmask(ethqos, RGMII_CONFIG2_RSVD_CONFIG15,
break;
case SPEED_100:
- rgmii_updatel(ethqos, RGMII_CONFIG_MAX_SPD_PRG_2,
- FIELD_PREP(RGMII_CONFIG_MAX_SPD_PRG_2, 1),
- RGMII_IO_MACRO_CONFIG);
rgmii_clrmask(ethqos, RGMII_CONFIG2_RSVD_CONFIG15,
RGMII_IO_MACRO_CONFIG2);
break;
case SPEED_10:
- rgmii_updatel(ethqos, RGMII_CONFIG_MAX_SPD_PRG_9,
- FIELD_PREP(RGMII_CONFIG_MAX_SPD_PRG_9, 19),
- RGMII_IO_MACRO_CONFIG);
rgmii_clrmask(ethqos, RGMII_CONFIG2_RSVD_CONFIG15,
RGMII_IO_MACRO_CONFIG2);
if (ethqos->has_emac_ge_3)