45 #define CONNECTOR_UTP 0 47 #define CONNECTOR_AUI 1 51 #define CONNECTOR_BNC 3 53 #define CONNECTOR_TX 4 55 #define CONNECTOR_FX 5 57 #define CONNECTOR_MII 6 121 for (i = 0; i < 31; i++)
236 register short rx_fifo;
267 if ( ! retrieve )
return 1;
308 unsigned short type = 0;
334 printf(
"3c595: eeprom is busy.\n");
383 printf(
": disable 'auto select' with DOS util!");
394 static signed char prev_conn = -1;
396 if (prev_conn == -1) {
405 warning =
"strange connector type in EEPROM.";
411 printf(
"warning: %s\n", warning);
502 for (i = 0; i < 3; i++) {
526 PCI_ROM(0x10b7, 0x4500,
"3c450-1",
"3Com450 HomePNA Tornado", 0),
527 PCI_ROM(0x10b7, 0x5900,
"3c590",
"3Com590", 0),
528 PCI_ROM(0x10b7, 0x5950,
"3c595",
"3Com595", 0),
529 PCI_ROM(0x10b7, 0x5951,
"3c595-1",
"3Com595", 0),
530 PCI_ROM(0x10b7, 0x5952,
"3c595-2",
"3Com595", 0),
531 PCI_ROM(0x10b7, 0x7646,
"3csoho100-tx-1",
"3CSOHO100-TX", 0),
532 PCI_ROM(0x10b7, 0x9000,
"3c900-tpo",
"3Com900-TPO", 0),
533 PCI_ROM(0x10b7, 0x9001,
"3c900-t4",
"3Com900-Combo", 0),
534 PCI_ROM(0x10b7, 0x9004,
"3c900b-tpo",
"3Com900B-TPO", 0),
535 PCI_ROM(0x10b7, 0x9005,
"3c900b-combo",
"3Com900B-Combo", 0),
536 PCI_ROM(0x10b7, 0x9006,
"3c900b-tpb2",
"3Com900B-2/T", 0),
537 PCI_ROM(0x10b7, 0x900a,
"3c900b-fl",
"3Com900B-FL", 0),
538 PCI_ROM(0x10b7, 0x9800,
"3c980-cyclone-1",
"3Com980-Cyclone", 0),
539 PCI_ROM(0x10b7, 0x9805,
"3c9805-1",
"3Com9805", 0),
#define VX_W1_RX_PIO_RD_1
#define RX_DISCARD_TOP_PACK
int printf(const char *fmt,...)
Write a formatted string to the console.
uint16_t inw(volatile uint16_t *io_addr)
Read 16-bit word from I/O-mapped device.
static unsigned int unsigned int bit
static void vxsetlink(void)
#define outw(data, io_addr)
unsigned long ioaddr
I/O address.
uint32_t type
Operating system type.
void outsw(volatile uint16_t *io_addr, const uint16_t *data, unsigned int count)
Write 16-bit words to I/O-mapped device.
#define INTERNAL_CONNECTOR_MASK
#define S_COMMAND_IN_PROGRESS
#define INTERNAL_CONNECTOR_BITS
#define is_eeprom_busy(b)
#define TXS_STATUS_OVERFLOW
int dummy_connect(struct nic *nic __unused)
static void t595_transmit(struct nic *nic, const char *d, unsigned int t, unsigned int s, const char *p)
#define VX_W0_EEPROM_COMMAND
#define TXS_MAX_COLLISION
#define VX_W1_TX_PIO_WR_1
#define __unused
Declare a variable or data structure as unused.
#define VX_W3_INTERNAL_CFG
void udelay(unsigned long usecs)
Delay for a fixed number of microseconds.
static unsigned short eth_nic_base
static int t595_probe(struct nic *nic, struct pci_device *pci)
#define START_TRANSCEIVER
static void t595_reset(struct nic *nic)
static void vxgetlink(void)
#define outl(data, io_addr)
const char * eth_ntoa(const void *ll_addr)
Transcribe Ethernet address.
static unsigned short vx_connector
void insw(volatile uint16_t *io_addr, uint16_t *data, unsigned int count)
Read 16-bit words from I/O-mapped device.
static unsigned short vx_connectors
uint8_t inb(volatile uint8_t *io_addr)
Read byte from I/O-mapped device.
A PCI device ID list entry.
static const uint32_t k[64]
MD5 constants.
static void t595_irq(struct nic *nic __unused, irq_action_t action __unused)
static struct nic_operations t595_operations
#define VX_W0_EEPROM_DATA
unsigned char * node_addr
#define outb(data, io_addr)
static void t595_disable(struct nic *nic)
uint32_t inl(volatile uint32_t *io_addr)
Read 32-bit dword from I/O-mapped device.
uint16_t reason
Rejection reason.
PCI_DRIVER(t595_driver, t595_nics, PCI_NO_CLASS)
uint16_t offset
Offset to command line.
static struct connector_entry conn_tab[VX_CONNECTORS]
#define EEPROM_OEM_ADDR_0
#define DBG(...)
Print a debugging message.
struct nic_operations * nic_op
static struct pci_device_id t595_nics[]
static int get_e(int offset)
int(* connect)(struct nic *)
#define NULL
NULL pointer (VOID *)
static int t595_poll(struct nic *nic, int retrieve)
#define PCI_ROM(_vendor, _device, _name, _description, _data)
DRIVER("3C595", nic_driver, pci_driver, t595_driver, t595_probe, t595_disable)