Add workaround for CRC errors seen at 100Mbps on JMC250 A2.
While here update chip revision number of JMC250/JMC260 from the latest datasheet.
This commit is contained in:
parent
2dd7bef310
commit
f94dfca526
@ -1996,6 +1996,19 @@ jme_mac_config(struct jme_softc *sc)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
/* Workaround CRC errors at 100Mbps on JMC250 A2. */
|
||||
if (sc->jme_rev == DEVICEID_JMC250 &&
|
||||
sc->jme_chip_rev == DEVICEREVID_JMC250_A2) {
|
||||
if (IFM_SUBTYPE(mii->mii_media_active) == IFM_100_TX) {
|
||||
/* Extend interface FIFO depth. */
|
||||
jme_miibus_writereg(sc->jme_dev, sc->jme_phyaddr,
|
||||
0x1B, 0x0000);
|
||||
} else {
|
||||
/* Select default interface FIFO depth. */
|
||||
jme_miibus_writereg(sc->jme_dev, sc->jme_phyaddr,
|
||||
0x1B, 0x0004);
|
||||
}
|
||||
}
|
||||
CSR_WRITE_4(sc, JME_GHC, ghc);
|
||||
CSR_WRITE_4(sc, JME_RXMAC, rxmac);
|
||||
CSR_WRITE_4(sc, JME_TXMAC, txmac);
|
||||
|
@ -39,13 +39,14 @@
|
||||
* JMC250 PCI device ID
|
||||
*/
|
||||
#define DEVICEID_JMC250 0x0250
|
||||
#define DEVICEREVID_JMC250 0x10
|
||||
#define DEVICEREVID_JMC250_A0 0x00
|
||||
#define DEVICEREVID_JMC250_A2 0x11
|
||||
|
||||
/*
|
||||
* JMC260 PCI device ID
|
||||
*/
|
||||
#define DEVICEID_JMC260 0x0260
|
||||
#define DEVICEREVID_JMC260 0x20
|
||||
#define DEVICEREVID_JMC260_A0 0x00
|
||||
|
||||
/* JMC250 PCI configuration register. */
|
||||
#define JME_PCI_BAR0 0x10 /* 16KB memory window. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user