Index: sys/dev/etherswitch/ip17x/ip175c.h =================================================================== --- sys/dev/etherswitch/ip17x/ip175c.h +++ sys/dev/etherswitch/ip17x/ip175c.h @@ -35,6 +35,9 @@ #define IP175C_MODE_REG 31 #define IP175C_RESET_PHY 30 #define IP175C_RESET_REG 0 +#define IP175C_MII_PHY 31 +#define IP175C_MII_CTL_REG 5 +#define IP175C_MII_MII1_RMII_EN 8 #define IP175C_LAST_VLAN 15 Index: sys/dev/etherswitch/ip17x/ip175c.c =================================================================== --- sys/dev/etherswitch/ip17x/ip175c.c +++ sys/dev/etherswitch/ip17x/ip175c.c @@ -234,6 +234,13 @@ void ip175c_attach(struct ip17x_softc *sc) { + uint32_t data; + + data = ip17x_readphy(sc->sc_dev, IP175C_MII_PHY, IP175C_MII_CTL_REG); + device_printf(sc->sc_dev, "MII: %x\n", data); + /* check mii1 interface if disabled then phy4 and mac4 hold on switch */ + if((data & (1 << IP175C_MII_MII1_RMII_EN)) == 0) + sc->phymask |= 0x10; sc->hal.ip17x_reset = ip175c_reset; sc->hal.ip17x_hw_setup = ip175c_hw_setup;