Crystal CS8900A
[Ethernet]

Collaboration diagram for Crystal CS8900A:


Detailed Description

10 MBit Ethernet controller.

The device driver for the CS8900A is poorly supported. Be prepared that some debugging may be required when using it with the latest Nut/Net release.


Data Structures

struct  _NICINFO
 Network interface controller information structure. More...
struct  _NICINFO
 Network interface controller information structure. More...

Typedefs

typedef _NICINFO NICINFO
 Network interface controller information type.

Functions

void CSWrite16 (u_long addr, u_short data)
void CSWritePP16 (u_short addr, u_short data)
u_short CSRead16 (u_long addr)
u_short CSReadPP16 (u_short addr)
void CSBeginFrame (void)
void CSEndFrame (void)
void CSWriteFrameByte (u_char data)
void CSSoftwareWakeup (void)
void CSSoftwareReset (void)
 CSNICrx (void *arg)
int cs8900Output (NUTDEVICE *dev, NETBUF *nb)
 Send Ethernet packet.
int cs8900Init (NUTDEVICE *dev)
 Initialize Ethernet hardware.

Variables

volatile u_long cs_base
NUTDEVICE devCS8900A
 Device information structure.


Function Documentation

int cs8900Init NUTDEVICE dev  ) 
 

Initialize Ethernet hardware.

Resets the CS8900 Ethernet controller, initializes all required hardware registers and starts a background thread for incoming Ethernet traffic.

Applications should do not directly call this function. It is automatically executed during during device registration by NutRegisterDevice().

If the network configuration hasn't been set by the application before registering the specified device, this function will call NutNetLoadConfig() to get the MAC address.

Parameters:
dev Identifies the device to initialize.

int cs8900Output NUTDEVICE dev,
NETBUF nb
 

Send Ethernet packet.

Parameters:
dev Identifies the device to use.
nb Network buffer structure containing the packet to be sent. The structure must have been allocated by a previous call NutNetBufAlloc().
Returns:
0 on success, -1 in case of any errors.


Variable Documentation

NUTDEVICE devCS8900A
 

Device information structure.

A pointer to this structure must be passed to NutRegisterDevice() to bind this Ethernet device driver to the Nut/OS kernel. An application may then call NutNetIfConfig() with the name eth0 of this driver to initialize the network interface.


© 2000-2006 by egnite Software GmbH - visit http://www.ethernut.de/