Submitted by: Matt Thomas <thomas@lkg.dec.com>
Preliminary FAST Ethernet support added (DEC21140).
This commit is contained in:
parent
157823e855
commit
140e168d9b
@ -21,9 +21,13 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: if_de.c,v 1.5 1994/10/01 16:10:24 thomas Exp $
|
||||
* $Id: if_de.c,v 1.6 1994/10/11 18:20:10 thomas Exp $
|
||||
*
|
||||
* $Log: if_de.c,v $
|
||||
* Revision 1.6 1994/10/11 18:20:10 thomas
|
||||
* new pci interface
|
||||
* new 100mb/s prelim support
|
||||
*
|
||||
* Revision 1.5 1994/10/01 16:10:24 thomas
|
||||
* Modifications for FreeBSD 2.0
|
||||
*
|
||||
@ -195,7 +199,14 @@ typedef struct {
|
||||
#ifndef IFF_ALTPHYS
|
||||
#define IFF_ALTPHYS IFF_LINK0 /* In case it isn't defined */
|
||||
#endif
|
||||
typedef enum { TULIP_DC21040, TULIP_DC21140 } tulip_chipid_t;
|
||||
const char *tulip_chipdescs[] = {
|
||||
"DC21040 [10Mb/s]",
|
||||
"DC21140 [100Mb/s]",
|
||||
};
|
||||
|
||||
tulip_softc_t *tulips[NDE];
|
||||
tulip_chipid_t tulip_chipids[NDE];
|
||||
unsigned tulip_intrs[NDE];
|
||||
|
||||
#define tulip_if tulip_ac.ac_if
|
||||
@ -309,7 +320,6 @@ tulip_init(
|
||||
int unit)
|
||||
{
|
||||
tulip_softc_t *sc = tulips[unit];
|
||||
/* XXX unsigned new_cmdmode; */
|
||||
|
||||
if (sc->tulip_if.if_flags & IFF_UP) {
|
||||
sc->tulip_if.if_flags |= IFF_RUNNING;
|
||||
@ -694,7 +704,7 @@ tulip_intr(
|
||||
tulip_uint32_t csr;
|
||||
unsigned spins = 0;
|
||||
|
||||
/* XXX tulip_intrs[unit]++; */
|
||||
tulip_intrs[sc->tulip_unit]++;
|
||||
|
||||
while ((csr = *sc->tulip_csrs.csr_status) & (TULIP_STS_NORMALINTR|TULIP_STS_ABNRMLINTR)) {
|
||||
*sc->tulip_csrs.csr_status = csr & sc->tulip_intrmask;
|
||||
@ -704,7 +714,7 @@ tulip_intr(
|
||||
if ((csr & TULIP_STS_ERRORMASK) == TULIP_STS_ERR_PARITY) {
|
||||
TULIP_RESET(sc);
|
||||
tulip_init(sc->tulip_unit);
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if (csr & TULIP_STS_RXINTR)
|
||||
@ -721,7 +731,7 @@ tulip_intr(
|
||||
}
|
||||
if (spins > sc->tulip_high_intrspins)
|
||||
sc->tulip_high_intrspins = spins;
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1006,8 +1016,9 @@ tulip_attach(
|
||||
ifp->if_addrlen = 6;
|
||||
ifp->if_hdrlen = 14;
|
||||
|
||||
printf("%s%d: DC21040 pass %d.%d (TULIP) ethernet address %s\n",
|
||||
printf("%s%d: %s pass %d.%d ethernet address %s\n",
|
||||
sc->tulip_name, sc->tulip_unit,
|
||||
tulip_chipdescs[tulip_chipids[sc->tulip_unit]],
|
||||
(sc->tulip_revinfo & 0xF0) >> 4,
|
||||
sc->tulip_revinfo & 0x0F,
|
||||
ether_sprintf(sc->tulip_hwaddr));
|
||||
@ -1104,12 +1115,20 @@ tulip_pci_probe(
|
||||
pcidi_t device_id)
|
||||
{
|
||||
int idx;
|
||||
if (device_id != 0x00021011ul)
|
||||
return (NULL);
|
||||
for (idx = 0; idx < NDE; idx++)
|
||||
if (tulips[idx] == NULL)
|
||||
return ("digital dc21040 ethernet");
|
||||
return (NULL);
|
||||
for (idx = 0; idx < NDE; idx++) {
|
||||
if (tulips[idx] == NULL) {
|
||||
if (device_id == 0x00021011ul) {
|
||||
tulip_chipids[idx] = TULIP_DC21040;
|
||||
return "digital dc21040 ethernet";
|
||||
}
|
||||
if (device_id == 0x00091011ul) {
|
||||
tulip_chipids[idx] = TULIP_DC21140;
|
||||
return "digital dc21140 fast ethernet";
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1118,10 +1137,8 @@ tulip_pci_attach(
|
||||
int unit)
|
||||
{
|
||||
tulip_softc_t *sc;
|
||||
int retval, idx /* XXX , revinfo, */;
|
||||
/* XXX signed int csr; */
|
||||
int retval, idx;
|
||||
vm_offset_t va_csrs, pa_csrs;
|
||||
/* XXX int result;*/
|
||||
tulip_desc_t *rxdescs, *txdescs;
|
||||
|
||||
sc = (tulip_softc_t *) malloc(sizeof(*sc), M_DEVBUF, M_NOWAIT);
|
||||
@ -1175,8 +1192,9 @@ tulip_pci_attach(
|
||||
for (idx = 0; idx < 32; idx++)
|
||||
printf("%02x", sc->tulip_rombuf[idx]);
|
||||
printf("\n");
|
||||
printf("%s%d: DC21040 %d.%d ethernet address %s\n",
|
||||
printf("%s%d: %s %d.%d ethernet address %s\n",
|
||||
sc->tulip_name, sc->tulip_unit,
|
||||
tulip_chipdescs[tulip_chipids[sc->tulip_unit]],
|
||||
(sc->tulip_revinfo & 0xF0) >> 4, sc->tulip_revinfo & 0x0F,
|
||||
"unknown");
|
||||
} else {
|
||||
|
@ -1,4 +1,4 @@
|
||||
$Id: README.de,v 1.1 1994/10/01 20:16:42 wollman Exp $
|
||||
$Id: README.de,v 1.2 1994/10/11 18:33:07 thomas Exp $
|
||||
|
||||
----------------
|
||||
|
||||
@ -14,7 +14,7 @@ using a eariler pass chip, you may encounter undetected transmit
|
||||
corruptions. This driver also requires that DC21040-AA use a serial
|
||||
Ethernet address ROM as described in the DC21040 specification.
|
||||
|
||||
The DEC DE425 ESIA NIC based on the DC21040-AA is not support at
|
||||
The DEC DE425 EISA NIC based on the DC21040-AA is not support at
|
||||
this time. A future update will include support for it.
|
||||
|
||||
The driver includes full support for both BPF and IP Multicast.
|
||||
@ -25,7 +25,9 @@ switch the driver to the correct port.
|
||||
ifconfig de0 -altphys 10baseT/UTP port
|
||||
|
||||
This driver requires the NCR 53C810 PCI SCSI package to be installed.
|
||||
This can be obtained from FTP.Uni-Koeln.DE:~ftp/packages/FreeBSD.
|
||||
This can be obtained from FTP.Uni-Koeln.DE:~ftp/packages/FreeBSD/PCI-SCSI.
|
||||
Make sure the date of the NCR 53C810 PCI SCSI package is later than
|
||||
October 10th, 1994.
|
||||
|
||||
[All paths are relative to the top of sys source area, usually
|
||||
/usr/src/sys.]
|
||||
@ -39,7 +41,6 @@ directories:
|
||||
You will need to apply the following patches:
|
||||
|
||||
pat.files.i386 --> i386/conf/files.i386
|
||||
pat.pci --> i386/pci/pci.c, i386/pci/pci_config.c
|
||||
|
||||
After that is done you will need to edit your config file (in
|
||||
i386/conf) and lines similar to:
|
||||
@ -47,14 +48,17 @@ i386/conf) and lines similar to:
|
||||
controller pci0
|
||||
device de0
|
||||
|
||||
The PCI support code will automatically determine and enable the
|
||||
correct IRQ.
|
||||
|
||||
Now you are ready to rebuild your kernel, reboot, and see if the
|
||||
driver can configure your board. When the system boots, you will
|
||||
hopefully something close to:
|
||||
|
||||
on pci0:7 <digital dc21040 ethernet> int a irq 9 as de0
|
||||
memory size=0x1000 virtual=0xf25e9000 physical=0xc0001000
|
||||
de0 <digital dc21040 ethernet> int a irq 9 on pci0:7
|
||||
reg20: virtual=0xf290a000 physical=0xc0001000
|
||||
de0: enabling Thinwire/AUI port
|
||||
de0: DC21040 pass 2.3 (TULIP) ethernet address 08:00:2b:e2:1e:09
|
||||
de0: DC21040 [10Mb/s] pass 2.3 ethernet address 08:00:2b:e2:1e:09
|
||||
bpf: de0 attached
|
||||
|
||||
in the startup log. If so, the board configured properly and
|
||||
|
@ -21,9 +21,13 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: if_de.c,v 1.5 1994/10/01 16:10:24 thomas Exp $
|
||||
* $Id: if_de.c,v 1.6 1994/10/11 18:20:10 thomas Exp $
|
||||
*
|
||||
* $Log: if_de.c,v $
|
||||
* Revision 1.6 1994/10/11 18:20:10 thomas
|
||||
* new pci interface
|
||||
* new 100mb/s prelim support
|
||||
*
|
||||
* Revision 1.5 1994/10/01 16:10:24 thomas
|
||||
* Modifications for FreeBSD 2.0
|
||||
*
|
||||
@ -195,7 +199,14 @@ typedef struct {
|
||||
#ifndef IFF_ALTPHYS
|
||||
#define IFF_ALTPHYS IFF_LINK0 /* In case it isn't defined */
|
||||
#endif
|
||||
typedef enum { TULIP_DC21040, TULIP_DC21140 } tulip_chipid_t;
|
||||
const char *tulip_chipdescs[] = {
|
||||
"DC21040 [10Mb/s]",
|
||||
"DC21140 [100Mb/s]",
|
||||
};
|
||||
|
||||
tulip_softc_t *tulips[NDE];
|
||||
tulip_chipid_t tulip_chipids[NDE];
|
||||
unsigned tulip_intrs[NDE];
|
||||
|
||||
#define tulip_if tulip_ac.ac_if
|
||||
@ -309,7 +320,6 @@ tulip_init(
|
||||
int unit)
|
||||
{
|
||||
tulip_softc_t *sc = tulips[unit];
|
||||
/* XXX unsigned new_cmdmode; */
|
||||
|
||||
if (sc->tulip_if.if_flags & IFF_UP) {
|
||||
sc->tulip_if.if_flags |= IFF_RUNNING;
|
||||
@ -694,7 +704,7 @@ tulip_intr(
|
||||
tulip_uint32_t csr;
|
||||
unsigned spins = 0;
|
||||
|
||||
/* XXX tulip_intrs[unit]++; */
|
||||
tulip_intrs[sc->tulip_unit]++;
|
||||
|
||||
while ((csr = *sc->tulip_csrs.csr_status) & (TULIP_STS_NORMALINTR|TULIP_STS_ABNRMLINTR)) {
|
||||
*sc->tulip_csrs.csr_status = csr & sc->tulip_intrmask;
|
||||
@ -704,7 +714,7 @@ tulip_intr(
|
||||
if ((csr & TULIP_STS_ERRORMASK) == TULIP_STS_ERR_PARITY) {
|
||||
TULIP_RESET(sc);
|
||||
tulip_init(sc->tulip_unit);
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if (csr & TULIP_STS_RXINTR)
|
||||
@ -721,7 +731,7 @@ tulip_intr(
|
||||
}
|
||||
if (spins > sc->tulip_high_intrspins)
|
||||
sc->tulip_high_intrspins = spins;
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1006,8 +1016,9 @@ tulip_attach(
|
||||
ifp->if_addrlen = 6;
|
||||
ifp->if_hdrlen = 14;
|
||||
|
||||
printf("%s%d: DC21040 pass %d.%d (TULIP) ethernet address %s\n",
|
||||
printf("%s%d: %s pass %d.%d ethernet address %s\n",
|
||||
sc->tulip_name, sc->tulip_unit,
|
||||
tulip_chipdescs[tulip_chipids[sc->tulip_unit]],
|
||||
(sc->tulip_revinfo & 0xF0) >> 4,
|
||||
sc->tulip_revinfo & 0x0F,
|
||||
ether_sprintf(sc->tulip_hwaddr));
|
||||
@ -1104,12 +1115,20 @@ tulip_pci_probe(
|
||||
pcidi_t device_id)
|
||||
{
|
||||
int idx;
|
||||
if (device_id != 0x00021011ul)
|
||||
return (NULL);
|
||||
for (idx = 0; idx < NDE; idx++)
|
||||
if (tulips[idx] == NULL)
|
||||
return ("digital dc21040 ethernet");
|
||||
return (NULL);
|
||||
for (idx = 0; idx < NDE; idx++) {
|
||||
if (tulips[idx] == NULL) {
|
||||
if (device_id == 0x00021011ul) {
|
||||
tulip_chipids[idx] = TULIP_DC21040;
|
||||
return "digital dc21040 ethernet";
|
||||
}
|
||||
if (device_id == 0x00091011ul) {
|
||||
tulip_chipids[idx] = TULIP_DC21140;
|
||||
return "digital dc21140 fast ethernet";
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1118,10 +1137,8 @@ tulip_pci_attach(
|
||||
int unit)
|
||||
{
|
||||
tulip_softc_t *sc;
|
||||
int retval, idx /* XXX , revinfo, */;
|
||||
/* XXX signed int csr; */
|
||||
int retval, idx;
|
||||
vm_offset_t va_csrs, pa_csrs;
|
||||
/* XXX int result;*/
|
||||
tulip_desc_t *rxdescs, *txdescs;
|
||||
|
||||
sc = (tulip_softc_t *) malloc(sizeof(*sc), M_DEVBUF, M_NOWAIT);
|
||||
@ -1175,8 +1192,9 @@ tulip_pci_attach(
|
||||
for (idx = 0; idx < 32; idx++)
|
||||
printf("%02x", sc->tulip_rombuf[idx]);
|
||||
printf("\n");
|
||||
printf("%s%d: DC21040 %d.%d ethernet address %s\n",
|
||||
printf("%s%d: %s %d.%d ethernet address %s\n",
|
||||
sc->tulip_name, sc->tulip_unit,
|
||||
tulip_chipdescs[tulip_chipids[sc->tulip_unit]],
|
||||
(sc->tulip_revinfo & 0xF0) >> 4, sc->tulip_revinfo & 0x0F,
|
||||
"unknown");
|
||||
} else {
|
||||
|
@ -1,4 +1,4 @@
|
||||
$Id: README.de,v 1.1 1994/10/01 20:16:42 wollman Exp $
|
||||
$Id: README.de,v 1.2 1994/10/11 18:33:07 thomas Exp $
|
||||
|
||||
----------------
|
||||
|
||||
@ -14,7 +14,7 @@ using a eariler pass chip, you may encounter undetected transmit
|
||||
corruptions. This driver also requires that DC21040-AA use a serial
|
||||
Ethernet address ROM as described in the DC21040 specification.
|
||||
|
||||
The DEC DE425 ESIA NIC based on the DC21040-AA is not support at
|
||||
The DEC DE425 EISA NIC based on the DC21040-AA is not support at
|
||||
this time. A future update will include support for it.
|
||||
|
||||
The driver includes full support for both BPF and IP Multicast.
|
||||
@ -25,7 +25,9 @@ switch the driver to the correct port.
|
||||
ifconfig de0 -altphys 10baseT/UTP port
|
||||
|
||||
This driver requires the NCR 53C810 PCI SCSI package to be installed.
|
||||
This can be obtained from FTP.Uni-Koeln.DE:~ftp/packages/FreeBSD.
|
||||
This can be obtained from FTP.Uni-Koeln.DE:~ftp/packages/FreeBSD/PCI-SCSI.
|
||||
Make sure the date of the NCR 53C810 PCI SCSI package is later than
|
||||
October 10th, 1994.
|
||||
|
||||
[All paths are relative to the top of sys source area, usually
|
||||
/usr/src/sys.]
|
||||
@ -39,7 +41,6 @@ directories:
|
||||
You will need to apply the following patches:
|
||||
|
||||
pat.files.i386 --> i386/conf/files.i386
|
||||
pat.pci --> i386/pci/pci.c, i386/pci/pci_config.c
|
||||
|
||||
After that is done you will need to edit your config file (in
|
||||
i386/conf) and lines similar to:
|
||||
@ -47,14 +48,17 @@ i386/conf) and lines similar to:
|
||||
controller pci0
|
||||
device de0
|
||||
|
||||
The PCI support code will automatically determine and enable the
|
||||
correct IRQ.
|
||||
|
||||
Now you are ready to rebuild your kernel, reboot, and see if the
|
||||
driver can configure your board. When the system boots, you will
|
||||
hopefully something close to:
|
||||
|
||||
on pci0:7 <digital dc21040 ethernet> int a irq 9 as de0
|
||||
memory size=0x1000 virtual=0xf25e9000 physical=0xc0001000
|
||||
de0 <digital dc21040 ethernet> int a irq 9 on pci0:7
|
||||
reg20: virtual=0xf290a000 physical=0xc0001000
|
||||
de0: enabling Thinwire/AUI port
|
||||
de0: DC21040 pass 2.3 (TULIP) ethernet address 08:00:2b:e2:1e:09
|
||||
de0: DC21040 [10Mb/s] pass 2.3 ethernet address 08:00:2b:e2:1e:09
|
||||
bpf: de0 attached
|
||||
|
||||
in the startup log. If so, the board configured properly and
|
||||
|
@ -21,9 +21,13 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: if_de.c,v 1.5 1994/10/01 16:10:24 thomas Exp $
|
||||
* $Id: if_de.c,v 1.6 1994/10/11 18:20:10 thomas Exp $
|
||||
*
|
||||
* $Log: if_de.c,v $
|
||||
* Revision 1.6 1994/10/11 18:20:10 thomas
|
||||
* new pci interface
|
||||
* new 100mb/s prelim support
|
||||
*
|
||||
* Revision 1.5 1994/10/01 16:10:24 thomas
|
||||
* Modifications for FreeBSD 2.0
|
||||
*
|
||||
@ -195,7 +199,14 @@ typedef struct {
|
||||
#ifndef IFF_ALTPHYS
|
||||
#define IFF_ALTPHYS IFF_LINK0 /* In case it isn't defined */
|
||||
#endif
|
||||
typedef enum { TULIP_DC21040, TULIP_DC21140 } tulip_chipid_t;
|
||||
const char *tulip_chipdescs[] = {
|
||||
"DC21040 [10Mb/s]",
|
||||
"DC21140 [100Mb/s]",
|
||||
};
|
||||
|
||||
tulip_softc_t *tulips[NDE];
|
||||
tulip_chipid_t tulip_chipids[NDE];
|
||||
unsigned tulip_intrs[NDE];
|
||||
|
||||
#define tulip_if tulip_ac.ac_if
|
||||
@ -309,7 +320,6 @@ tulip_init(
|
||||
int unit)
|
||||
{
|
||||
tulip_softc_t *sc = tulips[unit];
|
||||
/* XXX unsigned new_cmdmode; */
|
||||
|
||||
if (sc->tulip_if.if_flags & IFF_UP) {
|
||||
sc->tulip_if.if_flags |= IFF_RUNNING;
|
||||
@ -694,7 +704,7 @@ tulip_intr(
|
||||
tulip_uint32_t csr;
|
||||
unsigned spins = 0;
|
||||
|
||||
/* XXX tulip_intrs[unit]++; */
|
||||
tulip_intrs[sc->tulip_unit]++;
|
||||
|
||||
while ((csr = *sc->tulip_csrs.csr_status) & (TULIP_STS_NORMALINTR|TULIP_STS_ABNRMLINTR)) {
|
||||
*sc->tulip_csrs.csr_status = csr & sc->tulip_intrmask;
|
||||
@ -704,7 +714,7 @@ tulip_intr(
|
||||
if ((csr & TULIP_STS_ERRORMASK) == TULIP_STS_ERR_PARITY) {
|
||||
TULIP_RESET(sc);
|
||||
tulip_init(sc->tulip_unit);
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if (csr & TULIP_STS_RXINTR)
|
||||
@ -721,7 +731,7 @@ tulip_intr(
|
||||
}
|
||||
if (spins > sc->tulip_high_intrspins)
|
||||
sc->tulip_high_intrspins = spins;
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1006,8 +1016,9 @@ tulip_attach(
|
||||
ifp->if_addrlen = 6;
|
||||
ifp->if_hdrlen = 14;
|
||||
|
||||
printf("%s%d: DC21040 pass %d.%d (TULIP) ethernet address %s\n",
|
||||
printf("%s%d: %s pass %d.%d ethernet address %s\n",
|
||||
sc->tulip_name, sc->tulip_unit,
|
||||
tulip_chipdescs[tulip_chipids[sc->tulip_unit]],
|
||||
(sc->tulip_revinfo & 0xF0) >> 4,
|
||||
sc->tulip_revinfo & 0x0F,
|
||||
ether_sprintf(sc->tulip_hwaddr));
|
||||
@ -1104,12 +1115,20 @@ tulip_pci_probe(
|
||||
pcidi_t device_id)
|
||||
{
|
||||
int idx;
|
||||
if (device_id != 0x00021011ul)
|
||||
return (NULL);
|
||||
for (idx = 0; idx < NDE; idx++)
|
||||
if (tulips[idx] == NULL)
|
||||
return ("digital dc21040 ethernet");
|
||||
return (NULL);
|
||||
for (idx = 0; idx < NDE; idx++) {
|
||||
if (tulips[idx] == NULL) {
|
||||
if (device_id == 0x00021011ul) {
|
||||
tulip_chipids[idx] = TULIP_DC21040;
|
||||
return "digital dc21040 ethernet";
|
||||
}
|
||||
if (device_id == 0x00091011ul) {
|
||||
tulip_chipids[idx] = TULIP_DC21140;
|
||||
return "digital dc21140 fast ethernet";
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1118,10 +1137,8 @@ tulip_pci_attach(
|
||||
int unit)
|
||||
{
|
||||
tulip_softc_t *sc;
|
||||
int retval, idx /* XXX , revinfo, */;
|
||||
/* XXX signed int csr; */
|
||||
int retval, idx;
|
||||
vm_offset_t va_csrs, pa_csrs;
|
||||
/* XXX int result;*/
|
||||
tulip_desc_t *rxdescs, *txdescs;
|
||||
|
||||
sc = (tulip_softc_t *) malloc(sizeof(*sc), M_DEVBUF, M_NOWAIT);
|
||||
@ -1175,8 +1192,9 @@ tulip_pci_attach(
|
||||
for (idx = 0; idx < 32; idx++)
|
||||
printf("%02x", sc->tulip_rombuf[idx]);
|
||||
printf("\n");
|
||||
printf("%s%d: DC21040 %d.%d ethernet address %s\n",
|
||||
printf("%s%d: %s %d.%d ethernet address %s\n",
|
||||
sc->tulip_name, sc->tulip_unit,
|
||||
tulip_chipdescs[tulip_chipids[sc->tulip_unit]],
|
||||
(sc->tulip_revinfo & 0xF0) >> 4, sc->tulip_revinfo & 0x0F,
|
||||
"unknown");
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user