diff options
-rw-r--r-- | drivers/net/tg3.c | 84 | ||||
-rw-r--r-- | drivers/net/tg3.h | 34 |
2 files changed, 88 insertions, 30 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 3a62cc50c210..b545ea7e0ad6 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -12112,45 +12112,71 @@ struct subsys_tbl_ent { | |||
12112 | u32 phy_id; | 12112 | u32 phy_id; |
12113 | }; | 12113 | }; |
12114 | 12114 | ||
12115 | static struct subsys_tbl_ent subsys_id_to_phy_id[] = { | 12115 | static struct subsys_tbl_ent subsys_id_to_phy_id[] __devinitdata = { |
12116 | /* Broadcom boards. */ | 12116 | /* Broadcom boards. */ |
12117 | { PCI_VENDOR_ID_BROADCOM, 0x1644, PHY_ID_BCM5401 }, /* BCM95700A6 */ | 12117 | { TG3PCI_SUBVENDOR_ID_BROADCOM, |
12118 | { PCI_VENDOR_ID_BROADCOM, 0x0001, PHY_ID_BCM5701 }, /* BCM95701A5 */ | 12118 | TG3PCI_SUBDEVICE_ID_BROADCOM_95700A6, PHY_ID_BCM5401 }, |
12119 | { PCI_VENDOR_ID_BROADCOM, 0x0002, PHY_ID_BCM8002 }, /* BCM95700T6 */ | 12119 | { TG3PCI_SUBVENDOR_ID_BROADCOM, |
12120 | { PCI_VENDOR_ID_BROADCOM, 0x0003, 0 }, /* BCM95700A9 */ | 12120 | TG3PCI_SUBDEVICE_ID_BROADCOM_95701A5, PHY_ID_BCM5701 }, |
12121 | { PCI_VENDOR_ID_BROADCOM, 0x0005, PHY_ID_BCM5701 }, /* BCM95701T1 */ | 12121 | { TG3PCI_SUBVENDOR_ID_BROADCOM, |
12122 | { PCI_VENDOR_ID_BROADCOM, 0x0006, PHY_ID_BCM5701 }, /* BCM95701T8 */ | 12122 | TG3PCI_SUBDEVICE_ID_BROADCOM_95700T6, PHY_ID_BCM8002 }, |
12123 | { PCI_VENDOR_ID_BROADCOM, 0x0007, 0 }, /* BCM95701A7 */ | 12123 | { TG3PCI_SUBVENDOR_ID_BROADCOM, |
12124 | { PCI_VENDOR_ID_BROADCOM, 0x0008, PHY_ID_BCM5701 }, /* BCM95701A10 */ | 12124 | TG3PCI_SUBDEVICE_ID_BROADCOM_95700A9, 0 }, |
12125 | { PCI_VENDOR_ID_BROADCOM, 0x8008, PHY_ID_BCM5701 }, /* BCM95701A12 */ | 12125 | { TG3PCI_SUBVENDOR_ID_BROADCOM, |
12126 | { PCI_VENDOR_ID_BROADCOM, 0x0009, PHY_ID_BCM5703 }, /* BCM95703Ax1 */ | 12126 | TG3PCI_SUBDEVICE_ID_BROADCOM_95701T1, PHY_ID_BCM5701 }, |
12127 | { PCI_VENDOR_ID_BROADCOM, 0x8009, PHY_ID_BCM5703 }, /* BCM95703Ax2 */ | 12127 | { TG3PCI_SUBVENDOR_ID_BROADCOM, |
12128 | TG3PCI_SUBDEVICE_ID_BROADCOM_95701T8, PHY_ID_BCM5701 }, | ||
12129 | { TG3PCI_SUBVENDOR_ID_BROADCOM, | ||
12130 | TG3PCI_SUBDEVICE_ID_BROADCOM_95701A7, 0 }, | ||
12131 | { TG3PCI_SUBVENDOR_ID_BROADCOM, | ||
12132 | TG3PCI_SUBDEVICE_ID_BROADCOM_95701A10, PHY_ID_BCM5701 }, | ||
12133 | { TG3PCI_SUBVENDOR_ID_BROADCOM, | ||
12134 | TG3PCI_SUBDEVICE_ID_BROADCOM_95701A12, PHY_ID_BCM5701 }, | ||
12135 | { TG3PCI_SUBVENDOR_ID_BROADCOM, | ||
12136 | TG3PCI_SUBDEVICE_ID_BROADCOM_95703AX1, PHY_ID_BCM5703 }, | ||
12137 | { TG3PCI_SUBVENDOR_ID_BROADCOM, | ||
12138 | TG3PCI_SUBDEVICE_ID_BROADCOM_95703AX2, PHY_ID_BCM5703 }, | ||
12128 | 12139 | ||
12129 | /* 3com boards. */ | 12140 | /* 3com boards. */ |
12130 | { PCI_VENDOR_ID_3COM, 0x1000, PHY_ID_BCM5401 }, /* 3C996T */ | 12141 | { TG3PCI_SUBVENDOR_ID_3COM, |
12131 | { PCI_VENDOR_ID_3COM, 0x1006, PHY_ID_BCM5701 }, /* 3C996BT */ | 12142 | TG3PCI_SUBDEVICE_ID_3COM_3C996T, PHY_ID_BCM5401 }, |
12132 | { PCI_VENDOR_ID_3COM, 0x1004, 0 }, /* 3C996SX */ | 12143 | { TG3PCI_SUBVENDOR_ID_3COM, |
12133 | { PCI_VENDOR_ID_3COM, 0x1007, PHY_ID_BCM5701 }, /* 3C1000T */ | 12144 | TG3PCI_SUBDEVICE_ID_3COM_3C996BT, PHY_ID_BCM5701 }, |
12134 | { PCI_VENDOR_ID_3COM, 0x1008, PHY_ID_BCM5701 }, /* 3C940BR01 */ | 12145 | { TG3PCI_SUBVENDOR_ID_3COM, |
12146 | TG3PCI_SUBDEVICE_ID_3COM_3C996SX, 0 }, | ||
12147 | { TG3PCI_SUBVENDOR_ID_3COM, | ||
12148 | TG3PCI_SUBDEVICE_ID_3COM_3C1000T, PHY_ID_BCM5701 }, | ||
12149 | { TG3PCI_SUBVENDOR_ID_3COM, | ||
12150 | TG3PCI_SUBDEVICE_ID_3COM_3C940BR01, PHY_ID_BCM5701 }, | ||
12135 | 12151 | ||
12136 | /* DELL boards. */ | 12152 | /* DELL boards. */ |
12137 | { PCI_VENDOR_ID_DELL, 0x00d1, PHY_ID_BCM5401 }, /* VIPER */ | 12153 | { TG3PCI_SUBVENDOR_ID_DELL, |
12138 | { PCI_VENDOR_ID_DELL, 0x0106, PHY_ID_BCM5401 }, /* JAGUAR */ | 12154 | TG3PCI_SUBDEVICE_ID_DELL_VIPER, PHY_ID_BCM5401 }, |
12139 | { PCI_VENDOR_ID_DELL, 0x0109, PHY_ID_BCM5411 }, /* MERLOT */ | 12155 | { TG3PCI_SUBVENDOR_ID_DELL, |
12140 | { PCI_VENDOR_ID_DELL, 0x010a, PHY_ID_BCM5411 }, /* SLIM_MERLOT */ | 12156 | TG3PCI_SUBDEVICE_ID_DELL_JAGUAR, PHY_ID_BCM5401 }, |
12157 | { TG3PCI_SUBVENDOR_ID_DELL, | ||
12158 | TG3PCI_SUBDEVICE_ID_DELL_MERLOT, PHY_ID_BCM5411 }, | ||
12159 | { TG3PCI_SUBVENDOR_ID_DELL, | ||
12160 | TG3PCI_SUBDEVICE_ID_DELL_SLIM_MERLOT, PHY_ID_BCM5411 }, | ||
12141 | 12161 | ||
12142 | /* Compaq boards. */ | 12162 | /* Compaq boards. */ |
12143 | { PCI_VENDOR_ID_COMPAQ, 0x007c, PHY_ID_BCM5701 }, /* BANSHEE */ | 12163 | { TG3PCI_SUBVENDOR_ID_COMPAQ, |
12144 | { PCI_VENDOR_ID_COMPAQ, 0x009a, PHY_ID_BCM5701 }, /* BANSHEE_2 */ | 12164 | TG3PCI_SUBDEVICE_ID_COMPAQ_BANSHEE, PHY_ID_BCM5701 }, |
12145 | { PCI_VENDOR_ID_COMPAQ, 0x007d, 0 }, /* CHANGELING */ | 12165 | { TG3PCI_SUBVENDOR_ID_COMPAQ, |
12146 | { PCI_VENDOR_ID_COMPAQ, 0x0085, PHY_ID_BCM5701 }, /* NC7780 */ | 12166 | TG3PCI_SUBDEVICE_ID_COMPAQ_BANSHEE_2, PHY_ID_BCM5701 }, |
12147 | { PCI_VENDOR_ID_COMPAQ, 0x0099, PHY_ID_BCM5701 }, /* NC7780_2 */ | 12167 | { TG3PCI_SUBVENDOR_ID_COMPAQ, |
12168 | TG3PCI_SUBDEVICE_ID_COMPAQ_CHANGELING, 0 }, | ||
12169 | { TG3PCI_SUBVENDOR_ID_COMPAQ, | ||
12170 | TG3PCI_SUBDEVICE_ID_COMPAQ_NC7780, PHY_ID_BCM5701 }, | ||
12171 | { TG3PCI_SUBVENDOR_ID_COMPAQ, | ||
12172 | TG3PCI_SUBDEVICE_ID_COMPAQ_NC7780_2, PHY_ID_BCM5701 }, | ||
12148 | 12173 | ||
12149 | /* IBM boards. */ | 12174 | /* IBM boards. */ |
12150 | { PCI_VENDOR_ID_IBM, 0x0281, 0 } /* IBM??? */ | 12175 | { TG3PCI_SUBVENDOR_ID_IBM, |
12176 | TG3PCI_SUBDEVICE_ID_IBM_5703SAX2, 0 } | ||
12151 | }; | 12177 | }; |
12152 | 12178 | ||
12153 | static inline struct subsys_tbl_ent *lookup_by_subsys(struct tg3 *tp) | 12179 | static struct subsys_tbl_ent * __devinit tg3_lookup_by_subsys(struct tg3 *tp) |
12154 | { | 12180 | { |
12155 | int i; | 12181 | int i; |
12156 | 12182 | ||
@@ -12476,7 +12502,7 @@ static int __devinit tg3_phy_probe(struct tg3 *tp) | |||
12476 | /* No eeprom signature? Try the hardcoded | 12502 | /* No eeprom signature? Try the hardcoded |
12477 | * subsys device table. | 12503 | * subsys device table. |
12478 | */ | 12504 | */ |
12479 | p = lookup_by_subsys(tp); | 12505 | p = tg3_lookup_by_subsys(tp); |
12480 | if (!p) | 12506 | if (!p) |
12481 | return -ENODEV; | 12507 | return -ENODEV; |
12482 | 12508 | ||
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index d2712c5b78ec..12ce22644ac8 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h | |||
@@ -56,7 +56,39 @@ | |||
56 | #define TG3PCI_DEVICE_TIGON3_57765 0x16b4 | 56 | #define TG3PCI_DEVICE_TIGON3_57765 0x16b4 |
57 | #define TG3PCI_DEVICE_TIGON3_57791 0x16b2 | 57 | #define TG3PCI_DEVICE_TIGON3_57791 0x16b2 |
58 | #define TG3PCI_DEVICE_TIGON3_57795 0x16b6 | 58 | #define TG3PCI_DEVICE_TIGON3_57795 0x16b6 |
59 | /* 0x04 --> 0x64 unused */ | 59 | /* 0x04 --> 0x2c unused */ |
60 | #define TG3PCI_SUBVENDOR_ID_BROADCOM PCI_VENDOR_ID_BROADCOM | ||
61 | #define TG3PCI_SUBDEVICE_ID_BROADCOM_95700A6 0x1644 | ||
62 | #define TG3PCI_SUBDEVICE_ID_BROADCOM_95701A5 0x0001 | ||
63 | #define TG3PCI_SUBDEVICE_ID_BROADCOM_95700T6 0x0002 | ||
64 | #define TG3PCI_SUBDEVICE_ID_BROADCOM_95700A9 0x0003 | ||
65 | #define TG3PCI_SUBDEVICE_ID_BROADCOM_95701T1 0x0005 | ||
66 | #define TG3PCI_SUBDEVICE_ID_BROADCOM_95701T8 0x0006 | ||
67 | #define TG3PCI_SUBDEVICE_ID_BROADCOM_95701A7 0x0007 | ||
68 | #define TG3PCI_SUBDEVICE_ID_BROADCOM_95701A10 0x0008 | ||
69 | #define TG3PCI_SUBDEVICE_ID_BROADCOM_95701A12 0x8008 | ||
70 | #define TG3PCI_SUBDEVICE_ID_BROADCOM_95703AX1 0x0009 | ||
71 | #define TG3PCI_SUBDEVICE_ID_BROADCOM_95703AX2 0x8009 | ||
72 | #define TG3PCI_SUBVENDOR_ID_3COM PCI_VENDOR_ID_3COM | ||
73 | #define TG3PCI_SUBDEVICE_ID_3COM_3C996T 0x1000 | ||
74 | #define TG3PCI_SUBDEVICE_ID_3COM_3C996BT 0x1006 | ||
75 | #define TG3PCI_SUBDEVICE_ID_3COM_3C996SX 0x1004 | ||
76 | #define TG3PCI_SUBDEVICE_ID_3COM_3C1000T 0x1007 | ||
77 | #define TG3PCI_SUBDEVICE_ID_3COM_3C940BR01 0x1008 | ||
78 | #define TG3PCI_SUBVENDOR_ID_DELL PCI_VENDOR_ID_DELL | ||
79 | #define TG3PCI_SUBDEVICE_ID_DELL_VIPER 0x00d1 | ||
80 | #define TG3PCI_SUBDEVICE_ID_DELL_JAGUAR 0x0106 | ||
81 | #define TG3PCI_SUBDEVICE_ID_DELL_MERLOT 0x0109 | ||
82 | #define TG3PCI_SUBDEVICE_ID_DELL_SLIM_MERLOT 0x010a | ||
83 | #define TG3PCI_SUBVENDOR_ID_COMPAQ PCI_VENDOR_ID_COMPAQ | ||
84 | #define TG3PCI_SUBDEVICE_ID_COMPAQ_BANSHEE 0x007c | ||
85 | #define TG3PCI_SUBDEVICE_ID_COMPAQ_BANSHEE_2 0x009a | ||
86 | #define TG3PCI_SUBDEVICE_ID_COMPAQ_CHANGELING 0x007d | ||
87 | #define TG3PCI_SUBDEVICE_ID_COMPAQ_NC7780 0x0085 | ||
88 | #define TG3PCI_SUBDEVICE_ID_COMPAQ_NC7780_2 0x0099 | ||
89 | #define TG3PCI_SUBVENDOR_ID_IBM PCI_VENDOR_ID_IBM | ||
90 | #define TG3PCI_SUBDEVICE_ID_IBM_5703SAX2 0x0281 | ||
91 | /* 0x30 --> 0x64 unused */ | ||
60 | #define TG3PCI_MSI_DATA 0x00000064 | 92 | #define TG3PCI_MSI_DATA 0x00000064 |
61 | /* 0x66 --> 0x68 unused */ | 93 | /* 0x66 --> 0x68 unused */ |
62 | #define TG3PCI_MISC_HOST_CTRL 0x00000068 | 94 | #define TG3PCI_MISC_HOST_CTRL 0x00000068 |