100 MBit Ethernet controller. More...
|
Data Structures | |
| struct | _NICINFO |
| Network interface controller information structure. More... | |
Defines | |
| #define | LAN91_BASE_ADDR 0xC000 |
| #define | LAN91_BSR (LAN91_BASE_ADDR + 0x0E) |
| Bank select register. | |
| #define | LAN91_TCR (LAN91_BASE_ADDR + 0x00) |
| Bank 0 - Transmit control register. | |
| #define | LAN91_TCR_SWFDUP 0x8000 |
| #define | LAN91_TCR_EPH_LOOP 0x2000 |
| #define | LAN91_TCR_STP_SQET 0x1000 |
| #define | LAN91_TCR_FDUPLX 0x0800 |
| #define | LAN91_TCR_MON_CSN 0x0400 |
| #define | LAN91_TCR_NOCRC 0x0100 |
| #define | LAN91_TCR_PAD_EN 0x0080 |
| #define | LAN91_TCR_FORCOL 0x0004 |
| #define | LAN91_TCR_LOOP 0x0002 |
| #define | LAN91_TCR_TXENA 0x0001 |
| #define | LAN91_EPHSR (LAN91_BASE_ADDR + 0x02) |
| Bank 0 - EPH status register. | |
| #define | LAN91_RCR (LAN91_BASE_ADDR + 0x04) |
| Bank 0 - Receive control register. | |
| #define | LAN91_RCR_SOFT_RST 0x8000 |
| #define | LAN91_RCR_FILT_CAR 0x4000 |
| #define | LAN91_RCR_ABORT_ENB 0x2000 |
| #define | LAN91_RCR_STRIP_CRC 0x0200 |
| #define | LAN91_RCR_RXEN 0x0100 |
| #define | LAN91_RCR_ALMUL 0x0004 |
| #define | LAN91_RCR_PRMS 0x0002 |
| #define | LAN91_RCR_RX_ABORT 0x0001 |
| #define | LAN91_ECR (LAN91_BASE_ADDR + 0x06) |
| Bank 0 - Counter register. | |
| #define | LAN91_MIR (LAN91_BASE_ADDR + 0x08) |
| Bank 0 - Memory information register. | |
| #define | LAN91_RPCR (LAN91_BASE_ADDR + 0x0A) |
| Bank 0 - Receive / PHY control register. | |
| #define | LAN91_RPCR_SPEED 0x2000 |
| #define | LAN91_RPCR_DPLX 0x1000 |
| #define | LAN91_RPCR_ANEG 0x0800 |
| #define | LAN91_RPCR_LEDA_PAT 0x0000 |
| #define | LAN91_RPCR_LEDB_PAT 0x0010 |
| #define | LAN91_CR (LAN91_BASE_ADDR + 0x00) |
| Bank 1 - Configuration register. | |
| #define | LAN91_CR_EPH_EN 0x8000 |
| #define | LAN91_BAR (LAN91_BASE_ADDR + 0x02) |
| Bank 1 - Base address register. | |
| #define | LAN91_IAR (LAN91_BASE_ADDR + 0x04) |
| Bank 1 - Individual address register. | |
| #define | LAN91_GPR (LAN91_BASE_ADDR + 0x0A) |
| Bank 1 - General purpose register. | |
| #define | LAN91_CTR (LAN91_BASE_ADDR + 0x0C) |
| Bank 1 - Control register. | |
| #define | LAN91_CTR_RCV_BAD 0x4000 |
| #define | LAN91_CTR_AUTO_RELEASE 0x0800 |
| #define | LAN91_MMUCR (LAN91_BASE_ADDR + 0x00) |
| Bank 2 - MMU command register. | |
| #define | LAN91_MMUCR_BUSY 0x0001 |
| #define | LAN91_MMU_NOP 0 |
| #define | LAN91_MMU_ALO (1<<5) |
| #define | LAN91_MMU_RST (2<<5) |
| #define | LAN91_MMU_REM (3<<5) |
| #define | LAN91_MMU_TOP (4<<5) |
| #define | LAN91_MMU_PKT (5<<5) |
| #define | LAN91_MMU_ENQ (6<<5) |
| #define | LAN91_MMU_RTX (7<<5) |
| #define | LAN91_PNR (LAN91_BASE_ADDR + 0x02) |
| Bank 2 - Packet number register. | |
| #define | LAN91_ARR (LAN91_BASE_ADDR + 0x03) |
| Bank 2 - Allocation result register. | |
| #define | LAN91_ARR_FAILED 0x80 |
| #define | LAN91_FIFO (LAN91_BASE_ADDR + 0x04) |
| Bank 2 - FIFO ports register. | |
| #define | LAN91_PTR (LAN91_BASE_ADDR + 0x06) |
| Bank 2 - Pointer register. | |
| #define | LAN91_PTR_RCV 0x8000 |
| #define | LAN91_PTR_AUTO_INCR 0x4000 |
| #define | LAN91_PTR_READ 0x2000 |
| #define | LAN91_PTR_ETEN 0x1000 |
| #define | LAN91_PTR_NOT_EMPTY 0x0800 |
| #define | LAN91_DATA (LAN91_BASE_ADDR + 0x08) |
| Bank 2 - Data register. | |
| #define | LAN91_IST (LAN91_BASE_ADDR + 0x0C) |
| Bank 2 - Interrupt status register. | |
| #define | LAN91_ACK (LAN91_BASE_ADDR + 0x0C) |
| Bank 2 - Interrupt acknowledge register. | |
| #define | LAN91_MSK (LAN91_BASE_ADDR + 0x0D) |
| Bank 2 - Interrupt mask register. | |
| #define | LAN91_INT_MD 0x80 |
| PHY state change interrupt bit mask. | |
| #define | LAN91_INT_ERCV 0x40 |
| Early receive interrupt bit mask. | |
| #define | LAN91_INT_EPH 0x20 |
| Ethernet protocol interrupt bit mask. | |
| #define | LAN91_INT_RX_OVRN 0x10 |
| Receive overrun interrupt bit mask. | |
| #define | LAN91_INT_ALLOC 0x08 |
| Transmit allocation interrupt bit mask. | |
| #define | LAN91_INT_TX_EMPTY 0x04 |
| Transmitter empty interrupt bit mask. | |
| #define | LAN91_INT_TX 0x02 |
| Transmit complete interrupt bit mask. | |
| #define | LAN91_INT_RCV 0x01 |
| Receive interrupt bit mask. | |
| #define | LAN91_MT (LAN91_BASE_ADDR + 0x00) |
| Bank 3 - Multicast table register. | |
| #define | LAN91_MGMT (LAN91_BASE_ADDR + 0x08) |
| Bank 3 - Management interface register. | |
| #define | LAN91_MGMT_MDOE 0x08 |
| #define | LAN91_MGMT_MCLK 0x04 |
| #define | LAN91_MGMT_MDI 0x02 |
| #define | LAN91_MGMT_MDO 0x01 |
| #define | LAN91_REV (LAN91_BASE_ADDR + 0x0A) |
| Bank 3 - Revision register. | |
| #define | LAN91_ERCV (LAN91_BASE_ADDR + 0x0C) |
| Bank 3 - Early RCV register. | |
| #define | LAN91_PHYCR 0 |
| PHY control register. | |
| #define | LAN91_PHYCR_RST 0x8000 |
| #define | LAN91_PHYCR_LPBK 0x4000 |
| #define | LAN91_PHYCR_SPEED 0x2000 |
| #define | LAN91_PHYCR_ANEG_EN 0x1000 |
| #define | LAN91_PHYCR_PDN 0x0800 |
| #define | LAN91_PHYCR_MII_DIS 0x0400 |
| #define | LAN91_PHYCR_ANEG_RST 0x0200 |
| #define | LAN91_PHYCR_DPLX 0x0100 |
| #define | LAN91_PHYCR_COLST 0x0080 |
| #define | LAN91_PHYSR 1 |
| PHY status register. | |
| #define | LAN91_PHYSR_CAP_T4 0x8000 |
| #define | LAN91_PHYSR_CAP_TXF 0x4000 |
| #define | LAN91_PHYSR_CAP_TXH 0x2000 |
| #define | LAN91_PHYSR_CAP_TF 0x1000 |
| #define | LAN91_PHYSR_CAP_TH 0x0800 |
| #define | LAN91_PHYSR_CAP_SUPR 0x0040 |
| #define | LAN91_PHYSR_ANEG_ACK 0x0020 |
| #define | LAN91_PHYSR_REM_FLT 0x0010 |
| #define | LAN91_PHYSR_CAP_ANEG 0x0008 |
| #define | LAN91_PHYSR_LINK 0x0004 |
| #define | LAN91_PHYSR_JAB 0x0002 |
| #define | LAN91_PHYSR_EXREG 0x0001 |
| #define | LAN91_PHYID1 2 |
| PHY identifier register 1. | |
| #define | LAN91_PHYID2 3 |
| PHY identifier register 1. | |
| #define | LAN91_PHYANAD 4 |
| PHY auto-negotiation advertisement register. | |
| #define | LAN91_PHYANAD_NP 0x8000 |
| #define | LAN91_PHYANAD_ACK 0x4000 |
| #define | LAN91_PHYANAD_RF 0x2000 |
| #define | LAN91_PHYANAD_T4 0x0200 |
| #define | LAN91_PHYANAD_TX_FDX 0x0100 |
| #define | LAN91_PHYANAD_TX_HDX 0x0080 |
| #define | LAN91_PHYANAD_10FDX 0x0040 |
| #define | LAN91_PHYANAD_10_HDX 0x0020 |
| #define | LAN91_PHYANAD_CSMA 0x0001 |
| #define | LAN91_PHYANRC 5 |
| PHY auto-negotiation remote end capability register. | |
| #define | LAN91_PHYCFR1 16 |
| PHY configuration register 1. | |
| #define | LAN91_PHYCFR2 17 |
| PHY configuration register 2. | |
| #define | LAN91_PHYSOR 18 |
| PHY status output register. | |
| #define | LAN91_PHYSOR_INT 0x8000 |
| #define | LAN91_PHYSOR_LNKFAIL 0x4000 |
| #define | LAN91_PHYSOR_LOSSSYNC 0x2000 |
| #define | LAN91_PHYSOR_CWRD 0x1000 |
| #define | LAN91_PHYSOR_SSD 0x0800 |
| #define | LAN91_PHYSOR_ESD 0x0400 |
| #define | LAN91_PHYSOR_RPOL 0x0200 |
| #define | LAN91_PHYSOR_JAB 0x0100 |
| #define | LAN91_PHYSOR_SPDDET 0x0080 |
| #define | LAN91_PHYSOR_DPLXDET 0x0040 |
| #define | LAN91_PHYMSK 19 |
| PHY mask register. | |
| #define | LAN91_PHYMSK_MINT 0x8000 |
| #define | LAN91_PHYMSK_MLNKFAIL 0x4000 |
| #define | LAN91_PHYMSK_MLOSSSYN 0x2000 |
| #define | LAN91_PHYMSK_MCWRD 0x1000 |
| #define | LAN91_PHYMSK_MSSD 0x0800 |
| #define | LAN91_PHYMSK_MESD 0x0400 |
| #define | LAN91_PHYMSK_MRPOL 0x0200 |
| #define | LAN91_PHYMSK_MJAB 0x0100 |
| #define | LAN91_PHYMSK_MSPDDT 0x0080 |
| #define | LAN91_PHYMSK_MDPLDT 0x0040 |
| #define | nic_outlb(addr, val) (*(volatile uint8_t *)(addr) = (val)) |
| #define | nic_outhb(addr, val) (*(volatile uint8_t *)((addr) + 1) = (val)) |
| #define | nic_outwx(addr, val) (*(volatile uint16_t *)(addr) = (val)) |
| #define | nic_outw(addr, val) |
| #define | nic_inlb(addr) (*(volatile uint8_t *)(addr)) |
| #define | nic_inhb(addr) (*(volatile uint8_t *)((addr) + 1)) |
| #define | nic_inw(addr) (*(volatile uint16_t *)(addr)) |
| #define | nic_bs(bank) nic_outlb(LAN91_BSR, bank) |
Typedefs | |
| typedef struct _NICINFO | NICINFO |
| Network interface controller information type. | |
Functions | |
| void | NicRxLanc (void *arg) |
Variables | |
| NUTDEVICE | devLan91 |
| Device information structure. | |
100 MBit Ethernet controller.
| #define LAN91_BSR (LAN91_BASE_ADDR + 0x0E) |
| #define LAN91_TCR (LAN91_BASE_ADDR + 0x00) |
| #define LAN91_TCR_SWFDUP 0x8000 |
| #define LAN91_TCR_EPH_LOOP 0x2000 |
| #define LAN91_TCR_STP_SQET 0x1000 |
| #define LAN91_TCR_FDUPLX 0x0800 |
| #define LAN91_TCR_MON_CSN 0x0400 |
| #define LAN91_TCR_NOCRC 0x0100 |
| #define LAN91_TCR_PAD_EN 0x0080 |
| #define LAN91_TCR_FORCOL 0x0004 |
| #define LAN91_TCR_LOOP 0x0002 |
| #define LAN91_TCR_TXENA 0x0001 |
| #define LAN91_EPHSR (LAN91_BASE_ADDR + 0x02) |
| #define LAN91_RCR (LAN91_BASE_ADDR + 0x04) |
| #define LAN91_RCR_SOFT_RST 0x8000 |
| #define LAN91_RCR_FILT_CAR 0x4000 |
| #define LAN91_RCR_ABORT_ENB 0x2000 |
| #define LAN91_RCR_STRIP_CRC 0x0200 |
| #define LAN91_RCR_RXEN 0x0100 |
| #define LAN91_RCR_ALMUL 0x0004 |
| #define LAN91_RCR_PRMS 0x0002 |
| #define LAN91_RCR_RX_ABORT 0x0001 |
| #define LAN91_ECR (LAN91_BASE_ADDR + 0x06) |
| #define LAN91_MIR (LAN91_BASE_ADDR + 0x08) |
| #define LAN91_RPCR (LAN91_BASE_ADDR + 0x0A) |
| #define LAN91_RPCR_SPEED 0x2000 |
LAN91_RPCR bit mask, PHY operates at 100 Mbps.
| #define LAN91_RPCR_DPLX 0x1000 |
LAN91_RPCR bit mask, PHY operates at full duplex mode.
| #define LAN91_RPCR_ANEG 0x0800 |
LAN91_RPCR bit mask, sets PHY in auto-negotiation mode.
| #define LAN91_RPCR_LEDA_PAT 0x0000 |
LAN91_RPCR bit mask for LEDA mode.
| #define LAN91_RPCR_LEDB_PAT 0x0010 |
LAN91_RPCR bit mask for LEDB mode.
| #define LAN91_CR (LAN91_BASE_ADDR + 0x00) |
| #define LAN91_BAR (LAN91_BASE_ADDR + 0x02) |
| #define LAN91_IAR (LAN91_BASE_ADDR + 0x04) |
| #define LAN91_GPR (LAN91_BASE_ADDR + 0x0A) |
| #define LAN91_CTR (LAN91_BASE_ADDR + 0x0C) |
| #define LAN91_CTR_AUTO_RELEASE 0x0800 |
| #define LAN91_MMUCR (LAN91_BASE_ADDR + 0x00) |
| #define LAN91_PNR (LAN91_BASE_ADDR + 0x02) |
| #define LAN91_ARR (LAN91_BASE_ADDR + 0x03) |
| #define LAN91_FIFO (LAN91_BASE_ADDR + 0x04) |
| #define LAN91_PTR (LAN91_BASE_ADDR + 0x06) |
| #define LAN91_DATA (LAN91_BASE_ADDR + 0x08) |
| #define LAN91_IST (LAN91_BASE_ADDR + 0x0C) |
| #define LAN91_ACK (LAN91_BASE_ADDR + 0x0C) |
| #define LAN91_MSK (LAN91_BASE_ADDR + 0x0D) |
Bank 2 - Interrupt mask register.
Definition at line 218 of file lan91.h.
Referenced by NicRxLanc().
| #define LAN91_INT_MD 0x80 |
| #define LAN91_INT_ERCV 0x40 |
| #define LAN91_INT_EPH 0x20 |
| #define LAN91_INT_RX_OVRN 0x10 |
| #define LAN91_INT_ALLOC 0x08 |
| #define LAN91_INT_TX_EMPTY 0x04 |
| #define LAN91_INT_TX 0x02 |
| #define LAN91_MT (LAN91_BASE_ADDR + 0x00) |
| #define LAN91_MGMT (LAN91_BASE_ADDR + 0x08) |
| #define LAN91_MGMT_MDOE 0x08 |
LAN91_MGMT bit mask, enables MDO pin.
| #define LAN91_MGMT_MCLK 0x04 |
LAN91_MGMT bit mask, drives MDCLK pin.
| #define LAN91_MGMT_MDI 0x02 |
LAN91_MGMT bit mask, reflects MDI pin status.
| #define LAN91_MGMT_MDO 0x01 |
LAN91_MGMT bit mask, drives MDO pin.
| #define LAN91_REV (LAN91_BASE_ADDR + 0x0A) |
| #define LAN91_ERCV (LAN91_BASE_ADDR + 0x0C) |
| #define LAN91_PHYCR_RST 0x8000 |
LAN91_PHYCR bit mask, resets PHY.
| #define LAN91_PHYCR_LPBK 0x4000 |
LAN91_PHYCR bit mask, .
| #define LAN91_PHYCR_SPEED 0x2000 |
LAN91_PHYCR bit mask, .
| #define LAN91_PHYCR_ANEG_EN 0x1000 |
LAN91_PHYCR bit mask, .
| #define LAN91_PHYCR_PDN 0x0800 |
LAN91_PHYCR bit mask, .
| #define LAN91_PHYCR_MII_DIS 0x0400 |
LAN91_PHYCR bit mask, .
| #define LAN91_PHYCR_ANEG_RST 0x0200 |
LAN91_PHYCR bit mask, .
| #define LAN91_PHYCR_DPLX 0x0100 |
LAN91_PHYCR bit mask, .
| #define LAN91_PHYCR_COLST 0x0080 |
LAN91_PHYCR bit mask, .
| #define LAN91_PHYSR_CAP_T4 0x8000 |
LAN91_PHYSR bit mask, indicates 100BASE-T4 capability.
| #define LAN91_PHYSR_CAP_TXF 0x4000 |
LAN91_PHYSR bit mask, indicates 100BASE-TX full duplex capability.
| #define LAN91_PHYSR_CAP_TXH 0x2000 |
LAN91_PHYSR bit mask, indicates 100BASE-TX half duplex capability.
| #define LAN91_PHYSR_CAP_TF 0x1000 |
LAN91_PHYSR bit mask, indicates 10BASE-T full duplex capability.
| #define LAN91_PHYSR_CAP_TH 0x0800 |
LAN91_PHYSR bit mask, indicates 10BASE-T half duplex capability.
| #define LAN91_PHYSR_CAP_SUPR 0x0040 |
LAN91_PHYSR bit mask, indicates preamble suppression capability.
| #define LAN91_PHYSR_ANEG_ACK 0x0020 |
LAN91_PHYSR bit mask, auto-negotiation completed.
| #define LAN91_PHYSR_REM_FLT 0x0010 |
LAN91_PHYSR bit mask, remote fault detected.
| #define LAN91_PHYSR_CAP_ANEG 0x0008 |
LAN91_PHYSR bit mask, indicates auto-negotiation capability.
| #define LAN91_PHYSR_LINK 0x0004 |
LAN91_PHYSR bit mask, valid link status.
| #define LAN91_PHYSR_JAB 0x0002 |
LAN91_PHYSR bit mask, jabber collision detected.
| #define LAN91_PHYSR_EXREG 0x0001 |
LAN91_PHYSR bit mask, extended capabilities available.
| #define LAN91_PHYANAD 4 |
| #define LAN91_PHYANAD_NP 0x8000 |
LAN91_PHYANAD bit mask, exchanging next page information.
| #define LAN91_PHYANAD_ACK 0x4000 |
LAN91_PHYANAD bit mask, acknowledged.
| #define LAN91_PHYANAD_RF 0x2000 |
LAN91_PHYANAD bit mask, remote fault.
| #define LAN91_PHYANAD_T4 0x0200 |
LAN91_PHYANAD bit mask, indicates 100BASE-T4 capability.
| #define LAN91_PHYANAD_TX_FDX 0x0100 |
LAN91_PHYANAD bit mask, indicates 100BASE-TX full duplex capability.
| #define LAN91_PHYANAD_TX_HDX 0x0080 |
LAN91_PHYANAD bit mask, indicates 100BASE-TX half duplex capability.
| #define LAN91_PHYANAD_10FDX 0x0040 |
LAN91_PHYANAD bit mask, indicates 10BASE-T full duplex capability.
| #define LAN91_PHYANAD_10_HDX 0x0020 |
LAN91_PHYANAD bit mask, indicates 10BASE-T half duplex capability.
| #define LAN91_PHYANAD_CSMA 0x0001 |
LAN91_PHYANAD bit mask, indicates 802.3 CSMA capability.
| #define LAN91_PHYANRC 5 |
| #define LAN91_PHYSOR_INT 0x8000 |
LAN91_PHYSOR bit mask, interrupt bits changed.
| #define LAN91_PHYSOR_LNKFAIL 0x4000 |
LAN91_PHYSOR bit mask, link failure detected.
| #define LAN91_PHYSOR_LOSSSYNC 0x2000 |
LAN91_PHYSOR bit mask, descrambler sync lost detected.
| #define LAN91_PHYSOR_CWRD 0x1000 |
LAN91_PHYSOR bit mask, code word error detected.
| #define LAN91_PHYSOR_SSD 0x0800 |
LAN91_PHYSOR bit mask, start of stream error detected.
| #define LAN91_PHYSOR_ESD 0x0400 |
LAN91_PHYSOR bit mask, end of stream error detected.
| #define LAN91_PHYSOR_RPOL 0x0200 |
LAN91_PHYSOR bit mask, reverse polarity detected.
| #define LAN91_PHYSOR_JAB 0x0100 |
LAN91_PHYSOR bit mask, jabber detected.
| #define LAN91_PHYSOR_SPDDET 0x0080 |
LAN91_PHYSOR bit mask, 100/10 speed detected.
| #define LAN91_PHYSOR_DPLXDET 0x0040 |
LAN91_PHYSOR bit mask, duplex detected.
| #define LAN91_PHYMSK_MINT 0x8000 |
LAN91_PHYMSK bit mask, enables LAN91_PHYSOR_INT interrupt.
| #define LAN91_PHYMSK_MLNKFAIL 0x4000 |
LAN91_PHYMSK bit mask, enables LAN91_PHYSOR_LNKFAIL interrupt.
| #define LAN91_PHYMSK_MLOSSSYN 0x2000 |
LAN91_PHYMSK bit mask, enables LAN91_PHYSOR_LOSSSYNC interrupt.
| #define LAN91_PHYMSK_MCWRD 0x1000 |
LAN91_PHYMSK bit mask, enables LAN91_PHYSOR_CWRD interrupt.
| #define LAN91_PHYMSK_MSSD 0x0800 |
LAN91_PHYMSK bit mask, enables LAN91_PHYSOR_SSD interrupt.
| #define LAN91_PHYMSK_MESD 0x0400 |
LAN91_PHYMSK bit mask, enables LAN91_PHYSOR_ESD interrupt.
| #define LAN91_PHYMSK_MRPOL 0x0200 |
LAN91_PHYMSK bit mask, enables LAN91_PHYSOR_RPOL interrupt.
| #define LAN91_PHYMSK_MJAB 0x0100 |
LAN91_PHYMSK bit mask, enables LAN91_PHYSOR_JAB interrupt.
| #define LAN91_PHYMSK_MSPDDT 0x0080 |
LAN91_PHYMSK bit mask, enables LAN91_PHYSOR_SPDDET interrupt.
| #define LAN91_PHYMSK_MDPLDT 0x0040 |
LAN91_PHYMSK bit mask, enables LAN91_PHYSOR_DPLXDET interrupt.
| #define nic_outlb | ( | addr, | |
| val | |||
| ) | (*(volatile uint8_t *)(addr) = (val)) |
Definition at line 110 of file lan91.c.
Referenced by NicRxLanc().
| #define nic_outhb | ( | addr, | |
| val | |||
| ) | (*(volatile uint8_t *)((addr) + 1) = (val)) |
| #define nic_outwx | ( | addr, | |
| val | |||
| ) | (*(volatile uint16_t *)(addr) = (val)) |
| #define nic_outw | ( | addr, | |
| val | |||
| ) |
| #define nic_inlb | ( | addr | ) | (*(volatile uint8_t *)(addr)) |
Definition at line 118 of file lan91.c.
Referenced by NicRxLanc().
| #define nic_inhb | ( | addr | ) | (*(volatile uint8_t *)((addr) + 1)) |
| void NicRxLanc | ( | void * | arg | ) |
Definition at line 749 of file lan91.c.
References _NUTDEVICE::dev_dcb, _NUTDEVICE::dev_icb, ETHER_IS_UNICAST, ifnet::if_mac, ifnet::if_recv, LAN91_MSK, LAN91_RX_POLLTIME, LAN91_SIGNAL, NICINFO::ni_rx_packets, NICINFO::ni_rx_rdy, nic_inlb, nic_outlb, NUT_IRQMODE_RISINGEDGE, NutEventPost(), NutEventWait(), NutIrqEnable(), NutIrqSetMode(), NutSleep(), and NutThreadSetPriority().

{
0,
{'e', 't', 'h', '0', 0, 0, 0, 0, 0},
IFTYP_NET,
0,
0,
&ifn_eth0,
&dcb_eth0,
Lan91Init,
Lan91IOCtl,
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.