Few year ago, I wrote patch for tulipl.c(kernel-version 2.0.35)
that works on MX98715,and I found that it mostly work version 2.2.1 and 2.2.11.
So I'll send patch for tulip.c(kernel-version 2.2.1, 2.2.11)
I tested it on 2.2.1 to 2.2.13, but I think it should work on 2.2.1 to 2.2.13.
Not need on later 2.2.14
Masaki
--
--- linux-2.2.1-org/drivers/net/tulip.c Wed Jan 20 06:18:45 1999 +++ linux-2.2.1-fw/drivers/net/tulip.c Thu Mar 8 06:50:51 2001 @@ -317,7 +317,7 @@ enum tulip_offsets { CSR0=0, CSR1=0x08, CSR2=0x10, CSR3=0x18, CSR4=0x20, CSR5=0x28, CSR6=0x30, CSR7=0x38, CSR8=0x40, CSR9=0x48, CSR10=0x50, CSR11=0x58, - CSR12=0x60, CSR13=0x68, CSR14=0x70, CSR15=0x78 }; + CSR12=0x60, CSR13=0x68, CSR14=0x70, CSR15=0x78, CSR20=0xa0 }; /* The bits in the CSR5 status registers, mostly interrupt sources. */ enum status_bits { @@ -817,11 +817,17 @@ outl(0x0201F078, ioaddr + 0xB8); /* Turn on autonegotiation. */ } break; - case MX98713: case MX98715: case MX98725: + case MX98713: outl(0x00000000, ioaddr + CSR6); outl(0x000711C0, ioaddr + CSR14); /* Turn on NWay. */ outl(0x00000001, ioaddr + CSR13); break; + case MX98715: case MX98725: + outl(0x03a60200, ioaddr + CSR6); + outl(0x000711C4, ioaddr + CSR14); /* Turn on NWay. */ + outl(0x00000001, ioaddr + CSR13); + outl(inl(ioaddr + CSR9)|0x30000000L, ioaddr + CSR9); + break; } return dev; @@ -1543,9 +1549,9 @@ if (media_cap[dev->if_port] & MediaIsMII) { new_csr6 = 0x020E0000; } else if (media_cap[dev->if_port] & MediaIsFx) { - new_csr6 = 0x028600000; + new_csr6 = 0x02860000; } else - new_csr6 = 0x038600000; + new_csr6 = 0x03820000; if (tulip_debug > 1) printk(KERN_DEBUG "%s: No media description table, assuming " "%s transceiver, CSR12 %2.2x.\n", - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/