@@ -628,21 +628,20 @@ static phy_interface_t gfar_get_interfac
return PHY_INTERFACE_MODE_TBI;
}
+ if (ecntrl & ECNTRL_REDUCED_MII_MODE)
+ return PHY_INTERFACE_MODE_RMII;
+
if (ecntrl & ECNTRL_REDUCED_MODE) {
- if (ecntrl & ECNTRL_REDUCED_MII_MODE)
- return PHY_INTERFACE_MODE_RMII;
- else {
- phy_interface_t interface = priv->interface;
-
- /*
- * This isn't autodetected right now, so it must
- * be set by the device tree or platform code.
- */
- if (interface == PHY_INTERFACE_MODE_RGMII_ID)
- return PHY_INTERFACE_MODE_RGMII_ID;
+ phy_interface_t interface = priv->interface;
- return PHY_INTERFACE_MODE_RGMII;
- }
+ /*
+ * This isn't autodetected right now, so it must
+ * be set by the device tree or platform code.
+ */
+ if (interface == PHY_INTERFACE_MODE_RGMII_ID)
+ return PHY_INTERFACE_MODE_RGMII_ID;
+
+ return PHY_INTERFACE_MODE_RGMII;
}
if (priv->device_flags & FSL_GIANFAR_DEV_HAS_GIGABIT)
On MPC8313, the TSEC flags ECNTRL_REDUCED_MODE (for RGMII) and ECNTRL_REDUCED_MII_MODE (for RMII) are mutually exclusive (15-32 of the 8313 reference manual). The current gianfar driver only checks for RMII when RGMII is enabled, so plain RMII is never detected. This patch makes the flags independent. Signed-off-by: Matthew Creech <mlcreech@gmail.com> --- gianfar.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-)