This driver supports NE2000 compatible cards (those based on DP8390,
DP83902 and similar). It can be used with PCMCIA/CF cards provided
that the CCR is correctly initialized.

The code is based on sources from the Linux kernel (pcnet_cs.c,
8390.h) and eCOS(if_dp83902a.c, if_dp83902a.h). Both of these 2
wonderful world are GPL, so this is, of course, GPL.

I developed and tested this driver on a custom PXA255 based system and
with a billionton CF network card connected to the PCMCIA interface of
the micro (have a look at README.PXA_CF for the support of this port).

The options you have to specify in the config file are (with the
value for my board as an example):

#define CONFIG_DRIVER_NE2000

- Enables the driver

#define CONFIG_DRIVER_NE2000_BASE (0x20000000+0x300)

- Address where the board is mapped


Enjoy!

Christian Pellegrin <chri@ascensit.com>
