fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / usb / net / pegasus.h
index 411758b..98f6898 100644 (file)
 #define        PHY_READ                0x40
 #define        PHY_WRITE               0x20
 #define        DEFAULT_GPIO_RESET      0x24
-#define        LINKSYS_GPIO_RESET      0x24
 #define        DEFAULT_GPIO_SET        0x26
 
 #define        PEGASUS_PRESENT         0x00000001
-#define        PEGASUS_RUNNING         0x00000002
 #define        PEGASUS_TX_BUSY         0x00000004
 #define        PEGASUS_RX_BUSY         0x00000008
 #define        CTRL_URB_RUNNING        0x00000010
@@ -76,6 +74,7 @@ enum pegasus_registers {
        EthTxStat0 = 0x2b,
        EthTxStat1 = 0x2c,
        EthRxStat = 0x2d,
+       WakeupControl = 0x78,
        Reg7b = 0x7b,
        Gpio0 = 0x7e,
        Gpio1 = 0x7f,
@@ -85,14 +84,18 @@ enum pegasus_registers {
 
 typedef struct pegasus {
        struct usb_device       *usb;
+       struct usb_interface    *intf;
        struct net_device       *net;
        struct net_device_stats stats;
        struct mii_if_info      mii;
        unsigned                flags;
        unsigned                features;
+       u32                     msg_enable;
+       u32                     wolopts;
        int                     dev_index;
        int                     intr_interval;
        struct tasklet_struct   rx_tl;
+       struct delayed_work     carrier_check;
        struct urb              *ctrl_urb, *rx_urb, *tx_urb, *intr_urb;
        struct sk_buff          *rx_pool[RX_SKBS];
        struct sk_buff          *rx_skb;
@@ -121,12 +124,14 @@ struct usb_eth_dev {
 #define        VENDOR_ADMTEK           0x07a6
 #define        VENDOR_AEILAB           0x3334
 #define        VENDOR_ALLIEDTEL        0x07c9
+#define        VENDOR_ATEN             0x0557
 #define        VENDOR_BELKIN           0x050d
 #define        VENDOR_BILLIONTON       0x08dd
 #define        VENDOR_COMPAQ           0x049f
 #define        VENDOR_COREGA           0x07aa
 #define        VENDOR_DLINK            0x2001
 #define        VENDOR_ELCON            0x0db7
+#define        VENDOR_ELECOM           0x056e
 #define        VENDOR_ELSA             0x05cc
 #define        VENDOR_GIGABYTE         0x1044
 #define        VENDOR_HAWKING          0x0e66
@@ -135,6 +140,7 @@ struct usb_eth_dev {
 #define        VENDOR_KINGSTON         0x0951
 #define        VENDOR_LANEED           0x056e
 #define        VENDOR_LINKSYS          0x066b
+#define        VENDOR_LINKSYS2         0x077b
 #define        VENDOR_MELCO            0x0411
 #define        VENDOR_MICROSOFT        0x045e
 #define        VENDOR_MOBILITY         0x1342
@@ -150,6 +156,8 @@ struct usb_eth_dev {
 
 PEGASUS_DEV( "3Com USB Ethernet 3C460B", VENDOR_3COM, 0x4601,
                DEFAULT_GPIO_RESET | PEGASUS_II )
+PEGASUS_DEV( "ATEN USB Ethernet UC-110T", VENDOR_ATEN, 0x2007,
+               DEFAULT_GPIO_RESET | PEGASUS_II )
 PEGASUS_DEV( "USB HPNA/Ethernet", VENDOR_ABOCOM, 0x110c,
                DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA )
 PEGASUS_DEV( "USB HPNA/Ethernet", VENDOR_ABOCOM, 0x4104,
@@ -174,6 +182,8 @@ PEGASUS_DEV( "Accton USB 10/100 Ethernet Adapter", VENDOR_ACCTON, 0x1046,
                DEFAULT_GPIO_RESET )
 PEGASUS_DEV( "SpeedStream USB 10/100 Ethernet", VENDOR_ACCTON, 0x5046,
                DEFAULT_GPIO_RESET | PEGASUS_II )
+PEGASUS_DEV( "Philips USB 10/100 Ethernet", VENDOR_ACCTON, 0xb004,
+               DEFAULT_GPIO_RESET | PEGASUS_II )
 PEGASUS_DEV( "ADMtek ADM8511 \"Pegasus II\" USB Ethernet",
                VENDOR_ADMTEK, 0x8511,
                DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA )
@@ -209,21 +219,23 @@ PEGASUS_DEV( "Corega FEter USB-TX", VENDOR_COREGA, 0x0004,
 PEGASUS_DEV( "Corega FEter USB-TXS", VENDOR_COREGA, 0x000d,
                DEFAULT_GPIO_RESET | PEGASUS_II )
 PEGASUS_DEV( "D-Link DSB-650TX", VENDOR_DLINK, 0x4001,
-               LINKSYS_GPIO_RESET )
+               DEFAULT_GPIO_RESET )
 PEGASUS_DEV( "D-Link DSB-650TX", VENDOR_DLINK, 0x4002,
-               LINKSYS_GPIO_RESET )
+               DEFAULT_GPIO_RESET )
 PEGASUS_DEV( "D-Link DSB-650TX", VENDOR_DLINK, 0x4102,
-               LINKSYS_GPIO_RESET | PEGASUS_II )
+               DEFAULT_GPIO_RESET | PEGASUS_II )
 PEGASUS_DEV( "D-Link DSB-650TX", VENDOR_DLINK, 0x400b,
-               LINKSYS_GPIO_RESET | PEGASUS_II )
+               DEFAULT_GPIO_RESET | PEGASUS_II )
 PEGASUS_DEV( "D-Link DSB-650TX", VENDOR_DLINK, 0x200c,
-               LINKSYS_GPIO_RESET | PEGASUS_II )
+               DEFAULT_GPIO_RESET | PEGASUS_II )
 PEGASUS_DEV( "D-Link DSB-650TX(PNA)", VENDOR_DLINK, 0x4003,
                DEFAULT_GPIO_RESET | HAS_HOME_PNA )
 PEGASUS_DEV( "D-Link DSB-650", VENDOR_DLINK, 0xabc1,
                DEFAULT_GPIO_RESET )
 PEGASUS_DEV( "GOLDPFEIL USB Adapter", VENDOR_ELCON, 0x0002,
                DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA )
+PEGASUS_DEV( "ELECOM USB Ethernet LD-USB20", VENDOR_ELECOM,  0x4010,
+               DEFAULT_GPIO_RESET  | PEGASUS_II )
 PEGASUS_DEV( "EasiDock Ethernet", VENDOR_MOBILITY, 0x0304,
                DEFAULT_GPIO_RESET )
 PEGASUS_DEV( "Elsa Micolink USB2Ethernet", VENDOR_ELSA, 0x3000,
@@ -242,6 +254,8 @@ PEGASUS_DEV( "Kingston KNU101TX Ethernet", VENDOR_KINGSTON, 0x000a,
                DEFAULT_GPIO_RESET)
 PEGASUS_DEV( "LANEED USB Ethernet LD-USB/TX", VENDOR_LANEED, 0x4002,
                DEFAULT_GPIO_RESET )
+PEGASUS_DEV( "LANEED USB Ethernet LD-USBL/TX", VENDOR_LANEED, 0x4005,
+               DEFAULT_GPIO_RESET | PEGASUS_II)
 PEGASUS_DEV( "LANEED USB Ethernet LD-USB/TX", VENDOR_LANEED, 0x400b,
                DEFAULT_GPIO_RESET | PEGASUS_II )
 PEGASUS_DEV( "LANEED USB Ethernet LD-USB/T", VENDOR_LANEED, 0xabc1,
@@ -249,17 +263,19 @@ PEGASUS_DEV( "LANEED USB Ethernet LD-USB/T", VENDOR_LANEED, 0xabc1,
 PEGASUS_DEV( "LANEED USB Ethernet LD-USB/TX", VENDOR_LANEED, 0x200c,
                DEFAULT_GPIO_RESET | PEGASUS_II )
 PEGASUS_DEV( "Linksys USB10TX", VENDOR_LINKSYS, 0x2202,
-               LINKSYS_GPIO_RESET )
+               DEFAULT_GPIO_RESET )
 PEGASUS_DEV( "Linksys USB100TX", VENDOR_LINKSYS, 0x2203,
-               LINKSYS_GPIO_RESET )
+               DEFAULT_GPIO_RESET )
 PEGASUS_DEV( "Linksys USB100TX", VENDOR_LINKSYS, 0x2204,
-               LINKSYS_GPIO_RESET | HAS_HOME_PNA )
+               DEFAULT_GPIO_RESET | HAS_HOME_PNA )
 PEGASUS_DEV( "Linksys USB10T Ethernet Adapter", VENDOR_LINKSYS, 0x2206,
-               LINKSYS_GPIO_RESET | PEGASUS_II)
+               DEFAULT_GPIO_RESET | PEGASUS_II)
+PEGASUS_DEV( "Linksys USBVPN1", VENDOR_LINKSYS2, 0x08b4,
+               DEFAULT_GPIO_RESET )
 PEGASUS_DEV( "Linksys USB USB100TX", VENDOR_LINKSYS, 0x400b,
-               LINKSYS_GPIO_RESET | PEGASUS_II )
+               DEFAULT_GPIO_RESET | PEGASUS_II )
 PEGASUS_DEV( "Linksys USB10TX", VENDOR_LINKSYS, 0x200c,
-               LINKSYS_GPIO_RESET | PEGASUS_II )       
+               DEFAULT_GPIO_RESET | PEGASUS_II )
 PEGASUS_DEV( "MELCO/BUFFALO LUA-TX", VENDOR_MELCO, 0x0001,
                DEFAULT_GPIO_RESET )
 PEGASUS_DEV( "MELCO/BUFFALO LUA-TX", VENDOR_MELCO, 0x0005,