Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
pcnet_cs.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/ptrace.h>
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/netdevice.h>
#include <linux/log2.h>
#include <linux/etherdevice.h>
#include <linux/mii.h>
#include "8390.h"
#include <pcmcia/cistpl.h>
#include <pcmcia/ciscode.h>
#include <pcmcia/ds.h>
#include <pcmcia/cisreg.h>
#include <asm/io.h>
#include <asm/byteorder.h>
#include <asm/uaccess.h>

Go to the source code of this file.

Data Structures

struct  hw_info_t
 
struct  pcnet_dev_t
 

Macros

#define pr_fmt(fmt)   KBUILD_MODNAME ": " fmt
 
#define PCNET_CMD   0x00
 
#define PCNET_DATAPORT   0x10 /* NatSemi-defined port window offset. */
 
#define PCNET_RESET   0x1f /* Issue a read to reset, a write to clear. */
 
#define PCNET_MISC   0x18 /* For IBM CCAE and Socket EA cards */
 
#define PCNET_START_PG   0x40 /* First page of TX buffer */
 
#define PCNET_STOP_PG   0x80 /* Last page +1 of RX ring */
 
#define SOCKET_START_PG   0x01
 
#define SOCKET_STOP_PG   0xff
 
#define PCNET_RDC_TIMEOUT   (2*HZ/100) /* Max wait in jiffies for Tx RDC */
 
#define INT_MODULE_PARM(n, v)   static int n = v; module_param(n, int, 0)
 
#define DELAY_OUTPUT   0x01
 
#define HAS_MISC_REG   0x02
 
#define USE_BIG_BUF   0x04
 
#define HAS_IBM_MISC   0x08
 
#define IS_DL10019   0x10
 
#define IS_DL10022   0x20
 
#define HAS_MII   0x40
 
#define USE_SHMEM   0x80 /* autodetected */
 
#define AM79C9XX_HOME_PHY   0x00006B90 /* HomePNA PHY */
 
#define AM79C9XX_ETH_PHY   0x00006B70 /* 10baseT PHY */
 
#define MII_PHYID_REV_MASK   0xfffffff0
 
#define MII_PHYID_REG1   0x02
 
#define MII_PHYID_REG2   0x03
 
#define NR_INFO   ARRAY_SIZE(hw_info)
 
#define DLINK_GPIO   0x1c
 
#define DLINK_DIAG   0x1d
 
#define DLINK_EEPROM   0x1e
 
#define MDIO_SHIFT_CLK   0x80
 
#define MDIO_DATA_OUT   0x40
 
#define MDIO_DIR_WRITE   0x30
 
#define MDIO_DATA_WRITE0   (MDIO_DIR_WRITE)
 
#define MDIO_DATA_WRITE1   (MDIO_DIR_WRITE | MDIO_DATA_OUT)
 
#define MDIO_DATA_READ   0x10
 
#define MDIO_MASK   0x0f
 
#define EE_EEP   0x40
 
#define EE_ASIC   0x10
 
#define EE_CS   0x08
 
#define EE_CK   0x04
 
#define EE_DO   0x02
 
#define EE_DI   0x01
 
#define EE_ADOT   0x01 /* DataOut for ASIC */
 
#define EE_READ_CMD   0x06
 
#define DL19FDUPLX   0x0400 /* DL10019 Full duplex mode */
 

Typedefs

typedef struct hw_info_t hw_info_t
 
typedef struct pcnet_dev_t pcnet_dev_t
 

Functions

 MODULE_AUTHOR ("David Hinds <[email protected]>")
 
 MODULE_DESCRIPTION ("NE2000 compatible PCMCIA ethernet driver")
 
 MODULE_LICENSE ("GPL")
 
 INT_MODULE_PARM (if_port, 1)
 
 INT_MODULE_PARM (use_big_buf, 1)
 
 INT_MODULE_PARM (mem_speed, 0)
 
 INT_MODULE_PARM (delay_output, 0)
 
 INT_MODULE_PARM (delay_time, 4)
 
 INT_MODULE_PARM (use_shmem,-1)
 
 INT_MODULE_PARM (full_duplex, 0)
 
 module_param_array (hw_addr, int, NULL, 0)
 
 MODULE_DEVICE_TABLE (pcmcia, pcnet_ids)
 
 MODULE_FIRMWARE ("cis/PCMLM28.cis")
 
 MODULE_FIRMWARE ("cis/DP83903.cis")
 
 MODULE_FIRMWARE ("cis/LA-PCM.cis")
 
 MODULE_FIRMWARE ("cis/PE520.cis")
 
 MODULE_FIRMWARE ("cis/NE2K.cis")
 
 MODULE_FIRMWARE ("cis/PE-200.cis")
 
 MODULE_FIRMWARE ("cis/tamarack.cis")
 
 module_init (init_pcnet_cs)
 
 module_exit (exit_pcnet_cs)
 

Macro Definition Documentation

#define AM79C9XX_ETH_PHY   0x00006B70 /* 10baseT PHY */

Definition at line 131 of file pcnet_cs.c.

#define AM79C9XX_HOME_PHY   0x00006B90 /* HomePNA PHY */

Definition at line 130 of file pcnet_cs.c.

#define DELAY_OUTPUT   0x01

Definition at line 121 of file pcnet_cs.c.

#define DL19FDUPLX   0x0400 /* DL10019 Full duplex mode */

Definition at line 755 of file pcnet_cs.c.

#define DLINK_DIAG   0x1d

Definition at line 684 of file pcnet_cs.c.

#define DLINK_EEPROM   0x1e

Definition at line 685 of file pcnet_cs.c.

#define DLINK_GPIO   0x1c

Definition at line 683 of file pcnet_cs.c.

#define EE_ADOT   0x01 /* DataOut for ASIC */

Definition at line 752 of file pcnet_cs.c.

#define EE_ASIC   0x10

Definition at line 747 of file pcnet_cs.c.

#define EE_CK   0x04

Definition at line 749 of file pcnet_cs.c.

#define EE_CS   0x08

Definition at line 748 of file pcnet_cs.c.

#define EE_DI   0x01

Definition at line 751 of file pcnet_cs.c.

#define EE_DO   0x02

Definition at line 750 of file pcnet_cs.c.

#define EE_EEP   0x40

Definition at line 746 of file pcnet_cs.c.

#define EE_READ_CMD   0x06

Definition at line 753 of file pcnet_cs.c.

#define HAS_IBM_MISC   0x08

Definition at line 124 of file pcnet_cs.c.

#define HAS_MII   0x40

Definition at line 127 of file pcnet_cs.c.

#define HAS_MISC_REG   0x02

Definition at line 122 of file pcnet_cs.c.

#define INT_MODULE_PARM (   n,
  v 
)    static int n = v; module_param(n, int, 0)

Definition at line 80 of file pcnet_cs.c.

#define IS_DL10019   0x10

Definition at line 125 of file pcnet_cs.c.

#define IS_DL10022   0x20

Definition at line 126 of file pcnet_cs.c.

#define MDIO_DATA_OUT   0x40

Definition at line 688 of file pcnet_cs.c.

#define MDIO_DATA_READ   0x10

Definition at line 692 of file pcnet_cs.c.

#define MDIO_DATA_WRITE0   (MDIO_DIR_WRITE)

Definition at line 690 of file pcnet_cs.c.

#define MDIO_DATA_WRITE1   (MDIO_DIR_WRITE | MDIO_DATA_OUT)

Definition at line 691 of file pcnet_cs.c.

#define MDIO_DIR_WRITE   0x30

Definition at line 689 of file pcnet_cs.c.

#define MDIO_MASK   0x0f

Definition at line 693 of file pcnet_cs.c.

#define MDIO_SHIFT_CLK   0x80

Definition at line 687 of file pcnet_cs.c.

#define MII_PHYID_REG1   0x02

Definition at line 133 of file pcnet_cs.c.

#define MII_PHYID_REG2   0x03

Definition at line 134 of file pcnet_cs.c.

#define MII_PHYID_REV_MASK   0xfffffff0

Definition at line 132 of file pcnet_cs.c.

#define NR_INFO   ARRAY_SIZE(hw_info)

Definition at line 198 of file pcnet_cs.c.

#define PCNET_CMD   0x00

Definition at line 55 of file pcnet_cs.c.

#define PCNET_DATAPORT   0x10 /* NatSemi-defined port window offset. */

Definition at line 56 of file pcnet_cs.c.

#define PCNET_MISC   0x18 /* For IBM CCAE and Socket EA cards */

Definition at line 58 of file pcnet_cs.c.

#define PCNET_RDC_TIMEOUT   (2*HZ/100) /* Max wait in jiffies for Tx RDC */

Definition at line 67 of file pcnet_cs.c.

#define PCNET_RESET   0x1f /* Issue a read to reset, a write to clear. */

Definition at line 57 of file pcnet_cs.c.

#define PCNET_START_PG   0x40 /* First page of TX buffer */

Definition at line 60 of file pcnet_cs.c.

#define PCNET_STOP_PG   0x80 /* Last page +1 of RX ring */

Definition at line 61 of file pcnet_cs.c.

#define pr_fmt (   fmt)    KBUILD_MODNAME ": " fmt

Definition at line 31 of file pcnet_cs.c.

#define SOCKET_START_PG   0x01

Definition at line 64 of file pcnet_cs.c.

#define SOCKET_STOP_PG   0xff

Definition at line 65 of file pcnet_cs.c.

#define USE_BIG_BUF   0x04

Definition at line 123 of file pcnet_cs.c.

#define USE_SHMEM   0x80 /* autodetected */

Definition at line 128 of file pcnet_cs.c.

Typedef Documentation

Function Documentation

INT_MODULE_PARM ( if_port  ,
 
)
INT_MODULE_PARM ( use_big_buf  ,
 
)
INT_MODULE_PARM ( mem_speed  ,
 
)
INT_MODULE_PARM ( delay_output  ,
 
)
INT_MODULE_PARM ( delay_time  ,
 
)
INT_MODULE_PARM ( use_shmem  ,
1 
)
INT_MODULE_PARM ( full_duplex  ,
 
)
MODULE_AUTHOR ( "David Hinds <[email protected]>"  )
MODULE_DESCRIPTION ( "NE2000 compatible PCMCIA ethernet driver )
MODULE_DEVICE_TABLE ( pcmcia  ,
pcnet_ids   
)
module_exit ( exit_pcnet_cs  )
MODULE_FIRMWARE ( "cis/PCMLM28.cis"  )
MODULE_FIRMWARE ( "cis/DP83903.cis"  )
MODULE_FIRMWARE ( "cis/LA-PCM.cis"  )
MODULE_FIRMWARE ( "cis/PE520.cis"  )
MODULE_FIRMWARE ( "cis/NE2K.cis"  )
MODULE_FIRMWARE ( "cis/PE-200.cis"  )
MODULE_FIRMWARE ( "cis/tamarack.cis"  )
module_init ( init_pcnet_cs  )
MODULE_LICENSE ( "GPL"  )
module_param_array ( hw_addr  ,
int  ,
NULL  ,
 
)