summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/dev/ffec
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-08-07 12:12:37 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-09-21 10:29:36 +0200
commitde261e0404e1fe54544275fc57d5b982df4f42b4 (patch)
tree856cbdf23d6809b99c4d642d066bc45cd67c26e6 /freebsd/sys/dev/ffec
parentlibbsd.txt: Use rtems_bsd_ifconfig_lo0() (diff)
downloadrtems-libbsd-de261e0404e1fe54544275fc57d5b982df4f42b4.tar.bz2
Update to FreeBSD head 2017-06-01
Git mirror commit dfb26efac4ce9101dda240e94d9ab53f80a9e131. Update #3472.
Diffstat (limited to 'freebsd/sys/dev/ffec')
-rw-r--r--freebsd/sys/dev/ffec/if_ffec.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/freebsd/sys/dev/ffec/if_ffec.c b/freebsd/sys/dev/ffec/if_ffec.c
index 7660e2c7..b9a0d668 100644
--- a/freebsd/sys/dev/ffec/if_ffec.c
+++ b/freebsd/sys/dev/ffec/if_ffec.c
@@ -84,6 +84,7 @@ __FBSDID("$FreeBSD$");
#include <netinet/in.h>
#include <netinet/ip.h>
+#include <dev/fdt/fdt_common.h>
#include <dev/ffec/if_ffecreg.h>
#include <dev/ofw/ofw_bus.h>
#include <dev/ofw/ofw_bus_subr.h>
@@ -121,6 +122,7 @@ static struct ofw_compat_data compat_data[] = {
{"fsl,imx51-fec", FECTYPE_GENERIC},
{"fsl,imx53-fec", FECTYPE_IMX53},
{"fsl,imx6q-fec", FECTYPE_IMX6 | FECFLAG_GBE | FECFLAG_RACC},
+ {"fsl,imx6ul-fec", FECTYPE_IMX6},
{"fsl,mvf600-fec", FECTYPE_MVF | FECFLAG_RACC},
{"fsl,mvf-fec", FECTYPE_MVF},
{"fsl,imx7d-fec", FECTYPE_IMX6 | FECFLAG_GBE | FECFLAG_AVB |
@@ -1702,8 +1704,9 @@ ffec_attach(device_t dev)
struct ffec_softc *sc;
struct ifnet *ifp = NULL;
struct mbuf *m;
+ void *dummy;
phandle_t ofw_node;
- int error, rid, irq;
+ int error, phynum, rid, irq;
uint8_t eaddr[ETHER_ADDR_LEN];
char phy_conn_name[32];
uint32_t idx, mscr;
@@ -2017,8 +2020,11 @@ ffec_attach(device_t dev)
ffec_miigasket_setup(sc);
/* Attach the mii driver. */
+ if (fdt_get_phyaddr(ofw_node, dev, &phynum, &dummy) != 0) {
+ phynum = MII_PHY_ANY;
+ }
error = mii_attach(dev, &sc->miibus, ifp, ffec_media_change,
- ffec_media_status, BMSR_DEFCAPMASK, MII_PHY_ANY, MII_OFFSET_ANY,
+ ffec_media_status, BMSR_DEFCAPMASK, phynum, MII_OFFSET_ANY,
(sc->fectype & FECTYPE_MVF) ? MIIF_FORCEANEG : 0);
if (error != 0) {
device_printf(dev, "PHY attach failed\n");