Collaboration diagram for Crystal CS8900A:
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_short addr, u_short data) |
void | CSWritePP16 (u_short addr, u_short data) |
u_short | CSRead16 (u_short addr) |
u_short | CSReadPP16 (u_short addr) |
u_long | CSReadPP32 (u_int addr) |
void | CSBeginFrame (void) |
void | CSEndFrame (void) |
void | CSWriteFrameByte (u_char data) |
int | CSNicOutput (NUTDEVICE *dev, NETBUF *nb) |
Send Ethernet packet. | |
void | CSNICrx (void *arg) |
NIC receiver thread. | |
void | CSSoftwareWakeup (void) |
void | CSSoftwareReset (void) |
int | CSNicInit (NUTDEVICE *dev) |
Initialize Ethernet Interface. | |
void | CSWrite16 (u_long addr, u_short data) |
u_short | CSRead16 (u_long addr) |
int | cs8900Output (NUTDEVICE *dev, NETBUF *nb) |
Send Ethernet packet. | |
int | cs8900Init (NUTDEVICE *dev) |
Initialize Ethernet hardware. | |
Variables | |
u_char | cs_flags |
volatile u_short | cs_base = 0x0000 |
volatile u_long | cs_base = 0x82000000UL |
NUTDEVICE | devCS8900A |
Device information structure. |
|
Send Ethernet packet.
|
|
NIC receiver thread. It runs with high priority. |
|
Initialize Ethernet Interface. Applications typically do not use this function, but call NutNetIfConfig().
|
|
Send Ethernet packet.
|
|
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.
|
|
Initial value: { 0, {'e', 't', 'h', '0', 0, 0, 0, 0, 0}, IFTYP_NET, 0, 0, &ifn_eth0, &dcb_eth0, cs8900Init, 0, 0, 0, 0, 0, 0 } 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. |