diff options
| author | Michael Zhilin <mizhka@FreeBSD.org> | 2016-11-21 19:26:22 +0000 |
|---|---|---|
| committer | Michael Zhilin <mizhka@FreeBSD.org> | 2016-11-21 19:26:22 +0000 |
| commit | b15317c43192e806f2db7d725dcec84aff9c30d8 (patch) | |
| tree | 1fe039209191934ca9c0a15e79364bdd3288338f /sys/dev/etherswitch/ukswitch | |
| parent | e45c936f460ed5f635ba0fca87114220017e693b (diff) | |
Notes
Diffstat (limited to 'sys/dev/etherswitch/ukswitch')
| -rw-r--r-- | sys/dev/etherswitch/ukswitch/ukswitch.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/etherswitch/ukswitch/ukswitch.c b/sys/dev/etherswitch/ukswitch/ukswitch.c index 876aa9da2267..5d8c95eabb8d 100644 --- a/sys/dev/etherswitch/ukswitch/ukswitch.c +++ b/sys/dev/etherswitch/ukswitch/ukswitch.c @@ -67,6 +67,7 @@ struct ukswitch_softc { int media; /* cpu port media */ int cpuport; /* which PHY is connected to the CPU */ int phymask; /* PHYs we manage */ + int phyoffset; /* PHYs register offset */ int numports; /* number of ports */ int ifpport[MII_NPHY]; int *portphy; @@ -133,7 +134,7 @@ ukswitch_attach_phys(struct ukswitch_softc *sc) M_WAITOK | M_ZERO); err = mii_attach(sc->sc_dev, sc->miibus[port], sc->ifp[port], ukswitch_ifmedia_upd, ukswitch_ifmedia_sts, \ - BMSR_DEFCAPMASK, phy, MII_OFFSET_ANY, 0); + BMSR_DEFCAPMASK, phy + sc->phyoffset, MII_OFFSET_ANY, 0); DPRINTF(sc->sc_dev, "%s attached to pseudo interface %s\n", device_get_nameunit(*sc->miibus[port]), sc->ifp[port]->if_xname); @@ -166,6 +167,7 @@ ukswitch_attach(device_t dev) /* XXX Defaults */ sc->numports = 6; sc->phymask = 0x0f; + sc->phyoffset = 0; sc->cpuport = -1; sc->media = 100; @@ -174,6 +176,8 @@ ukswitch_attach(device_t dev) (void) resource_int_value(device_get_name(dev), device_get_unit(dev), "phymask", &sc->phymask); (void) resource_int_value(device_get_name(dev), device_get_unit(dev), + "phyoffset", &sc->phyoffset); + (void) resource_int_value(device_get_name(dev), device_get_unit(dev), "cpuport", &sc->cpuport); (void) resource_int_value(device_get_name(dev), device_get_unit(dev), "media", &sc->media); |
