|
@@ -2062,7 +2062,15 @@ static int gem_check_invariants(struct gem *gp)
|
|
|
mif_cfg &= ~MIF_CFG_PSELECT;
|
|
|
writel(mif_cfg, gp->regs + MIF_CFG);
|
|
|
} else {
|
|
|
- gp->phy_type = phy_serialink;
|
|
|
+#ifdef CONFIG_SPARC
|
|
|
+ const char *p;
|
|
|
+
|
|
|
+ p = of_get_property(gp->of_node, "shared-pins", NULL);
|
|
|
+ if (p && !strcmp(p, "serdes"))
|
|
|
+ gp->phy_type = phy_serdes;
|
|
|
+ else
|
|
|
+#endif
|
|
|
+ gp->phy_type = phy_serialink;
|
|
|
}
|
|
|
if (gp->phy_type == phy_mii_mdio1 ||
|
|
|
gp->phy_type == phy_mii_mdio0) {
|