www.pudn.com > S3c2410bsp.zip > ne2000End.h
/* ne2000End.h - Novell/Eagle 2000 network interface header */
#ifndef __INCne2000Endh
#define __INCne2000Endh
#ifdef __cplusplus
extern "C" {
#endif
#include "netinet/if_ether.h"
#define EADDR_LEN 6
#define NE2000_BUFSIZ (ETHERMTU + SIZEOF_ETHERHEADER + EADDR_LEN)
#define SAVE_SND_NUM 10
#define RECV_PAGE_NUM 58
#define RECV_PAGE_SIZE 256
#define RECV_PAGE_BASE (0x46)
#define NE2000_CONFIG_PAGE 0x00 /* where the Ethernet address is */
#define NE2000_EADDR_LOC 0x00 /* location within config. page */
#define NE2000_TSTART 0x40
#define NE2000_PSTART 0x46
#define NE2000_PSTOP 0x80
#define ENE_PAGESIZE 256
#define _USE_RECV_DMA_
#define _USE_SND_DMA_
#undef _UNUSE_SND_DMA_
typedef struct
{
UCHAR rstat;
UCHAR next;
UCHAR lowByteCnt;
UCHAR uppByteCnt;
} NE2000_HEADER;
#define ENE_OFFSET 1
#define ENE_CMD (0x00)
#define ENE_TRINCRL (0x01)
#define ENE_TRINCRH (0x02)
#define ENE_BOUND (0x03)
#define ENE_TSTAT (0x04)
#define ENE_COLCNT (0x05)
#define ENE_INTSTAT (0x07)
#define ENE_RSTAT (0x0c)
#define ENE_ALICNT (0x0d)
#define ENE_CRCCNT (0x0e)
#define ENE_MPCNT (0x0f)
#define ENE_RSTART (0x01)
#define ENE_RSTOP (0x02)
#define ENE_TSTART (0x04)
#define ENE_TCNTL (0x05)
#define ENE_TCNTH (0x06)
#define ENE_INTSET (0x07)
#define ENE_RSAR0 (0x08)
#define ENE_RSAR1 (0x09)
#define ENE_RBCR0 (0x0a)
#define ENE_RBCR1 (0x0b)
#define ENE_RCON (0x0c)
#define ENE_TCON (0x0d)
#define ENE_DCON (0x0e)
#define ENE_INTMASK (0x0f)
#define ENE_STA0 (0x01)
#define ENE_STA1 (0x02)
#define ENE_STA2 (0x03)
#define ENE_STA3 (0x04)
#define ENE_STA4 (0x05)
#define ENE_STA5 (0x06)
#define ENE_CURR (0x07)
#define ENE_MAR0 (0x08)
#define ENE_MAR1 (0x09)
#define ENE_MAR2 (0x0a)
#define ENE_MAR3 (0x0b)
#define ENE_MAR4 (0x0c)
#define ENE_MAR5 (0x0d)
#define ENE_MAR6 (0x0e)
#define ENE_MAR7 (0x0f)
#define ENE_NEXT (0x05)
#define ENE_BLOCK (0x06)
#define ENE_ENH (0x07)
#define ENE_DCRR (0x0e)
#define ENE_TCRR (0x0d)
#define ENE_DATA (0x10)
#define ENE_RESET (0x1f)
#define CMD_PAGE2 0x80
#define CMD_PAGE1 0x40
#define CMD_PAGE0 0x00
#define CMD_NODMA 0x20
#define CMD_RWRITE 0x10
#define CMD_RREAD 0x08
#define CMD_TXP 0x04
#define CMD_START 0x02
#define CMD_STOP 0x01
#define RCON_MON 0x20
#define RCON_PROM 0x10
#define RCON_GROUP 0x08
#define RCON_BROAD 0x04
#define RCON_RUNTS 0x02
#define RCON_SEP 0x01
#define TCON_LB1 0x04
#define TCON_LB0 0x02
#define TCON_CRCN 0x01
#define TCON_NORMAL 0x00
#define DCON_BSIZE1 0x40
#define DCON_BSIZE0 0x20
#define DCON_AUTO_INIT 0x10
#define DCON_LOOPBK_OFF 0x08
#define DCON_LOOPBK_ON 0x00
#define DCON_DMA_32 0x04
#define DCON_DMA_16 0x00
#define DCON_BIG_ENDIAN 0x02
#define DCON_LITTLE_ENDIAN 0x00
#define DCON_BUS16 0x01
#define DCON_BUS_8 0x00
#define IM_XDCE 0x40
#define IM_CNTE 0x20
#define IM_OVWE 0x10
#define IM_TXEE 0x08
#define IM_RXEE 0x04
#define IM_PTXE 0x02
#define IM_PRXE 0x01
#define ISTAT_RST 0x80
#define ISTAT_RDC 0x40
#define ISTAT_CNT 0x20
#define ISTAT_OVW 0x10
#define ISTAT_TXE 0x08
#define ISTAT_RXE 0x04
#define ISTAT_PTX 0x02
#define ISTAT_PRX 0x01
#define TSTAT_OWC 0x80
#define TSTAT_CDH 0x40
#define TSTAT_UNDER 0x20
#define TSTAT_CRL 0x10
#define TSTAT_ABORT 0x08
#define TSTAT_TWC 0x04
#define TSTAT_NDT 0x02
#define TSTAT_PTX 0x01
#define RSTAT_DFR 0x80
#define RSTAT_DIS 0x40
#define RSTAT_GROUP 0x20
#define RSTAT_MPA 0x10
#define RSTAT_OVER 0x08
#define RSTAT_FAE 0x04
#define RSTAT_CRC 0x02
#define RSTAT_PRX 0x01
#define ENH_WAIT1 0x80
#define ENH_WAIT0 0x40
#define ENH_SLOT1 0x10
#define ENH_SLOT0 0x08
#define TXING 0x01
#define RXING 0x02
#define TXREQ 0x04
#define rNE2000_DISRC0 (*(volatile unsigned *)0x4b000000)
#define rNE2000_DISRCC0 (*(volatile unsigned *)0x4b000004)
#define rNE2000_DIDST0 (*(volatile unsigned *)0x4b000008)
#define rNE2000_DIDSTC0 (*(volatile unsigned *)0x4b00000c)
#define rNE2000_DCON0 (*(volatile unsigned *)0x4b000010)
#define rNE2000_DSTAT0 (*(volatile unsigned *)0x4b000014)
#define rNE2000_DCSRC0 (*(volatile unsigned *)0x4b000018)
#define rNE2000_DCDST0 (*(volatile unsigned *)0x4b00001c)
#define rNE2000_DMASKTRIG0 (*(volatile unsigned *)0x4b000020)
#define rNE2000_DISRC3 (*(volatile unsigned *)0x4b0000c0)
#define rNE2000_DISRCC3 (*(volatile unsigned *)0x4b0000c4)
#define rNE2000_DIDST3 (*(volatile unsigned *)0x4b0000c8)
#define rNE2000_DIDSTC3 (*(volatile unsigned *)0x4b0000cc)
#define rNE2000_DCON3 (*(volatile unsigned *)0x4b0000d0)
#define rNE2000_DSTAT3 (*(volatile unsigned *)0x4b0000d4)
#define rNE2000_DCSRC3 (*(volatile unsigned *)0x4b0000d8)
#define rNE2000_DCDST3 (*(volatile unsigned *)0x4b0000dc)
#define rNE2000_DMASKTRIG3 (*(volatile unsigned *)0x4b0000e0)
#ifdef __cplusplus
}
#endif
#endif /* __INCne2000Endh */