Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
eepro.c File Reference
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/fcntl.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/in.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/spinlock.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/bitops.h>
#include <linux/ethtool.h>
#include <asm/io.h>
#include <asm/dma.h>

Go to the source code of this file.

Data Structures

struct  eepro_local
 

Macros

#define DRV_NAME   "eepro"
 
#define DRV_VERSION   "0.13c"
 
#define compat_dev_kfree_skb(skb, mode)   dev_kfree_skb( (skb) )
 
#define SLOW_DOWN   inb(0x80)
 
#define compat_init_data   __initdata
 
#define NET_DEBUG   0
 
#define EEPRO_IO_EXTENT   16
 
#define LAN595   0
 
#define LAN595TX   1
 
#define LAN595FX   2
 
#define LAN595FX_10ISA   3
 
#define SA_ADDR0   0x00 /* Etherexpress Pro/10 */
 
#define SA_ADDR1   0xaa
 
#define SA_ADDR2   0x00
 
#define GetBit(x, y)   ((x & (1<<y))>>y)
 
#define ee_PnP   0 /* Plug 'n Play enable bit */
 
#define ee_Word1   1 /* Word 1? */
 
#define ee_BusWidth   2 /* 8/16 bit */
 
#define ee_FlashAddr   3 /* Flash Address */
 
#define ee_FlashMask   0x7 /* Mask */
 
#define ee_AutoIO   6 /* */
 
#define ee_reserved0   7 /* =0! */
 
#define ee_Flash   8 /* Flash there? */
 
#define ee_AutoNeg   9 /* Auto Negotiation enabled? */
 
#define ee_IO0   10 /* IO Address LSB */
 
#define ee_IO0Mask   0x /*...*/
 
#define ee_IO1   15 /* IO MSB */
 
#define ee_IntSel   0 /* Interrupt */
 
#define ee_IntMask   0x7
 
#define ee_LI   3 /* Link Integrity 0= enabled */
 
#define ee_PC   4 /* Polarity Correction 0= enabled */
 
#define ee_TPE_AUI   5 /* PortSelection 1=TPE */
 
#define ee_Jabber   6 /* Jabber prevention 0= enabled */
 
#define ee_AutoPort   7 /* Auto Port Selection 1= Disabled */
 
#define ee_SMOUT   8 /* SMout Pin Control 0= Input */
 
#define ee_PROM   9 /* Flash EPROM / PROM 0=Flash */
 
#define ee_reserved1   10 /* .. 12 =0! */
 
#define ee_AltReady   13 /* Alternate Ready, 0=normal */
 
#define ee_reserved2   14 /* =0! */
 
#define ee_Duplex   15
 
#define ee_IA5   0 /*bit start for individual Addr Byte 5 */
 
#define ee_IA4   8 /*bit start for individual Addr Byte 5 */
 
#define ee_IA3   0 /*bit start for individual Addr Byte 5 */
 
#define ee_IA2   8 /*bit start for individual Addr Byte 5 */
 
#define ee_IA1   0 /*bit start for individual Addr Byte 5 */
 
#define ee_IA0   8 /*bit start for individual Addr Byte 5 */
 
#define ee_BNC_TPE   0 /* 0=TPE */
 
#define ee_BootType   1 /* 00=None, 01=IPX, 10=ODI, 11=NDIS */
 
#define ee_BootTypeMask   0x3
 
#define ee_NumConn   3 /* Number of Connections 0= One or Two */
 
#define ee_FlashSock   4 /* Presence of Flash Socket 0= Present */
 
#define ee_PortTPE   5
 
#define ee_PortBNC   6
 
#define ee_PortAUI   7
 
#define ee_PowerMgt   10 /* 0= disabled */
 
#define ee_CP   13 /* Concurrent Processing */
 
#define ee_CPMask   0x7
 
#define ee_Stepping   0 /* Stepping info */
 
#define ee_StepMask   0x0F
 
#define ee_BoardID   4 /* Manucaturer Board ID, reserved */
 
#define ee_BoardMask   0x0FFF
 
#define ee_INT_TO_IRQ   0 /* int to IRQ Mapping = 0x1EB8 for Pro/10+ */
 
#define ee_FX_INT2IRQ   0x1EB8 /* the _only_ mapping allowed for FX chips */
 
#define ee_SIZE   0x40 /* total EEprom Size */
 
#define ee_Checksum   0xBABA /* initial and final value for adding checksum */
 
#define ee_addr_vendor   0x10 /* Word offset for EISA Vendor ID */
 
#define ee_addr_id   0x11 /* Word offset for Card ID */
 
#define ee_addr_SN   0x12 /* Serial Number */
 
#define ee_addr_CRC_8   0x14 /* CRC over last thee Bytes */
 
#define ee_vendor_intel0   0x25 /* Vendor ID Intel */
 
#define ee_vendor_intel1   0xD4
 
#define ee_id_eepro10p0   0x10 /* ID for eepro/10+ */
 
#define ee_id_eepro10p1   0x31
 
#define TX_TIMEOUT   ((4*HZ)/10)
 
#define RAM_SIZE   0x8000
 
#define RCV_HEADER   8
 
#define RCV_DEFAULT_RAM   0x6000
 
#define XMT_HEADER   8
 
#define XMT_DEFAULT_RAM   (RAM_SIZE - RCV_DEFAULT_RAM)
 
#define XMT_START_PRO   RCV_DEFAULT_RAM
 
#define XMT_START_10   0x0000
 
#define RCV_START_PRO   0x0000
 
#define RCV_START_10   XMT_DEFAULT_RAM
 
#define RCV_DONE   0x0008
 
#define RX_OK   0x2000
 
#define RX_ERROR   0x0d81
 
#define TX_DONE_BIT   0x0080
 
#define TX_OK   0x2000
 
#define CHAIN_BIT   0x8000
 
#define XMT_STATUS   0x02
 
#define XMT_CHAIN   0x04
 
#define XMT_COUNT   0x06
 
#define BANK0_SELECT   0x00
 
#define BANK1_SELECT   0x40
 
#define BANK2_SELECT   0x80
 
#define COMMAND_REG   0x00 /* Register 0 */
 
#define MC_SETUP   0x03
 
#define XMT_CMD   0x04
 
#define DIAGNOSE_CMD   0x07
 
#define RCV_ENABLE_CMD   0x08
 
#define RCV_DISABLE_CMD   0x0a
 
#define STOP_RCV_CMD   0x0b
 
#define RESET_CMD   0x0e
 
#define POWER_DOWN_CMD   0x18
 
#define RESUME_XMT_CMD   0x1c
 
#define SEL_RESET_CMD   0x1e
 
#define STATUS_REG   0x01 /* Register 1 */
 
#define RX_INT   0x02
 
#define TX_INT   0x04
 
#define EXEC_STATUS   0x30
 
#define ID_REG   0x02 /* Register 2 */
 
#define R_ROBIN_BITS   0xc0 /* round robin counter */
 
#define ID_REG_MASK   0x2c
 
#define ID_REG_SIG   0x24
 
#define AUTO_ENABLE   0x10
 
#define INT_MASK_REG   0x03 /* Register 3 */
 
#define RX_STOP_MASK   0x01
 
#define RX_MASK   0x02
 
#define TX_MASK   0x04
 
#define EXEC_MASK   0x08
 
#define ALL_MASK   0x0f
 
#define IO_32_BIT   0x10
 
#define RCV_BAR   0x04 /* The following are word (16-bit) registers */
 
#define RCV_STOP   0x06
 
#define XMT_BAR_PRO   0x0a
 
#define XMT_BAR_10   0x0b
 
#define HOST_ADDRESS_REG   0x0c
 
#define IO_PORT   0x0e
 
#define IO_PORT_32_BIT   0x0c
 
#define REG1   0x01
 
#define WORD_WIDTH   0x02
 
#define INT_ENABLE   0x80
 
#define INT_NO_REG   0x02
 
#define RCV_LOWER_LIMIT_REG   0x08
 
#define RCV_UPPER_LIMIT_REG   0x09
 
#define XMT_LOWER_LIMIT_REG_PRO   0x0a
 
#define XMT_UPPER_LIMIT_REG_PRO   0x0b
 
#define XMT_LOWER_LIMIT_REG_10   0x0b
 
#define XMT_UPPER_LIMIT_REG_10   0x0a
 
#define XMT_Chain_Int   0x20 /* Interrupt at the end of the transmit chain */
 
#define XMT_Chain_ErrStop   0x40 /* Interrupt at the end of the chain even if there are errors */
 
#define RCV_Discard_BadFrame   0x80 /* Throw bad frames away, and continue to receive others */
 
#define REG2   0x02
 
#define PRMSC_Mode   0x01
 
#define Multi_IA   0x20
 
#define REG3   0x03
 
#define TPE_BIT   0x04
 
#define BNC_BIT   0x20
 
#define REG13   0x0d
 
#define FDX   0x00
 
#define A_N_ENABLE   0x02
 
#define I_ADD_REG0   0x04
 
#define I_ADD_REG1   0x05
 
#define I_ADD_REG2   0x06
 
#define I_ADD_REG3   0x07
 
#define I_ADD_REG4   0x08
 
#define I_ADD_REG5   0x09
 
#define EEPROM_REG_PRO   0x0a
 
#define EEPROM_REG_10   0x0b
 
#define EESK   0x01
 
#define EECS   0x02
 
#define EEDI   0x04
 
#define EEDO   0x08
 
#define eepro_reset(ioaddr)   outb(RESET_CMD, ioaddr)
 
#define eepro_sel_reset(ioaddr)
 
#define eepro_dis_int(ioaddr)   outb(ALL_MASK, ioaddr + INT_MASK_REG)
 
#define eepro_clear_int(ioaddr)   outb(ALL_MASK, ioaddr + STATUS_REG)
 
#define eepro_en_int(ioaddr)
 
#define eepro_en_intexec(ioaddr)   outb(ALL_MASK & ~(EXEC_MASK), ioaddr + INT_MASK_REG)
 
#define eepro_en_rx(ioaddr)   outb(RCV_ENABLE_CMD, ioaddr)
 
#define eepro_dis_rx(ioaddr)   outb(RCV_DISABLE_CMD, ioaddr)
 
#define eepro_sw2bank0(ioaddr)   outb(BANK0_SELECT, ioaddr)
 
#define eepro_sw2bank1(ioaddr)   outb(BANK1_SELECT, ioaddr)
 
#define eepro_sw2bank2(ioaddr)   outb(BANK2_SELECT, ioaddr)
 
#define eepro_en_intline(ioaddr)
 
#define eepro_dis_intline(ioaddr)
 
#define eepro_diag(ioaddr)   outb(DIAGNOSE_CMD, ioaddr)
 
#define eepro_ack_rx(ioaddr)   outb (RX_INT, ioaddr + STATUS_REG)
 
#define eepro_ack_tx(ioaddr)   outb (TX_INT, ioaddr + STATUS_REG)
 
#define eepro_complete_selreset(ioaddr)
 
#define eeprom_delay()   { udelay(40); }
 
#define EE_READ_CMD   (6 << 6)
 

Enumerations

enum  iftype { AUI =0, BNC =1, TPE =2 }
 

Functions

struct net_device *__init eepro_probe (int unit)
 

Macro Definition Documentation

#define A_N_ENABLE   0x02

Definition at line 444 of file eepro.c.

#define ALL_MASK   0x0f

Definition at line 407 of file eepro.c.

#define AUTO_ENABLE   0x10

Definition at line 401 of file eepro.c.

#define BANK0_SELECT   0x00

Definition at line 377 of file eepro.c.

#define BANK1_SELECT   0x40

Definition at line 378 of file eepro.c.

#define BANK2_SELECT   0x80

Definition at line 379 of file eepro.c.

#define BNC_BIT   0x20

Definition at line 441 of file eepro.c.

#define CHAIN_BIT   0x8000

Definition at line 372 of file eepro.c.

#define COMMAND_REG   0x00 /* Register 0 */

Definition at line 382 of file eepro.c.

#define compat_dev_kfree_skb (   skb,
  mode 
)    dev_kfree_skb( (skb) )

Definition at line 157 of file eepro.c.

#define compat_init_data   __initdata

Definition at line 161 of file eepro.c.

#define DIAGNOSE_CMD   0x07

Definition at line 385 of file eepro.c.

#define DRV_NAME   "eepro"

Definition at line 154 of file eepro.c.

#define DRV_VERSION   "0.13c"

Definition at line 155 of file eepro.c.

#define ee_addr_CRC_8   0x14 /* CRC over last thee Bytes */

Definition at line 296 of file eepro.c.

#define ee_addr_id   0x11 /* Word offset for Card ID */

Definition at line 294 of file eepro.c.

#define ee_addr_SN   0x12 /* Serial Number */

Definition at line 295 of file eepro.c.

#define ee_addr_vendor   0x10 /* Word offset for EISA Vendor ID */

Definition at line 293 of file eepro.c.

#define ee_AltReady   13 /* Alternate Ready, 0=normal */

Definition at line 252 of file eepro.c.

#define ee_AutoIO   6 /* */

Definition at line 233 of file eepro.c.

#define ee_AutoNeg   9 /* Auto Negotiation enabled? */

Definition at line 236 of file eepro.c.

#define ee_AutoPort   7 /* Auto Port Selection 1= Disabled */

Definition at line 248 of file eepro.c.

#define ee_BNC_TPE   0 /* 0=TPE */

Definition at line 265 of file eepro.c.

#define ee_BoardID   4 /* Manucaturer Board ID, reserved */

Definition at line 280 of file eepro.c.

#define ee_BoardMask   0x0FFF

Definition at line 281 of file eepro.c.

#define ee_BootType   1 /* 00=None, 01=IPX, 10=ODI, 11=NDIS */

Definition at line 266 of file eepro.c.

#define ee_BootTypeMask   0x3

Definition at line 267 of file eepro.c.

#define ee_BusWidth   2 /* 8/16 bit */

Definition at line 230 of file eepro.c.

#define ee_Checksum   0xBABA /* initial and final value for adding checksum */

Definition at line 289 of file eepro.c.

#define ee_CP   13 /* Concurrent Processing */

Definition at line 274 of file eepro.c.

#define ee_CPMask   0x7

Definition at line 275 of file eepro.c.

#define ee_Duplex   15

Definition at line 254 of file eepro.c.

#define ee_Flash   8 /* Flash there? */

Definition at line 235 of file eepro.c.

#define ee_FlashAddr   3 /* Flash Address */

Definition at line 231 of file eepro.c.

#define ee_FlashMask   0x7 /* Mask */

Definition at line 232 of file eepro.c.

#define ee_FlashSock   4 /* Presence of Flash Socket 0= Present */

Definition at line 269 of file eepro.c.

#define ee_FX_INT2IRQ   0x1EB8 /* the _only_ mapping allowed for FX chips */

Definition at line 285 of file eepro.c.

#define ee_IA0   8 /*bit start for individual Addr Byte 5 */

Definition at line 262 of file eepro.c.

#define ee_IA1   0 /*bit start for individual Addr Byte 5 */

Definition at line 261 of file eepro.c.

#define ee_IA2   8 /*bit start for individual Addr Byte 5 */

Definition at line 260 of file eepro.c.

#define ee_IA3   0 /*bit start for individual Addr Byte 5 */

Definition at line 259 of file eepro.c.

#define ee_IA4   8 /*bit start for individual Addr Byte 5 */

Definition at line 258 of file eepro.c.

#define ee_IA5   0 /*bit start for individual Addr Byte 5 */

Definition at line 257 of file eepro.c.

#define ee_id_eepro10p0   0x10 /* ID for eepro/10+ */

Definition at line 301 of file eepro.c.

#define ee_id_eepro10p1   0x31

Definition at line 302 of file eepro.c.

#define ee_INT_TO_IRQ   0 /* int to IRQ Mapping = 0x1EB8 for Pro/10+ */

Definition at line 284 of file eepro.c.

#define ee_IntMask   0x7

Definition at line 243 of file eepro.c.

#define ee_IntSel   0 /* Interrupt */

Definition at line 242 of file eepro.c.

#define ee_IO0   10 /* IO Address LSB */

Definition at line 237 of file eepro.c.

#define ee_IO0Mask   0x /*...*/

Definition at line 238 of file eepro.c.

#define ee_IO1   15 /* IO MSB */

Definition at line 239 of file eepro.c.

#define ee_Jabber   6 /* Jabber prevention 0= enabled */

Definition at line 247 of file eepro.c.

#define ee_LI   3 /* Link Integrity 0= enabled */

Definition at line 244 of file eepro.c.

#define ee_NumConn   3 /* Number of Connections 0= One or Two */

Definition at line 268 of file eepro.c.

#define ee_PC   4 /* Polarity Correction 0= enabled */

Definition at line 245 of file eepro.c.

#define ee_PnP   0 /* Plug 'n Play enable bit */

Definition at line 228 of file eepro.c.

#define ee_PortAUI   7

Definition at line 272 of file eepro.c.

#define ee_PortBNC   6

Definition at line 271 of file eepro.c.

#define ee_PortTPE   5

Definition at line 270 of file eepro.c.

#define ee_PowerMgt   10 /* 0= disabled */

Definition at line 273 of file eepro.c.

#define ee_PROM   9 /* Flash EPROM / PROM 0=Flash */

Definition at line 250 of file eepro.c.

#define EE_READ_CMD   (6 << 6)

Definition at line 1402 of file eepro.c.

#define ee_reserved0   7 /* =0! */

Definition at line 234 of file eepro.c.

#define ee_reserved1   10 /* .. 12 =0! */

Definition at line 251 of file eepro.c.

#define ee_reserved2   14 /* =0! */

Definition at line 253 of file eepro.c.

#define ee_SIZE   0x40 /* total EEprom Size */

Definition at line 288 of file eepro.c.

#define ee_SMOUT   8 /* SMout Pin Control 0= Input */

Definition at line 249 of file eepro.c.

#define ee_StepMask   0x0F

Definition at line 279 of file eepro.c.

#define ee_Stepping   0 /* Stepping info */

Definition at line 278 of file eepro.c.

#define ee_TPE_AUI   5 /* PortSelection 1=TPE */

Definition at line 246 of file eepro.c.

#define ee_vendor_intel0   0x25 /* Vendor ID Intel */

Definition at line 299 of file eepro.c.

#define ee_vendor_intel1   0xD4

Definition at line 300 of file eepro.c.

#define ee_Word1   1 /* Word 1? */

Definition at line 229 of file eepro.c.

#define EECS   0x02

Definition at line 457 of file eepro.c.

#define EEDI   0x04

Definition at line 458 of file eepro.c.

#define EEDO   0x08

Definition at line 459 of file eepro.c.

#define eepro_ack_rx (   ioaddr)    outb (RX_INT, ioaddr + STATUS_REG)

Definition at line 507 of file eepro.c.

#define eepro_ack_tx (   ioaddr)    outb (TX_INT, ioaddr + STATUS_REG)

Definition at line 510 of file eepro.c.

#define eepro_clear_int (   ioaddr)    outb(ALL_MASK, ioaddr + STATUS_REG)

Definition at line 475 of file eepro.c.

#define eepro_complete_selreset (   ioaddr)
Value:
{ \
dev->stats.tx_errors++;\
eepro_sel_reset(ioaddr);\
lp->tx_end = \
lp->xmt_lower_limit;\
lp->tx_start = lp->tx_end;\
lp->tx_last = 0;\
dev->trans_start = jiffies;\
netif_wake_queue(dev);\
eepro_en_rx(ioaddr);\
}

Definition at line 513 of file eepro.c.

#define eepro_diag (   ioaddr)    outb(DIAGNOSE_CMD, ioaddr)

Definition at line 504 of file eepro.c.

#define eepro_dis_int (   ioaddr)    outb(ALL_MASK, ioaddr + INT_MASK_REG)

Definition at line 472 of file eepro.c.

#define eepro_dis_intline (   ioaddr)
Value:
outb(inb(ioaddr + REG1) & 0x7f, \
ioaddr + REG1);

Definition at line 500 of file eepro.c.

#define eepro_dis_rx (   ioaddr)    outb(RCV_DISABLE_CMD, ioaddr)

Definition at line 488 of file eepro.c.

#define eepro_en_int (   ioaddr)
Value:

Definition at line 478 of file eepro.c.

#define eepro_en_intexec (   ioaddr)    outb(ALL_MASK & ~(EXEC_MASK), ioaddr + INT_MASK_REG)

Definition at line 482 of file eepro.c.

#define eepro_en_intline (   ioaddr)
Value:
outb(inb(ioaddr + REG1) | INT_ENABLE,\
ioaddr + REG1)

Definition at line 496 of file eepro.c.

#define eepro_en_rx (   ioaddr)    outb(RCV_ENABLE_CMD, ioaddr)

Definition at line 485 of file eepro.c.

#define EEPRO_IO_EXTENT   16

Definition at line 183 of file eepro.c.

#define eepro_reset (   ioaddr)    outb(RESET_CMD, ioaddr)

Definition at line 462 of file eepro.c.

#define eepro_sel_reset (   ioaddr)
Value:
{ \
outb(SEL_RESET_CMD, ioaddr); \
SLOW_DOWN; \
SLOW_DOWN; \
}

Definition at line 465 of file eepro.c.

#define eepro_sw2bank0 (   ioaddr)    outb(BANK0_SELECT, ioaddr)

Definition at line 491 of file eepro.c.

#define eepro_sw2bank1 (   ioaddr)    outb(BANK1_SELECT, ioaddr)

Definition at line 492 of file eepro.c.

#define eepro_sw2bank2 (   ioaddr)    outb(BANK2_SELECT, ioaddr)

Definition at line 493 of file eepro.c.

#define eeprom_delay (   void)    { udelay(40); }

Definition at line 1401 of file eepro.c.

#define EEPROM_REG_10   0x0b

Definition at line 454 of file eepro.c.

#define EEPROM_REG_PRO   0x0a

Definition at line 453 of file eepro.c.

#define EESK   0x01

Definition at line 456 of file eepro.c.

#define EXEC_MASK   0x08

Definition at line 406 of file eepro.c.

#define EXEC_STATUS   0x30

Definition at line 396 of file eepro.c.

#define FDX   0x00

Definition at line 443 of file eepro.c.

#define GetBit (   x,
  y 
)    ((x & (1<<y))>>y)

Definition at line 225 of file eepro.c.

#define HOST_ADDRESS_REG   0x0c

Definition at line 415 of file eepro.c.

#define I_ADD_REG0   0x04

Definition at line 446 of file eepro.c.

#define I_ADD_REG1   0x05

Definition at line 447 of file eepro.c.

#define I_ADD_REG2   0x06

Definition at line 448 of file eepro.c.

#define I_ADD_REG3   0x07

Definition at line 449 of file eepro.c.

#define I_ADD_REG4   0x08

Definition at line 450 of file eepro.c.

#define I_ADD_REG5   0x09

Definition at line 451 of file eepro.c.

#define ID_REG   0x02 /* Register 2 */

Definition at line 397 of file eepro.c.

#define ID_REG_MASK   0x2c

Definition at line 399 of file eepro.c.

#define ID_REG_SIG   0x24

Definition at line 400 of file eepro.c.

#define INT_ENABLE   0x80

Definition at line 422 of file eepro.c.

#define INT_MASK_REG   0x03 /* Register 3 */

Definition at line 402 of file eepro.c.

#define INT_NO_REG   0x02

Definition at line 423 of file eepro.c.

#define IO_32_BIT   0x10

Definition at line 408 of file eepro.c.

#define IO_PORT   0x0e

Definition at line 416 of file eepro.c.

#define IO_PORT_32_BIT   0x0c

Definition at line 417 of file eepro.c.

#define LAN595   0

Definition at line 186 of file eepro.c.

#define LAN595FX   2

Definition at line 188 of file eepro.c.

#define LAN595FX_10ISA   3

Definition at line 189 of file eepro.c.

#define LAN595TX   1

Definition at line 187 of file eepro.c.

#define MC_SETUP   0x03

Definition at line 383 of file eepro.c.

#define Multi_IA   0x20

Definition at line 438 of file eepro.c.

#define NET_DEBUG   0

Definition at line 178 of file eepro.c.

#define POWER_DOWN_CMD   0x18

Definition at line 390 of file eepro.c.

#define PRMSC_Mode   0x01

Definition at line 437 of file eepro.c.

#define R_ROBIN_BITS   0xc0 /* round robin counter */

Definition at line 398 of file eepro.c.

#define RAM_SIZE   0x8000

Definition at line 353 of file eepro.c.

#define RCV_BAR   0x04 /* The following are word (16-bit) registers */

Definition at line 409 of file eepro.c.

#define RCV_DEFAULT_RAM   0x6000

Definition at line 356 of file eepro.c.

#define RCV_DISABLE_CMD   0x0a

Definition at line 387 of file eepro.c.

#define RCV_Discard_BadFrame   0x80 /* Throw bad frames away, and continue to receive others */

Definition at line 435 of file eepro.c.

#define RCV_DONE   0x0008

Definition at line 366 of file eepro.c.

#define RCV_ENABLE_CMD   0x08

Definition at line 386 of file eepro.c.

#define RCV_HEADER   8

Definition at line 355 of file eepro.c.

#define RCV_LOWER_LIMIT_REG   0x08

Definition at line 424 of file eepro.c.

#define RCV_START_10   XMT_DEFAULT_RAM

Definition at line 364 of file eepro.c.

#define RCV_START_PRO   0x0000

Definition at line 363 of file eepro.c.

#define RCV_STOP   0x06

Definition at line 410 of file eepro.c.

#define RCV_UPPER_LIMIT_REG   0x09

Definition at line 425 of file eepro.c.

#define REG1   0x01

Definition at line 420 of file eepro.c.

#define REG13   0x0d

Definition at line 442 of file eepro.c.

#define REG2   0x02

Definition at line 436 of file eepro.c.

#define REG3   0x03

Definition at line 439 of file eepro.c.

#define RESET_CMD   0x0e

Definition at line 389 of file eepro.c.

#define RESUME_XMT_CMD   0x1c

Definition at line 391 of file eepro.c.

#define RX_ERROR   0x0d81

Definition at line 368 of file eepro.c.

#define RX_INT   0x02

Definition at line 394 of file eepro.c.

#define RX_MASK   0x02

Definition at line 404 of file eepro.c.

#define RX_OK   0x2000

Definition at line 367 of file eepro.c.

#define RX_STOP_MASK   0x01

Definition at line 403 of file eepro.c.

#define SA_ADDR0   0x00 /* Etherexpress Pro/10 */

Definition at line 221 of file eepro.c.

#define SA_ADDR1   0xaa

Definition at line 222 of file eepro.c.

#define SA_ADDR2   0x00

Definition at line 223 of file eepro.c.

#define SEL_RESET_CMD   0x1e

Definition at line 392 of file eepro.c.

#define SLOW_DOWN   inb(0x80)

Definition at line 159 of file eepro.c.

#define STATUS_REG   0x01 /* Register 1 */

Definition at line 393 of file eepro.c.

#define STOP_RCV_CMD   0x0b

Definition at line 388 of file eepro.c.

#define TPE_BIT   0x04

Definition at line 440 of file eepro.c.

#define TX_DONE_BIT   0x0080

Definition at line 370 of file eepro.c.

#define TX_INT   0x04

Definition at line 395 of file eepro.c.

#define TX_MASK   0x04

Definition at line 405 of file eepro.c.

#define TX_OK   0x2000

Definition at line 371 of file eepro.c.

#define TX_TIMEOUT   ((4*HZ)/10)

Definition at line 304 of file eepro.c.

#define WORD_WIDTH   0x02

Definition at line 421 of file eepro.c.

#define XMT_BAR_10   0x0b

Definition at line 413 of file eepro.c.

#define XMT_BAR_PRO   0x0a

Definition at line 412 of file eepro.c.

#define XMT_CHAIN   0x04

Definition at line 374 of file eepro.c.

#define XMT_Chain_ErrStop   0x40 /* Interrupt at the end of the chain even if there are errors */

Definition at line 434 of file eepro.c.

#define XMT_Chain_Int   0x20 /* Interrupt at the end of the transmit chain */

Definition at line 433 of file eepro.c.

#define XMT_CMD   0x04

Definition at line 384 of file eepro.c.

#define XMT_COUNT   0x06

Definition at line 375 of file eepro.c.

#define XMT_DEFAULT_RAM   (RAM_SIZE - RCV_DEFAULT_RAM)

Definition at line 359 of file eepro.c.

#define XMT_HEADER   8

Definition at line 358 of file eepro.c.

#define XMT_LOWER_LIMIT_REG_10   0x0b

Definition at line 429 of file eepro.c.

#define XMT_LOWER_LIMIT_REG_PRO   0x0a

Definition at line 427 of file eepro.c.

#define XMT_START_10   0x0000

Definition at line 362 of file eepro.c.

#define XMT_START_PRO   RCV_DEFAULT_RAM

Definition at line 361 of file eepro.c.

#define XMT_STATUS   0x02

Definition at line 373 of file eepro.c.

#define XMT_UPPER_LIMIT_REG_10   0x0a

Definition at line 430 of file eepro.c.

#define XMT_UPPER_LIMIT_REG_PRO   0x0b

Definition at line 428 of file eepro.c.

Enumeration Type Documentation

enum iftype
Enumerator:
AUI 
BNC 
TPE 

Definition at line 162 of file eepro.c.

Function Documentation

struct net_device* __init eepro_probe ( int  unit)
read

Definition at line 584 of file eepro.c.