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

#define CONFIG_DRIVER_NE2000_CCR (0x28000000+0x3f8)

- Address of the CCR (card configuration register). It could be found
by enabling DEBUG in cmd_pcmcia.c. If this is not defined nothing is
done as far as PCMCIA support is concerned.

#define CONFIG_DRIVER_NE2000_VAL (0x20)

- The value to be written in the CCR. It selects among different I/O
spaces that could be used by the card.


Enjoy!

Christian Pellegrin <chri@ascensit.com>
