10/100 MBit NE2000 compatible controller. More...
Data Structures | |
struct | nic_pkt_header |
Functions | |
void | Delay16Cycles (void) |
uint16_t | NicPhyRead (uint8_t reg) |
Read contents of internel PHY register on 0x10 adress. | |
void | NicPhyWrite (uint8_t reg, uint16_t val) |
Write value to PHY register. | |
void | NicRxAsix (void *arg) |
NIC receiver thread. | |
void | NicInterruptEntry (void) |
int | AsixOutput (NUTDEVICE *dev, NETBUF *nb) |
Send Ethernet packet. | |
int | AsixInit (NUTDEVICE *dev) |
Initialize Ethernet hardware. | |
Variables | |
NUTDEVICE | devAx88796 |
Device information structure. |
10/100 MBit NE2000 compatible controller.
Highly experimental.
void NicRxAsix | ( | void * | arg | ) |
NIC receiver thread.
Definition at line 792 of file ax88796.c.
References _NUTDEVICE::dev_dcb, _NUTDEVICE::dev_icb, devAx88796, ETHER_IS_UNICAST, ifnet::if_mac, ifnet::if_recv, NICINFO::ni_rx_packets, NICINFO::ni_rx_rdy, NutEnterCritical, NutEventWait(), NutExitCritical, NutSleep(), and NutThreadSetPriority().
Referenced by AsixInit().
void NicInterruptEntry | ( | void | ) |
Definition at line 914 of file ax88796.c.
References IRQ_ENTRY, and IRQ_EXIT.
Referenced by AsixInit().
Send Ethernet packet.
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(). |
Definition at line 933 of file ax88796.c.
References _NUTDEVICE::dev_dcb, and NICINFO::ni_tx_packets.
int AsixInit | ( | NUTDEVICE * | dev | ) |
Initialize Ethernet hardware.
Resets the Asix Asix_L 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.
dev | Identifies the device to initialize. |
Definition at line 963 of file ax88796.c.
References _BV, AIC_ICCR, AIC_IDCR, AIC_IECR, AIC_SMR, AIC_SRCTYPE_EXT_NEGATIVE_EDGE, AIC_SVR, _CONFNET::cd_name, _CONFNET::cd_size, _CONFNET::cdn_mac, confnet, _NUTDEVICE::dev_dcb, IRQ0_ID, memset(), NicInterruptEntry(), NicRxAsix(), NutThreadCreate(), outr, and strcpy().
{ 0, {'e', 't', 'h', '0', 0, 0, 0, 0, 0}, IFTYP_NET, 0, 0, &ifn_eth0, &dcb_eth0, AsixInit, 0, 0, 0, 0, 0, 0 }
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.
Definition at line 131 of file ax88796.c.
Referenced by NicRxAsix().