Support the 5714C

Submitted by:	John Cagle <john dot cagle at hp dot com>
This commit is contained in:
Paul Saab 2005-05-19 21:08:59 +00:00
parent fff7ff711b
commit 419c028b36
4 changed files with 20 additions and 0 deletions

View File

@ -155,6 +155,8 @@ static struct bge_type bge_devs[] = {
"Broadcom BCM5705M Gigabit Ethernet" },
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5705M_ALT,
"Broadcom BCM5705M Gigabit Ethernet" },
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5714C,
"Broadcom BCM5714C Gigabit Ethernet" },
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5721,
"Broadcom BCM5721 Gigabit Ethernet" },
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5750,
@ -2296,6 +2298,13 @@ bge_attach(dev)
sc->bge_asicrev = BGE_ASICREV(sc->bge_chipid);
sc->bge_chiprev = BGE_CHIPREV(sc->bge_chipid);
/*
* Treat the 5714 like the 5750 until we have more info
* on this chip.
*/
if (sc->bge_asicrev == BGE_ASICREV_BCM5714)
sc->bge_asicrev = BGE_ASICREV_BCM5750;
/*
* XXX: Broadcom Linux driver. Not in specs or eratta.
* PCI-Express?

View File

@ -239,6 +239,7 @@
#define BGE_CHIPID_BCM5705_A3 0x30030000
#define BGE_CHIPID_BCM5750_A0 0x40000000
#define BGE_CHIPID_BCM5750_A1 0x40010000
#define BGE_CHIPID_BCM5714_A0 0x50000000
/* shorthand one */
#define BGE_ASICREV(x) ((x) >> 28)
@ -248,6 +249,7 @@
#define BGE_ASICREV_BCM5704 0x02
#define BGE_ASICREV_BCM5705 0x03
#define BGE_ASICREV_BCM5750 0x04
#define BGE_ASICREV_BCM5714 0x05
/* chip revisions */
#define BGE_CHIPREV(x) ((x) >> 24)
@ -1868,6 +1870,7 @@ struct bge_status_block {
#define BCOM_DEVICEID_BCM5721 0x1659
#define BCOM_DEVICEID_BCM5705M 0x165D
#define BCOM_DEVICEID_BCM5705M_ALT 0x165E
#define BCOM_DEVICEID_BCM5714C 0x1668
#define BCOM_DEVICEID_BCM5750 0x1676
#define BCOM_DEVICEID_BCM5750M 0x167C
#define BCOM_DEVICEID_BCM5751 0x1677

View File

@ -153,6 +153,12 @@ brgphy_probe(dev)
return(0);
}
if (MII_OUI(ma->mii_id1, ma->mii_id2) == MII_OUI_xxBROADCOM &&
MII_MODEL(ma->mii_id2) == MII_MODEL_xxBROADCOM_BCM5714) {
device_set_desc(dev, MII_STR_xxBROADCOM_BCM5714);
return(0);
}
return(ENXIO);
}
@ -631,6 +637,7 @@ brgphy_reset(struct mii_softc *sc)
bcm5704_load_dspcode(sc);
break;
case MII_MODEL_xxBROADCOM_BCM5750:
case MII_MODEL_xxBROADCOM_BCM5714:
bcm5750_load_dspcode(sc);
break;
}

View File

@ -122,6 +122,7 @@ model xxBROADCOM BCM5703 0x0016 BCM5703 10/100/1000baseTX PHY
model xxBROADCOM BCM5704 0x0019 BCM5704 10/100/1000baseTX PHY
model xxBROADCOM BCM5705 0x001a BCM5705 10/100/1000baseTX PHY
model xxBROADCOM BCM5750 0x0018 BCM5750 10/100/1000baseTX PHY
model xxBROADCOM BCM5714 0x0034 BCM5714 10/100/1000baseTX PHY
/* Cicada Semiconductor PHYs (now owned by Vitesse?) */
model CICADA CS8201 0x0001 Cicada CS8201 10/100/1000TX PHY