Index: ic/dwqe.c =================================================================== RCS file: /cvs/src/sys/dev/ic/dwqe.c,v retrieving revision 1.3 diff -u -p -r1.3 dwqe.c --- ic/dwqe.c 22 Mar 2023 21:41:28 -0000 1.3 +++ ic/dwqe.c 6 Apr 2023 06:58:08 -0000 @@ -109,8 +109,8 @@ dwqe_attach(struct dwqe_softc *sc) int i; version = dwqe_read(sc, GMAC_VERSION); - printf(": rev 0x%02x, address %s\n", version & GMAC_VERSION_SNPS_MASK, - ether_sprintf(sc->sc_lladdr)); + printf(": gmac %d, rev 0x%02x, address %s\n", sc->sc_gmac_id, + version & GMAC_VERSION_SNPS_MASK, ether_sprintf(sc->sc_lladdr)); for (i = 0; i < 4; i++) sc->sc_hw_feature[i] = dwqe_read(sc, GMAC_MAC_HW_FEATURE(i)); Index: ic/dwqevar.h =================================================================== RCS file: /cvs/src/sys/dev/ic/dwqevar.h,v retrieving revision 1.2 diff -u -p -r1.2 dwqevar.h --- ic/dwqevar.h 19 Mar 2023 09:46:40 -0000 1.2 +++ ic/dwqevar.h 6 Apr 2023 06:58:08 -0000 @@ -45,6 +45,8 @@ struct dwqe_softc { bus_dma_tag_t sc_dmat; void *sc_ih; + struct if_device sc_ifd; + struct arpcom sc_ac; #define sc_lladdr sc_ac.ac_enaddr struct mii_data sc_mii; Index: fdt/if_dwqe_fdt.c =================================================================== RCS file: /cvs/src/sys/dev/fdt/if_dwqe_fdt.c,v retrieving revision 1.6 diff -u -p -r1.6 if_dwqe_fdt.c --- fdt/if_dwqe_fdt.c 6 Apr 2023 00:09:39 -0000 1.6 +++ fdt/if_dwqe_fdt.c 6 Apr 2023 06:58:08 -0000 @@ -88,6 +88,7 @@ dwqe_fdt_attach(struct device *parent, s struct fdt_attach_args *faa = aux; uint32_t phy, phy_supply; uint32_t axi_config; + struct ifnet *ifp; int i, node; sc->sc_node = faa->fa_node; @@ -210,6 +211,15 @@ dwqe_fdt_attach(struct device *parent, s dwqe_intr, sc, sc->sc_dev.dv_xname); if (sc->sc_ih == NULL) printf("%s: can't establish interrupt\n", sc->sc_dev.dv_xname); + + ifp = &sc->sc_ac.ac_if; + + OF_getprop(faa->fa_node, "label", + ifp->if_description, sizeof(ifp->if_description)); + + sc->sc_ifd.if_node = faa->fa_node; + sc->sc_ifd.if_ifp = ifp; + if_register(&sc->sc_ifd); } void