Messages in this thread | | | From | "Dunlap, Randy" <> | Subject | RE: ne2k and 0x378 lp ports | Date | Tue, 20 Jul 1999 13:25:02 -0700 |
| |
For more NE2000 info, a good place to find some datasheets and app notes is www.national.com . Search for "NE2000".
Yes, by "alias" I mean that the address decode logic on the adapter may choose to ignore some of the low-order address bits.
Since the data transfer reg. at base + 0x10 is 16 bits, I would expect
> Q> 0360-036f : eth0 > Q> 0370-0370 : eth0 > or > > Q> 0360-0370 : eth0
to be more like
0360-0371 : eth0
Otherwise, looks good.
~Randy
> -----Original Message----- > From: Riley Williams [mailto:rhw@memalpha.cx] > Sent: Tuesday, July 20, 1999 1:05 PM > To: Randy Dunlap > Cc: linux-kernel@vger.rutgers.edu > Subject: RE: ne2k and 0x378 lp ports > > > Hi Randy. > > > NE2000 uses base_io_addr thru base + 0x1f, but all registers in > > that range are not used. Base thru base + 0xf are ethernet > > controller registers. Base + 0x10 (16 bits) is a packet data > > transfer register. Base + 0x1f is a reset register. > > That at least makes sense of the 8390 data sheet that I've just been > reading... > > > Some NE2000 adapters may alias the data transfer register and > > the reset register. Apparently yours does not do this... > > When you say 'alias', do you mean that it ignores address bits 1 and 2 > when selecting these last two registers? If so, there's a fairly > simple tweak to the driver that could be used to detect that > happenning, if I'm understanding it correctly, and that would cure the > IO map on my system as well. The resulting tweaked driver would then > declare three regions used for cards that don't ignore those two > address bits, thus letting it live in harmony with the ide1 driver > when the base is 0x360, and would just declare the current single > region for cards that do ignore them. > > The relevant part of the resulting /proc/ioports would look like this: > > Q> 02f8-02ff : serial(auto) > Q> 0360-036f : eth0 > Q> 0370-0370 : eth0 > Q> 0376-0376 : ide1 > Q> 037f-037f : eth0 > Q> 03f6-03f6 : ide0 > Q> 03f8-03ff : serial(auto) > > Alternatively, the first two areas could be merged into a single area, > in which case it would look like this: > > Q> 02f8-02ff : serial(auto) > Q> 0360-0370 : eth0 > Q> 0376-0376 : ide1 > Q> 037f-037f : eth0 > Q> 03f6-03f6 : ide0 > Q> 03f8-03ff : serial(auto) > > Comments? > > Best wishes from Riley. > > +------------------------------------------------------------- > ---------+ > | There is something frustrating about the quality and speed > of Linux | > | development, ie., the quality is too high and the speed is > too high, | > | in other words, I can implement this XXXX feature, but I > bet someone | > | else has already done so and is just about to release their > patch. | > +------------------------------------------------------------- > ---------+ > * ftp://ftp.MemAlpha.cx/pub/rhw/Linux > * http://www.MemAlpha.cx/kernel.versions.html >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |