1 /*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at
9 * http://www.opensource.org/licenses/cddl1.txt.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright (c) 2004-2012 Emulex. All rights reserved.
24 * Use is subject to license terms.
25 * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
26 */
27
28 #ifndef _EMLXS_ADAPTERS_H
29 #define _EMLXS_ADAPTERS_H
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 /* Unique id for each adapter model */
36 typedef enum emlxs_adapter
37 {
38 UNKNOWN_ADAPTER = 0,
39
40 /* DragonFly (1) */
41 LP8000S, /* SBUS */
42 LP8000, /* Generic Single Channel */
43 LP8000DC, /* Generic Dual Channel */
44
45 /* Centaur (4) */
46 LP9002S, /* SBUS */
47 LP9002L,
48 LP9002C,
49 LP9002DC,
50 LP9402DC,
51
52 /* Pegasus (9) */
53 LP9802, /* Generic Single Channel */
54 LP9802DC, /* Generic Dual Channel */
55
56 /* Thor (11) */
57 LP10000, /* Generic Single Channel */
58 LP10000DC, /* Generic Dual Channel */
59 LP10000_O, /* Oracle branded */
60 LP10000DC_O, /* Oracle branded */
61 LP10000ExDC,
62 BLADE_2G,
63
64 /* Helios (17) */
65 LP11000, /* Generic Single Channel */
66 LP11002, /* Generic Dual Channel */
67 LP11000_O, /* Oracle branded */
68 LP11002_O, /* Oracle branded */
69 LP11000_SP, /* Spare */
70 LP11002_SP, /* Spare */
71
72 /* Zephyr (23) */
73 LPe11000, /* Generic Single Channel */
74 LPe1100X, /* Generic Multi Channel */
75 LPe11000_O, /* Oracle branded */
76 LPe11002_O, /* Oracle branded */
77 LPem11002_O, /* Oracle branded */
78 LPe11020_O, /* Oracle branded */
79 LPeA11002_O, /* Oracle branded */
80 LPem11002E_O, /* Oracle branded */
81
82 /* Hornet (31) */
83 LP21000, /* Generic Single Channel */
84 LP21002, /* Generic Dual Channel */
85
86 /* Saturn (33) */
87 LPe12000, /* Generic Single Channel */
88 LPe12002, /* Generic Dual Channel */
89 LPe12000_O, /* Oracle branded */
90 LPe12002_O, /* Oracle branded */
91 LPem12002_O, /* Oracle branded */
92 LPem12002E_O, /* Oracle branded */
93 LPe12000_SP, /* Spare */
94 LPe12002_SP, /* Spare */
95
96 /* BE2 (41) */
97 OCe10101, /* Generic Single Channel */
98 OCe10102, /* Generic Dual Channel */
99
100 /* BE3 (43) */
101 OCe11101, /* Generic Single Channel */
102 OCe11102, /* Generic Dual Channel */
103
104 /* Lancer FC Gen5 HBAs (45) */
105 LPe16000, /* Generic Single Channel FC */
106 LPe1600X, /* Generic Multi Channel FC */
107 LPem16002_FC_O, /* Oracle branded */
108 LPe16002_FC_O, /* Oracle branded */
109 LPe16002_FC_SP1, /* Oracle excluded - Spare */
110 LPe16002_FC_SP2, /* Oracle excluded - Spare */
111
112 /* Lancer FC Gen6 HBAs */
113 LPe31000_M6_L, /* Single port 16Gb, Lenovo-branded */
114 LPe32000, /* Generic Single Channel FC */
115 LPe3200X, /* Generic Multi Channel FC */
116
117 /* Celerity 16 FC Gen5 */
118 CelerityFC161E,
119 CelerityFC162E,
120 CelerityFC164E,
121
122 /* Celerity 16 FC Gen6 */
123 CelerityFC162P,
124 CelerityFC164P,
125 CelerityFC321E,
126 CelerityFC322E,
127
128 /* Lancer FCoE */
129 OCe15100, /* Generic Single Channel FCOE */
130 OCe1510X, /* Generic Multi Channel FCOE */
131 LPem16002_FE_O, /* Oracle branded */
132 LPe16002_FE_O, /* Oracle branded */
133 LPe16002_FE_SP1, /* Oracle excluded - Spare */
134 LPe16002_FE_SP2, /* Oracle excluded - Spare */
135
136 /* BE4 (57) */
137 OCe12104 /* 4-Port 2xNIC +2xFCoE */
138
139 } emlxs_adapter_t;
140
141
142 #define PCI_VENDOR_ID_EMULEX 0x10df
143 #define PCI_VENDOR_ID_ATTO 0x117c
144
145 /* Subsystem Vendor IDs */
146 #define PCI_SSVID_EMULEX 0x10df
147 #define PCI_SSVID_HP 0x103c
148 #define PCI_SSVID_IBM 0x1014
149 #define PCI_SSVID_FUJITSU 0x1734
150 #define PCI_SSVID_CISCO 0x1137
151 #define PCI_SSVID_HITACHI 0x1054
152 #define PCI_SSVID_ATTO 0x117c
153
154
155 /* PCI_DEVICE_IDs & PCI_SSDIDs */
156 /* F800: Dragonfly */
157 #define PCI_DEVICE_ID_DRAGONFLY 0xf800
158 #define PCI_SSDID_LP8000 0xf800
159 #define PCI_SSDID_LP8000DC 0xf800 /* Identified by VPD PN */
160
161 /* F085: Dragonfly SBUS */
162 #define PCI_DEVICE_ID_DRAGONFLY_SBUS 0xf085 /* Identified by "lpfs" */
163 #define PCI_SSDID_LP8000S 0xf085
164
165
166 /* F900: Centaur */
167 #define PCI_DEVICE_ID_CENTAUR 0xf900
168 #define PCI_SSDID_LP9002L 0xf900
169 #define PCI_SSDID_LP9002DC 0xf900 /* Identified by VPD PN */
170 #define PCI_SSDID_LP9002C 0xf900 /* Identified by VPD PN */
171 #define PCI_SSDID_LP9402DC 0xf900 /* Identified by VPD PN */
172
173 /* F095: Centaur SBUS */
174 #define PCI_DEVICE_ID_CENTAUR_SBUS 0xf095 /* Identified by "lpfs" */
175 #define PCI_SSDID_LP9002S 0xf095
176
177
178 /* F980: Pegasus */
179 #define PCI_DEVICE_ID_PEGASUS 0xf980
180 #define PCI_SSDID_LP9802 0xf980
181 #define PCI_SSDID_LP9802DC 0xf980 /* Identified by RAM size */
182
183
184 /* FA00: Thor */
185 #define PCI_DEVICE_ID_THOR 0xfa00
186 #define PCI_SSDID_LP10000 0xfa00
187 #define PCI_SSDID_LP10000DC 0xfa00 /* Identified by VPD PN and */
188 /* by cache_line */
189 #define PCI_SSDID_LP10000ExDC 0xfa00 /* Identified by VPD PN and */
190 /* by cache_line */
191 /* F0A5: Thor Blade */
192 #define PCI_DEVICE_ID_THOR_BLADE 0xf0a5
193 #define PCI_SSDID_BLADE_2G 0xf0a5
194
195 /* FC00: Thor Oracle */
196 #define PCI_DEVICE_ID_THOR_O 0xfc00
197 #define PCI_SSDID_LP10000_O 0xfc00
198 #define PCI_SSDID_LP10000DC_O 0xfc00 /* Identified by cache_line */
199
200
201 /* FD00: Helios */
202 #define PCI_DEVICE_ID_HELIOS 0xfd00
203 #define PCI_SSDID_LP11000 0xfd00
204 #define PCI_SSDID_LP11002 0xfd00 /* Identified by cache_line */
205
206 /* FD11: Helios Spare */
207 #define PCI_DEVICE_ID_LP11000_SP 0xfd11
208 #define PCI_SSDID_LP11000_SP 0xfd11
209
210 /* FD12: Helios Spare */
211 #define PCI_DEVICE_ID_LP11002_SP 0xfd12
212 #define PCI_SSDID_LP11002_SP 0xfd12
213
214 /* FC10: Helios Oracle */
215 #define PCI_DEVICE_ID_HELIOS_O 0xfc10
216 #define PCI_SSDID_LP11000_O 0xfc11
217 #define PCI_SSDID_LP11002_O 0xfc12
218
219
220 /* FE00: Zephyr */
221 #define PCI_DEVICE_ID_ZEPHYR 0xfe00
222 #define PCI_SSDID_LPe11000 0xfe00
223 #define PCI_SSDID_LPe1100X 0xfe00 /* Identified by cache_line */
224
225
226 /* FC20: Zephyr Oracle */
227 #define PCI_DEVICE_ID_ZEPHYR_O 0xfc20
228 #define PCI_SSDID_LPe11000_O 0xfc21
229 #define PCI_SSDID_LPe11002_O 0xfc22
230 #define PCI_SSDID_LPem11002E_O 0xfc23
231 #define PCI_SSDID_LPe11020_O 0xfc2a
232 #define PCI_SSDID_LPeA11002_O 0xfc2d
233 #define PCI_SSDID_LPem11002_O 0xfc2e
234
235
236 /* FE05: Hornet */
237 #define PCI_DEVICE_ID_HORNET 0xfe05
238 #define PCI_SSDID_LP21000 0xfe05
239 #define PCI_SSDID_LP21002 0xfe05 /* Identified by cache_line */
240
241
242 /* F100: Saturn */
243 #define PCI_DEVICE_ID_SATURN 0xf100
244 #define PCI_SSDID_LPe12000 0xf100
245 #define PCI_SSDID_LPe12002 0xf100 /* Identified by cache_line */
246
247 /* F111: Saturn Spare */
248 #define PCI_DEVICE_ID_LPe12000_SP 0xf111
249 #define PCI_SSDID_LPe12000_SP 0xf111
250
251 /* F112: Saturn Spare */
252 #define PCI_DEVICE_ID_LPe12002_SP 0xf112
253 #define PCI_SSDID_LPe12002_SP 0xf112
254
255 /* FC40: Saturn Oracle */
256 #define PCI_DEVICE_ID_SATURN_O 0xfc40
257 #define PCI_SSDID_LPe12000_O 0xfc41
258 #define PCI_SSDID_LPe12002_O 0xfc42
259 #define PCI_SSDID_LPem12002_O 0xfc4e
260 #define PCI_SSDID_LPem12002E_O 0xfc43
261
262
263 /* 0704: BE2 (TigerShark) */
264 #define PCI_DEVICE_ID_BE2 0x0704
265 #define PCI_SSDID_OCe10101 0x0704
266 #define PCI_SSDID_OCe10102 0x0704 /* Identified by cache_line */
267
268
269 /* 0714: BE3 (TomCat) */
270 #define PCI_DEVICE_ID_BE3 0x0714
271 #define PCI_SSDID_OCe11101 0x0714
272 #define PCI_SSDID_OCe11102 0x0714 /* Identified by cache_line */
273
274 /* 0724: BE4 (Skyhawk) */
275 #define PCI_DEVICE_ID_BE4 0x0724
276 #define PCI_SSDID_OCe12104 0xEF81
277
278 /* E200: Lancer FC Gen5 */
279 #define PCI_DEVICE_ID_LANCER_FC 0xE200
280 #define PCI_SSDID_LPe16000 0xE200
281 #define PCI_SSDID_LPe1600X 0xE200 /* Identified by cache_line */
282 #define PCI_SSDID_LPem16002_FC_O 0xE20C
283 #define PCI_SSDID_LPe16002_FC_O 0xE20E
284 #define PCI_SSDID_LPe16002_FC_SP1 0xE217
285 #define PCI_SSDID_LPe16002_FC_SP2 0xE219
286
287 /* E300: Lancer FC Gen6 */
288 #define PCI_DEVICE_ID_LANCER_G6_FC 0xE300
289 #define PCI_SSDID_LPe31000_M6_L 0xE333
290 #define PCI_SSDID_LPe32000 0xE300
291 #define PCI_SSDID_LPe3200X 0xE300
292
293 /* E260: Lancer FCoE */
294 #define PCI_DEVICE_ID_LANCER_FE 0xE260
295 #define PCI_SSDID_OCe15100 0xE260
296 #define PCI_SSDID_OCe1510X 0xE260 /* Identified by cache_line */
297 #define PCI_SSDID_LPem16002_FE_O 0xE20C
298 #define PCI_SSDID_LPe16002_FE_O 0xE20E
299 #define PCI_SSDID_LPe16002_FE_SP1 0xE217
300 #define PCI_SSDID_LPe16002_FE_SP2 0xE219
301
302 /* 0063: ATTO Celerity 16 FC Gen5 */
303 #define PCI_DEVICE_ID_CLRTY_FC_161E 0x0063
304 #define PCI_DEVICE_ID_CLRTY_FC_162E 0x0064
305 #define PCI_DEVICE_ID_CLRTY_FC_164E 0x0065
306 #define PCI_SSDID_CLRTY_FC_161E 0x0063
307 #define PCI_SSDID_CLRTY_FC_162E 0x0064
308 #define PCI_SSDID_CLRTY_FC_164E 0x0065
309
310 /* 0094 ATTO Celerity 16 FC Gen6 */
311 #define PCI_DEVICE_ID_CLRTY_FC_G6 0x0094
312 #define PCI_SSDID_CLRTY_FC_162P 0x0094
313 #define PCI_SSDID_CLRTY_FC_164P 0x00A1
314 #define PCI_SSDID_CLRTY_FC_321E 0x00A2
315 #define PCI_SSDID_CLRTY_FC_322E 0x00A3
316
317
318 /* JEDEC codes */
319 #define FIREFLY_JEDEC_ID 0x1ACC
320 #define SUPERFLY_JEDEC_ID 0x0020
321 #define DRAGONFLY_JEDEC_ID 0x0021
322 #define DRAGONFLY_V2_JEDEC_ID 0x0025
323 #define CENTAUR_2G_JEDEC_ID 0x0026
324 #define CENTAUR_1G_JEDEC_ID 0x0028
325 #define HELIOS_4G_JEDEC_ID 0x0364
326 #define ZEPHYR_4G_JEDEC_ID 0x0577
327 #define NEPTUNE_4G_JEDEC_ID 0x0510
328 #define SATURN_8G_JEDEC_ID 0x1004
329 #define PROTEUS_8G_JEDEC_ID 0x2634
330 #define JEDEC_ID_MASK 0x0FFFF000
331 #define JEDEC_ID_SHIFT 12
332 #define FC_JEDEC_ID(id) ((id & JEDEC_ID_MASK) >> JEDEC_ID_SHIFT)
333
334
335 typedef struct emlxs_model
336 {
337 emlxs_adapter_t id;
338 uint16_t device_id;
339 uint16_t ssdid;
340
341 char model[32];
342 char model_desc[80];
343 char manufacturer[80];
344 uint32_t flags;
345
346 /* flags */
347 #define EMLXS_INTX_SUPPORTED 0x00000001
348 #define EMLXS_MSI_SUPPORTED 0x00000002
349 #define EMLXS_MSIX_SUPPORTED 0x00000004
350 #define EMLXS_E2E_SUPPORTED 0x00000010 /* End-to-end authentication */
351 #define EMLXS_FC_GEN6 0x00000020
352 #define EMLXS_GPIO_LEDS 0x00000040
353 #define EMLXS_ORACLE_BRANDED 0x10000000
354 #define EMLXS_ORACLE_EXCLUDED 0x20000000
355 #define EMLXS_NOT_SUPPORTED 0x80000000
356
357 uint32_t chip;
358
359 /* chip */
360 #define EMLXS_UNKNOWN_CHIP 0x00000000
361 #define EMLXS_DRAGONFLY_CHIP 0x00000001
362 #define EMLXS_CENTAUR_CHIP 0x00000002
363 #define EMLXS_PEGASUS_CHIP 0x00000004
364 #define EMLXS_THOR_CHIP 0x00000008
365 #define EMLXS_HELIOS_CHIP 0x00000010
366 #define EMLXS_ZEPHYR_CHIP 0x00000020
367 #define EMLXS_NEPTUNE_CHIP 0x00000040
368 #define EMLXS_SATURN_CHIP 0x00000080
369 #define EMLXS_PROTEUS_CHIP 0x00000100
370 #define EMLXS_BE2_CHIP 0x00000200
371 #define EMLXS_BE3_CHIP 0x00000400
372 #define EMLXS_BE4_CHIP 0x00000800
373 #define EMLXS_BE_CHIPS (EMLXS_BE2_CHIP|EMLXS_BE3_CHIP|EMLXS_BE4_CHIP)
374 #define EMLXS_LANCER_CHIP 0x00001000
375
376 emlxs_fwid_t fwid;
377 uint32_t intr_limit;
378
379 #define EMLXS_INTR_NO_LIMIT 0x00000000
380 #define EMLXS_INTR_LIMIT1 0x00000001
381 #define EMLXS_INTR_LIMIT2 0x00000002
382 #define EMLXS_INTR_LIMIT4 0x00000004
383 #define EMLXS_INTR_LIMIT8 0x00000008
384 #define EMLXS_INTR_LIMIT16 0x00000010
385
386 uint32_t sli_mask;
387
388 #define EMLXS_SLI0_MASK 0x00000000
389 #define EMLXS_SLI2_MASK 0x00000002
390 #define EMLXS_SLI3_MASK 0x00000004
391 #define EMLXS_SLI4_MASK 0x00000008
392
393 #define EMLXS_SLI_MASK(_mode) ((_mode < 2) ? 0 : (1 << _mode))
394
395 uint32_t channels;
396 #define EMLXS_SINGLE_CHANNEL 1
397 #define EMLXS_MULTI_CHANNEL 2
398
399 uint8_t pt_2[8]; /* stub */
400 uint8_t pt_3[8]; /* boot */
401 uint8_t pt_6[8]; /* SLI1 */
402 uint8_t pt_7[8]; /* SLI2 */
403 uint8_t pt_A[8]; /* SBUS FCODE */
404 uint8_t pt_B[8]; /* SLI3 */
405 uint8_t pt_E[8]; /* SLI4 (old) */
406 uint8_t pt_FF[8]; /* kern */
407 uint8_t pt_20[8];
408 #define NULL_PROG_TYPES {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}
409
410 } emlxs_model_t;
411
412 #ifdef EMLXS_MODEL_DEF
413
414 /* Define the SBUS adapter database */
415 emlxs_model_t emlxs_sbus_model[] =
416 {
417 /* Unknown */
418 {
419 UNKNOWN_ADAPTER,
420 0,
421 0,
422 "unknown",
423 "Unknown Emulex LightPulse FC HBA",
424 "Emulex",
425 EMLXS_NOT_SUPPORTED,
426 EMLXS_UNKNOWN_CHIP,
427 FW_NOT_PROVIDED,
428 EMLXS_INTR_LIMIT1,
429 EMLXS_SLI2_MASK,
430 0,
431 NULL_PROG_TYPES,
432 },
433
434 /* Dragonfly midrange (QFLY) */
435 {
436 LP8000S,
437 PCI_DEVICE_ID_DRAGONFLY_SBUS,
438 PCI_SSDID_LP8000S,
439 "LP8000S",
440 "Emulex LP8000S 1Gb 1-port SBUS FC HBA",
441 "Emulex",
442 EMLXS_INTX_SUPPORTED,
443 EMLXS_DRAGONFLY_CHIP,
444 FW_NOT_PROVIDED,
445 EMLXS_INTR_LIMIT1,
446 EMLXS_SLI2_MASK,
447 EMLXS_SINGLE_CHANNEL,
448 {0x21, 0xB0, 0},
449 {0},
450 {0x31, 0},
451 {0x31, 0x39, 0},
452 {0x01, 0},
453 {0},
454 {0},
455 {0x30, 0},
456 {0}, /* T20 */
457 },
458
459 /* Centaur mid-range (RFLY, Rtaur) */
460 {
461 LP9002S,
462 PCI_DEVICE_ID_CENTAUR_SBUS,
463 PCI_SSDID_LP9002S,
464 "LP9002S",
465 "Emulex LP9002S 2Gb 1-port SBUS FC HBA",
466 "Emulex",
467 EMLXS_INTX_SUPPORTED,
468 EMLXS_CENTAUR_CHIP,
469 FW_NOT_PROVIDED,
470 EMLXS_INTR_LIMIT1,
471 EMLXS_SLI2_MASK,
472 EMLXS_SINGLE_CHANNEL,
473 {0x41, 0xD0, 0},
474 {0},
475 {0x51, 0},
476 {0x51, 0},
477 {0x02, 0},
478 {0},
479 {0},
480 {0x50, 0},
481 {0}, /* T20 */
482 },
483
484 }; /* emlxs_sbus_model[] */
485
486 #define EMLXS_SBUS_MODEL_COUNT \
487 (sizeof (emlxs_sbus_model) / sizeof (emlxs_model_t))
488
489
490 /* Define the PCI adapter database */
491 emlxs_model_t emlxs_pci_model[] =
492 {
493 /* Unknown */
494 {
495 UNKNOWN_ADAPTER,
496 0,
497 0,
498 "unknown",
499 "Unknown Emulex LightPulse FC HBA",
500 "Emulex",
501 EMLXS_NOT_SUPPORTED,
502 EMLXS_UNKNOWN_CHIP,
503 FW_NOT_PROVIDED,
504 EMLXS_INTR_LIMIT1,
505 EMLXS_SLI2_MASK,
506 0,
507 NULL_PROG_TYPES,
508 },
509
510 /* Dragonfly */
511 {
512 LP8000,
513 PCI_DEVICE_ID_DRAGONFLY,
514 PCI_SSDID_LP8000,
515 "LP8000",
516 "Emulex LP8000 1Gb 1-port PCI FC HBA",
517 "Emulex",
518 EMLXS_INTX_SUPPORTED,
519 EMLXS_DRAGONFLY_CHIP,
520 FW_NOT_PROVIDED,
521 EMLXS_INTR_LIMIT1,
522 EMLXS_SLI2_MASK,
523 EMLXS_SINGLE_CHANNEL,
524 {0x21, 0x22, 0x23, 0xA0, 0},
525 {0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0},
526 {0x21, 0x22, 0x23, 0},
527 {0x21, 0x22, 0x23, 0},
528 {0},
529 {0},
530 {0},
531 {0x20, 0},
532 {0}, /* T20 */
533 },
534
535 /* Dragonfly DC */
536 /* !! Must always follow the single channel entry in list */
537 {
538 LP8000DC,
539 PCI_DEVICE_ID_DRAGONFLY,
540 PCI_SSDID_LP8000DC,
541 "LP8000DC",
542 "Emulex LP8000DC 1Gb 2-port PCI FC HBA",
543 "Emulex",
544 EMLXS_INTX_SUPPORTED,
545 EMLXS_DRAGONFLY_CHIP,
546 FW_NOT_PROVIDED,
547 EMLXS_INTR_LIMIT1,
548 EMLXS_SLI2_MASK,
549 EMLXS_MULTI_CHANNEL,
550 {0x21, 0x22, 0x23, 0xA0, 0},
551 {0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0},
552 {0x21, 0x22, 0x23, 0},
553 {0x21, 0x22, 0x23, 0},
554 {0},
555 {0},
556 {0},
557 {0x20, 0},
558 {0}, /* T20 */
559 },
560
561 /* Centaur PCI */
562 {
563 LP9002L,
564 PCI_DEVICE_ID_CENTAUR,
565 PCI_SSDID_LP9002L,
566 "LP9002L",
567 "Emulex LP9002L 2Gb 1-port PCI FC HBA",
568 "Emulex",
569 EMLXS_INTX_SUPPORTED,
570 EMLXS_CENTAUR_CHIP,
571 FW_NOT_PROVIDED,
572 EMLXS_INTR_LIMIT1,
573 EMLXS_SLI2_MASK,
574 EMLXS_SINGLE_CHANNEL,
575 {0x41, 0x43, 0xC0, 0},
576 {0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0},
577 {0x41, 0x43, 0},
578 {0x41, 0x43, 0},
579 {0},
580 {0},
581 {0},
582 {0x40, 0},
583 {0}, /* T20 */
584 },
585
586 /* Centaur cPCI */
587 {
588 LP9002C,
589 PCI_DEVICE_ID_CENTAUR,
590 PCI_SSDID_LP9002C,
591 "LP9002C",
592 "Emulex LP9002C 2Gb 1-port cPCI FC HBA",
593 "Emulex",
594 EMLXS_INTX_SUPPORTED,
595 EMLXS_CENTAUR_CHIP,
596 FW_NOT_PROVIDED,
597 EMLXS_INTR_LIMIT1,
598 EMLXS_SLI2_MASK,
599 EMLXS_SINGLE_CHANNEL,
600 {0x41, 0x43, 0xC0, 0},
601 {0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0},
602 {0x41, 0x43, 0},
603 {0x41, 0x43, 0},
604 {0},
605 {0},
606 {0},
607 {0x40, 0},
608 {0}, /* T20 */
609 },
610
611 /* Centaur DC PCI */
612 /* !! Must always follow the single channel entry in list */
613 {
614 LP9002DC,
615 PCI_DEVICE_ID_CENTAUR,
616 PCI_SSDID_LP9002DC,
617 "LP9002DC",
618 "Emulex LP9002DC 2Gb 2-port PCI FC HBA",
619 "Emulex",
620 EMLXS_INTX_SUPPORTED,
621 EMLXS_CENTAUR_CHIP,
622 FW_NOT_PROVIDED,
623 EMLXS_INTR_LIMIT1,
624 EMLXS_SLI2_MASK,
625 EMLXS_MULTI_CHANNEL,
626 {0x41, 0x43, 0xC0, 0},
627 {0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0},
628 {0x41, 0x43, 0},
629 {0x41, 0x43, 0},
630 {0},
631 {0},
632 {0},
633 {0x40, 0},
634 {0}, /* T20 */
635 },
636
637 /* Centaur DC PCI-X */
638 /* !! Must always follow the single channel entry in list */
639 {
640 LP9402DC,
641 PCI_DEVICE_ID_CENTAUR,
642 PCI_SSDID_LP9402DC,
643 "LP9402DC",
644 "Emulex LP9402DC 2Gb 2-port PCI-X FC HBA",
645 "Emulex",
646 EMLXS_INTX_SUPPORTED,
647 EMLXS_CENTAUR_CHIP,
648 FW_NOT_PROVIDED,
649 EMLXS_INTR_LIMIT1,
650 EMLXS_SLI2_MASK,
651 EMLXS_MULTI_CHANNEL,
652 {0x41, 0x43, 0xC0, 0},
653 {0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0},
654 {0x41, 0x43, 0},
655 {0x41, 0x43, 0},
656 {0},
657 {0},
658 {0},
659 {0x40, 0},
660 {0}, /* T20 */
661 },
662
663 /* Pegasus */
664 {
665 LP9802,
666 PCI_DEVICE_ID_PEGASUS,
667 PCI_SSDID_LP9802,
668 "LP9802",
669 "Emulex LP9802 2Gb 1-port PCI-X FC HBA",
670 "Emulex",
671 EMLXS_INTX_SUPPORTED,
672 EMLXS_PEGASUS_CHIP,
673 FW_NOT_PROVIDED,
674 EMLXS_INTR_LIMIT1,
675 EMLXS_SLI2_MASK,
676 EMLXS_SINGLE_CHANNEL,
677 {0x63, 0xE0, 0},
678 {0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0},
679 {0x63, 0},
680 {0x63, 0},
681 {0},
682 {0x63, 0},
683 {0},
684 {0x60, 0},
685 {0}, /* T20 */
686 },
687
688 /* Pegasus DC */
689 /* !! Must always follow the single channel entry in list */
690 {
691 LP9802DC,
692 PCI_DEVICE_ID_PEGASUS,
693 PCI_SSDID_LP9802DC,
694 "LP9802DC",
695 "Emulex LP9802DC 2Gb 2-port PCI-X FC HBA",
696 "Emulex",
697 EMLXS_INTX_SUPPORTED,
698 EMLXS_PEGASUS_CHIP,
699 FW_NOT_PROVIDED,
700 EMLXS_INTR_LIMIT1,
701 EMLXS_SLI2_MASK,
702 EMLXS_MULTI_CHANNEL,
703 {0x61, 0xE0, 0},
704 {0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0},
705 {0x61, 0},
706 {0x61, 0},
707 {0},
708 {0x61, 0},
709 {0},
710 {0x60, 0},
711 {0}, /* T20 */
712 },
713
714 /* Thor */
715 {
716 LP10000,
717 PCI_DEVICE_ID_THOR,
718 PCI_SSDID_LP10000,
719 "LP10000",
720 "Emulex LP10000 2Gb 1-port PCI-X FC HBA",
721 "Emulex",
722 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
723 EMLXS_THOR_CHIP,
724 LP10000_FW,
725 EMLXS_INTR_LIMIT1,
726 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
727 EMLXS_SINGLE_CHANNEL,
728 {0x81, 0x83, 0x88, 0},
729 {0x81, 0x82, 0x83, 0x85, 0x86, 0x87, 0},
730 {0x81, 0x83, 0},
731 {0x81, 0x83, 0},
732 {0},
733 {0x81, 0x83, 0},
734 {0},
735 {0x80, 0},
736 {0}, /* T20 */
737 },
738
739 /* Thor DC */
740 /* !! Must always follow the single channel entry in list */
741 {
742 LP10000DC,
743 PCI_DEVICE_ID_THOR,
744 PCI_SSDID_LP10000DC,
745 "LP10000DC",
746 "Emulex LP10000DC 2Gb 2-port PCI-X FC HBA",
747 "Emulex",
748 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
749 EMLXS_THOR_CHIP,
750 LP10000_FW,
751 EMLXS_INTR_LIMIT1,
752 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
753 EMLXS_MULTI_CHANNEL,
754 {0x81, 0x83, 0x88, 0},
755 {0x81, 0x82, 0x83, 0x85, 0x86, 0x87, 0},
756 {0x81, 0x83, 0},
757 {0x81, 0x83, 0},
758 {0},
759 {0x81, 0x83, 0},
760 {0},
761 {0x80, 0},
762 {0}, /* T20 */
763 },
764
765 /* Thor DC express */
766 /* !! Must always follow the single channel entry in list */
767 {
768 LP10000ExDC,
769 PCI_DEVICE_ID_THOR,
770 PCI_SSDID_LP10000ExDC,
771 "LP10000ExDC",
772 "Emulex LP10000ExDC 2Gb 2-port PCIe FC HBA",
773 "Emulex",
774 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
775 EMLXS_THOR_CHIP,
776 LP10000_FW,
777 EMLXS_INTR_LIMIT1,
778 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
779 EMLXS_MULTI_CHANNEL,
780 {0x81, 0x83, 0x88, 0},
781 {0x81, 0x82, 0x83, 0x85, 0x86, 0x87, 0},
782 {0x81, 0x83, 0},
783 {0x81, 0x83, 0},
784 {0},
785 {0x81, 0x83, 0},
786 {0},
787 {0x80, 0},
788 {0}, /* T20 */
789 },
790
791 /* Thor (Oracle Rainbow-E1) */
792 {
793 LP10000_O,
794 PCI_DEVICE_ID_THOR_O,
795 PCI_SSDID_LP10000_O,
796 "LP10000-S",
797 "Emulex LP10000-S 2Gb 1-port PCI-X FC HBA",
798 "Emulex",
799 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
800 EMLXS_MSI_SUPPORTED,
801 EMLXS_THOR_CHIP,
802 LP10000_FW,
803 EMLXS_INTR_LIMIT1,
804 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
805 EMLXS_SINGLE_CHANNEL,
806 {0x83, 0x88, 0},
807 {0x82, 0x84, 0},
808 {0x83, 0},
809 {0x83, 0},
810 {0},
811 {0x83, 0},
812 {0},
813 {0x80, 0},
814 {0}, /* T20 */
815 },
816
817 /* Thor DC (Oracle Rainbow-E2) */
818 /* !! Must always follow the single channel entry in list */
819 {
820 LP10000DC_O,
821 PCI_DEVICE_ID_THOR_O,
822 PCI_SSDID_LP10000DC_O,
823 "LP10000DC-S",
824 "Emulex LP10000DC-S 2Gb 2-port PCI-X FC HBA",
825 "Emulex",
826 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
827 EMLXS_MSI_SUPPORTED,
828 EMLXS_THOR_CHIP,
829 LP10000_FW,
830 EMLXS_INTR_LIMIT1,
831 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
832 EMLXS_MULTI_CHANNEL,
833 {0x83, 0x88, 0},
834 {0x82, 0x84, 0},
835 {0x83, 0},
836 {0x83, 0},
837 {0},
838 {0x83, 0},
839 {0},
840 {0x80, 0},
841 {0}, /* T20 */
842 },
843
844 /* Thor mid-range (MiniThor) */
845 {
846 BLADE_2G,
847 PCI_DEVICE_ID_THOR_BLADE,
848 PCI_SSDID_BLADE_2G,
849 "2G Blade Adapter",
850 "Emulex 2G 2-port Blade PCI-X FC HBA",
851 "Emulex",
852 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
853 EMLXS_THOR_CHIP,
854 FW_NOT_PROVIDED,
855 EMLXS_INTR_LIMIT1,
856 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
857 EMLXS_MULTI_CHANNEL,
858 {0x98, 0},
859 {0x91, 0x92, 0x93, 0x95, 0x96, 0x97, 0},
860 {0x91, 0},
861 {0x91, 0},
862 {0},
863 {0x91, 0},
864 {0},
865 {0x90, 0},
866 {0}, /* T20 */
867 },
868
869 /* Helios */
870 {
871 LP11000,
872 PCI_DEVICE_ID_HELIOS,
873 PCI_SSDID_LP11000,
874 "LP11000",
875 "Emulex LP11000 4Gb 1-port PCI-X2 FC HBA",
876 "Emulex",
877 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
878 EMLXS_HELIOS_CHIP,
879 LP11000_FW,
880 EMLXS_INTR_LIMIT1,
881 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
882 EMLXS_SINGLE_CHANNEL,
883 {0xC3, 0xC8, 0},
884 {0xC1, 0xC2, 0xC3, 0xC5, 0xC6, 0xC7, 0},
885 {0xC3, 0},
886 {0xC3, 0},
887 {0},
888 {0xC3, 0},
889 {0},
890 {0xC0, 0},
891 {0}, /* T20 */
892 },
893
894 /* Helios DC */
895 /* !! Must always follow the single channel entry in list */
896 {
897 LP11002,
898 PCI_DEVICE_ID_HELIOS,
899 PCI_SSDID_LP11002,
900 "LP11002",
901 "Emulex LP11002 4Gb 2-port PCI-X2 FC HBA",
902 "Emulex",
903 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
904 EMLXS_HELIOS_CHIP,
905 LP11002_FW,
906 EMLXS_INTR_LIMIT1,
907 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
908 EMLXS_MULTI_CHANNEL,
909 {0xC1, 0xC8, 0},
910 {0xC1, 0xC2, 0xC3, 0xC5, 0xC6, 0xC7, 0},
911 {0xC1, 0},
912 {0xC1, 0},
913 {0},
914 {0xC1, 0},
915 {0},
916 {0xC0, 0},
917 {0}, /* T20 */
918 },
919
920 /* Helios (Oracle Pyramid-E1) */
921 {
922 LP11000_O,
923 PCI_DEVICE_ID_HELIOS_O,
924 PCI_SSDID_LP11000_O,
925 "LP11000-S",
926 "Emulex LP11000-S 4Gb 1-port PCI-X2 FC HBA",
927 "Emulex",
928 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
929 EMLXS_MSI_SUPPORTED,
930 EMLXS_HELIOS_CHIP,
931 LP11000_FW,
932 EMLXS_INTR_LIMIT1,
933 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
934 EMLXS_SINGLE_CHANNEL,
935 {0xC3, 0xC8, 0},
936 {0xC4, 0},
937 {0xC3, 0},
938 {0xC3, 0},
939 {0},
940 {0xC3, 0},
941 {0},
942 {0xC0, 0},
943 {0}, /* T20 */
944 },
945
946 /* Helios DC (Oracle Pyramid-E2) */
947 {
948 LP11002_O,
949 PCI_DEVICE_ID_HELIOS_O,
950 PCI_SSDID_LP11002_O,
951 "LP11002-S",
952 "Emulex LP11002-S 4Gb 2-port PCI-X2 FC HBA",
953 "Emulex",
954 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
955 EMLXS_MSI_SUPPORTED,
956 EMLXS_HELIOS_CHIP,
957 LP11002_FW,
958 EMLXS_INTR_LIMIT1,
959 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
960 EMLXS_MULTI_CHANNEL,
961 {0xC1, 0xC8, 0},
962 {0xC4, 0},
963 {0xC1, 0},
964 {0xC1, 0},
965 {0},
966 {0xC1, 0},
967 {0},
968 {0xC0, 0},
969 {0}, /* T20 */
970 },
971
972 /* Helios Enterprise (Spare) */
973 {
974 LP11000_SP,
975 PCI_DEVICE_ID_LP11000_SP,
976 PCI_SSDID_LP11000_SP,
977 "LP11000",
978 "Emulex LP11000 4Gb 1-port PCI-X2 FC HBA",
979 "Emulex",
980 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
981 EMLXS_HELIOS_CHIP,
982 LP11000_FW,
983 EMLXS_INTR_LIMIT1,
984 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
985 EMLXS_SINGLE_CHANNEL,
986 {0xC3, 0xC8, 0},
987 {0xC1, 0xC2, 0xC3, 0xC5, 0xC6, 0xC7, 0},
988 {0xC3, 0},
989 {0xC3, 0},
990 {0},
991 {0xC3, 0},
992 {0},
993 {0xC0, 0},
994 {0}, /* T20 */
995 },
996
997 /* Helios DC Enterprise (Spare) */
998 {
999 LP11002_SP,
1000 PCI_DEVICE_ID_LP11002_SP,
1001 PCI_SSDID_LP11002_SP,
1002 "LP11002",
1003 "Emulex LP11002 4Gb 2-port PCI-X2 FC HBA",
1004 "Emulex",
1005 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1006 EMLXS_HELIOS_CHIP,
1007 LP11002_FW,
1008 EMLXS_INTR_LIMIT1,
1009 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1010 EMLXS_MULTI_CHANNEL,
1011 {0xC1, 0xC8, 0},
1012 {0xC1, 0xC2, 0xC3, 0xC5, 0xC6, 0xC7, 0},
1013 {0xC1, 0},
1014 {0xC1, 0},
1015 {0},
1016 {0xC1, 0},
1017 {0},
1018 {0xC0, 0},
1019 {0}, /* T20 */
1020 },
1021
1022 /* Zephyr */
1023 {
1024 LPe11000,
1025 PCI_DEVICE_ID_ZEPHYR,
1026 PCI_SSDID_LPe11000,
1027 "LPe11000",
1028 "Emulex LPe11000 4Gb 1-port PCIe FC HBA",
1029 "Emulex",
1030 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1031 EMLXS_ZEPHYR_CHIP,
1032 LPe11000_FW,
1033 EMLXS_INTR_NO_LIMIT,
1034 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1035 EMLXS_SINGLE_CHANNEL,
1036 {0xE3, 0xE8, 0},
1037 {0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
1038 {0xE3, 0},
1039 {0xE3, 0},
1040 {0},
1041 {0xE3, 0},
1042 {0},
1043 {0xE0, 0},
1044 {0}, /* T20 */
1045 },
1046
1047 /* Zephyr */
1048 /* !! Must always follow the single channel entry in list */
1049 {
1050 LPe1100X,
1051 PCI_DEVICE_ID_ZEPHYR,
1052 PCI_SSDID_LPe1100X,
1053 "LPe11000",
1054 "Emulex LPe11000 4Gb Multi-port PCIe FC HBA",
1055 "Emulex",
1056 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1057 EMLXS_ZEPHYR_CHIP,
1058 LPe11002_FW,
1059 EMLXS_INTR_NO_LIMIT,
1060 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1061 EMLXS_MULTI_CHANNEL,
1062 {0xE1, 0xE8, 0},
1063 {0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
1064 {0xE1, 0},
1065 {0xE1, 0},
1066 {0},
1067 {0xE1, 0},
1068 {0},
1069 {0xE0, 0},
1070 {0}, /* T20 */
1071 },
1072
1073 /* Zephyr Hornet */
1074 {
1075 LP21000,
1076 PCI_DEVICE_ID_HORNET,
1077 PCI_SSDID_LP21000,
1078 "LP21000",
1079 "Emulex LP21000 10GE 1-port PCIe FCoE HBA",
1080 "Emulex",
1081 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1082 EMLXS_ZEPHYR_CHIP,
1083 FW_NOT_PROVIDED,
1084 EMLXS_INTR_NO_LIMIT,
1085 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1086 EMLXS_SINGLE_CHANNEL,
1087 {0x50, 0},
1088 {0x59, 0x5A, 0x5B, 0x5D, 0x5E, 0x5F, 0},
1089 {0},
1090 {0x53, 0x59, 0},
1091 {0},
1092 {0x53, 0x59, 0},
1093 {0},
1094 {0x58, 0},
1095 {0}, /* T20 */
1096 },
1097
1098 /* Zephyr Hornet DC */
1099 /* !! Must always follow the single channel entry in list */
1100 {
1101 LP21002,
1102 PCI_DEVICE_ID_HORNET,
1103 PCI_SSDID_LP21002,
1104 "LP21002",
1105 "Emulex LP21002 10GE 2-port PCIe FCoE HBA",
1106 "Emulex",
1107 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1108 EMLXS_ZEPHYR_CHIP,
1109 FW_NOT_PROVIDED,
1110 EMLXS_INTR_NO_LIMIT,
1111 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1112 EMLXS_MULTI_CHANNEL,
1113 {0x50, 0},
1114 {0x59, 0x5A, 0x5B, 0x5D, 0x5E, 0x5F, 0},
1115 {0},
1116 {0x53, 0x59, 0},
1117 {0},
1118 {0x53, 0x59, 0},
1119 {0},
1120 {0x58, 0},
1121 {0}, /* T20 */
1122 },
1123
1124 /* Zephyr (Oracle Summit-E1) */
1125 {
1126 LPe11000_O,
1127 PCI_DEVICE_ID_ZEPHYR_O,
1128 PCI_SSDID_LPe11000_O,
1129 "LPe11000-S",
1130 "Emulex LPe11000-S 4Gb 1-port PCIe FC HBA",
1131 "Emulex",
1132 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1133 EMLXS_MSI_SUPPORTED,
1134 EMLXS_ZEPHYR_CHIP,
1135 LPe11000_FW,
1136 EMLXS_INTR_NO_LIMIT,
1137 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1138 EMLXS_SINGLE_CHANNEL,
1139 {0xE3, 0xE8, 0},
1140 {0xE4, 0},
1141 {0xE3, 0},
1142 {0xE3, 0},
1143 {0},
1144 {0xE3, 0},
1145 {0},
1146 {0xE0, 0},
1147 {0}, /* T20 */
1148 },
1149
1150 /* Zephyr DC (Oracle Summit-E2) */
1151 /* !! Must always follow the single channel entry in list */
1152 {
1153 LPe11002_O,
1154 PCI_DEVICE_ID_ZEPHYR_O,
1155 PCI_SSDID_LPe11002_O,
1156 "LPe11002-S",
1157 "Emulex LPe11002-S 4Gb 2-port PCIe FC HBA",
1158 "Emulex",
1159 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1160 EMLXS_MSI_SUPPORTED,
1161 EMLXS_ZEPHYR_CHIP,
1162 LPe11002_FW,
1163 EMLXS_INTR_NO_LIMIT,
1164 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1165 EMLXS_MULTI_CHANNEL,
1166 {0xE1, 0xE8, 0},
1167 {0xE4, 0},
1168 {0xE1, 0},
1169 {0xE1, 0},
1170 {0},
1171 {0xE1, 0},
1172 {0},
1173 {0xE0, 0},
1174 {0}, /* T20 */
1175 },
1176
1177 /* Zephyr NEM (Oracle Janus) */
1178 /* !! Must always follow the single channel entry in list */
1179 {
1180 LPe11020_O,
1181 PCI_DEVICE_ID_ZEPHYR_O,
1182 PCI_SSDID_LPe11020_O,
1183 "LPe11020-S",
1184 "Emulex LPe11020-S 4Gb 20-port PCIe FC HBA",
1185 "Emulex",
1186 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1187 EMLXS_MSI_SUPPORTED,
1188 EMLXS_ZEPHYR_CHIP,
1189 LPe11002_FW,
1190 EMLXS_INTR_NO_LIMIT,
1191 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1192 EMLXS_MULTI_CHANNEL,
1193 {0xE1, 0xE8, 0},
1194 {0xE4, 0},
1195 {0xE1, 0},
1196 {0xE1, 0},
1197 {0},
1198 {0xE1, 0},
1199 {0},
1200 {0xE0, 0},
1201 {0}, /* T20 */
1202 },
1203
1204 /* Zephyr Express Module (Oracle TitanE) */
1205 /* !! Must always follow the single channel entry in list */
1206 {
1207 LPem11002_O,
1208 PCI_DEVICE_ID_ZEPHYR_O,
1209 PCI_SSDID_LPem11002_O,
1210 "LPem11002-S",
1211 "Emulex LPem11002-S 4Gb 2-port PCIe FC HBA",
1212 "Emulex",
1213 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1214 EMLXS_MSI_SUPPORTED,
1215 EMLXS_ZEPHYR_CHIP,
1216 LPe11002_FW,
1217 EMLXS_INTR_NO_LIMIT,
1218 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1219 EMLXS_MULTI_CHANNEL,
1220 {0xE1, 0xE8, 0},
1221 {0xE4, 0},
1222 {0xE1, 0},
1223 {0xE1, 0},
1224 {0},
1225 {0xE1, 0},
1226 {0},
1227 {0xE0, 0},
1228 {0}, /* T20 */
1229 },
1230
1231 /* Zephyr Express Module (Oracle Elara) */
1232 /* !! Must always follow the single channel entry in list */
1233 {
1234 LPem11002E_O,
1235 PCI_DEVICE_ID_ZEPHYR_O,
1236 PCI_SSDID_LPem11002E_O,
1237 "LPem11002E-S",
1238 "Emulex LPem11002E-S 4Gb 2-port FC & 2-port 1GE PCIe HBA",
1239 "Emulex",
1240 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1241 EMLXS_MSI_SUPPORTED,
1242 EMLXS_ZEPHYR_CHIP,
1243 LPe11002_FW,
1244 EMLXS_INTR_NO_LIMIT,
1245 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1246 EMLXS_MULTI_CHANNEL,
1247 {0xE1, 0xE8, 0},
1248 {0xE4, 0},
1249 {0xE1, 0},
1250 {0xE1, 0},
1251 {0},
1252 {0xE1, 0},
1253 {0},
1254 {0xE0, 0},
1255 {0}, /* T20 */
1256 },
1257
1258 /* Zephyr AMC (Oracle Helene/Dione) */
1259 /* !! Must always follow the single channel entry in list */
1260 {
1261 LPeA11002_O,
1262 PCI_DEVICE_ID_ZEPHYR_O,
1263 PCI_SSDID_LPeA11002_O,
1264 "LPeA11002-S",
1265 "Emulex LPeA11002-S 4Gb 2-port PCIe FC HBA",
1266 "Emulex",
1267 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1268 EMLXS_MSI_SUPPORTED,
1269 EMLXS_ZEPHYR_CHIP,
1270 LPe11002_FW,
1271 EMLXS_INTR_NO_LIMIT,
1272 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1273 EMLXS_MULTI_CHANNEL,
1274 {0xE1, 0xE8, 0},
1275 {0xE4, 0},
1276 {0xE1, 0},
1277 {0xE1, 0},
1278 {0},
1279 {0xE1, 0},
1280 {0},
1281 {0xE0, 0},
1282 {0}, /* T20 */
1283 },
1284
1285 /* Saturn */
1286 {
1287 LPe12000,
1288 PCI_DEVICE_ID_SATURN,
1289 PCI_SSDID_LPe12000,
1290 "LPe12000",
1291 "Emulex LPe12000 8Gb 1-port PCIe FC HBA",
1292 "Emulex",
1293 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1294 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1295 EMLXS_SATURN_CHIP,
1296 LPe12000_FW,
1297 EMLXS_INTR_NO_LIMIT,
1298 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1299 EMLXS_SINGLE_CHANNEL,
1300 {0x78, 0},
1301 {0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1302 {0},
1303 {0x73, 0x79, 0},
1304 {0},
1305 {0x73, 0x79, 0},
1306 {0},
1307 {0x78, 0},
1308 {0}, /* T20 */
1309 },
1310
1311 /* Saturn DC */
1312 /* !! Must always follow the single channel entry in list */
1313 {
1314 LPe12002,
1315 PCI_DEVICE_ID_SATURN,
1316 PCI_SSDID_LPe12002,
1317 "LPe12002",
1318 "Emulex LPe12002 8Gb 2-port PCIe FC HBA",
1319 "Emulex",
1320 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1321 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1322 EMLXS_SATURN_CHIP,
1323 LPe12000_FW,
1324 EMLXS_INTR_NO_LIMIT,
1325 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1326 EMLXS_MULTI_CHANNEL,
1327 {0x78, 0},
1328 {0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1329 {0},
1330 {0x73, 0x79, 0},
1331 {0},
1332 {0x73, 0x79, 0},
1333 {0},
1334 {0x78, 0},
1335 {0}, /* T20 */
1336 },
1337
1338 /* Saturn (Oracle) */
1339 {
1340 LPe12000_O,
1341 PCI_DEVICE_ID_SATURN_O,
1342 PCI_SSDID_LPe12000_O,
1343 "LPe12000-S",
1344 "Emulex LPe12000-S 8Gb 1-port PCIe FC HBA",
1345 "Emulex",
1346 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1347 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1348 EMLXS_E2E_SUPPORTED,
1349 EMLXS_SATURN_CHIP,
1350 LPe12000_FW,
1351 EMLXS_INTR_NO_LIMIT,
1352 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1353 EMLXS_SINGLE_CHANNEL,
1354 {0x78, 0},
1355 {0x7C, 0},
1356 {0},
1357 {0x73, 0},
1358 {0},
1359 {0x73, 0},
1360 {0},
1361 {0x78, 0},
1362 {0}, /* T20 */
1363 },
1364
1365 /* Saturn DC (Oracle) */
1366 {
1367 LPe12002_O,
1368 PCI_DEVICE_ID_SATURN_O,
1369 PCI_SSDID_LPe12002_O,
1370 "LPe12002-S",
1371 "Emulex LPe12002-S 8Gb 2-port PCIe FC HBA",
1372 "Emulex",
1373 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1374 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1375 EMLXS_E2E_SUPPORTED,
1376 EMLXS_SATURN_CHIP,
1377 LPe12000_FW,
1378 EMLXS_INTR_NO_LIMIT,
1379 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1380 EMLXS_MULTI_CHANNEL,
1381 {0x78, 0},
1382 {0x7C, 0},
1383 {0},
1384 {0x73, 0},
1385 {0},
1386 {0x73, 0},
1387 {0},
1388 {0x78, 0},
1389 {0}, /* T20 */
1390 },
1391
1392 /* Saturn Express Module (Oracle) */
1393 {
1394 LPem12002_O,
1395 PCI_DEVICE_ID_SATURN_O,
1396 PCI_SSDID_LPem12002_O,
1397 "LPem12002-S",
1398 "Emulex LPem12002-S 8Gb 2-port PCIe FC HBA",
1399 "Emulex",
1400 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1401 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1402 EMLXS_E2E_SUPPORTED,
1403 EMLXS_SATURN_CHIP,
1404 LPe12000_FW,
1405 EMLXS_INTR_NO_LIMIT,
1406 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1407 EMLXS_MULTI_CHANNEL,
1408 {0x78, 0},
1409 {0x7C, 0},
1410 {0},
1411 {0x73, 0},
1412 {0},
1413 {0x73, 0},
1414 {0},
1415 {0x78, 0},
1416 {0}, /* T20 */
1417 },
1418
1419 /* Saturn Express Module (Oracle Metis) */
1420 {
1421 LPem12002E_O,
1422 PCI_DEVICE_ID_SATURN_O,
1423 PCI_SSDID_LPem12002E_O,
1424 "LPem12002E-S",
1425 "Emulex LPem12002E-S 8Gb 2-port PCIe FC HBA",
1426 "Emulex",
1427 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1428 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1429 EMLXS_E2E_SUPPORTED,
1430 EMLXS_SATURN_CHIP,
1431 LPe12000_FW,
1432 EMLXS_INTR_NO_LIMIT,
1433 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1434 EMLXS_MULTI_CHANNEL,
1435 {0x78, 0},
1436 {0x7C, 0},
1437 {0},
1438 {0x73, 0},
1439 {0},
1440 {0x73, 0},
1441 {0},
1442 {0x78, 0},
1443 {0}, /* T20 */
1444 },
1445
1446 /* Saturn */
1447 {
1448 LPe12000_SP,
1449 PCI_DEVICE_ID_LPe12000_SP,
1450 PCI_SSDID_LPe12000_SP,
1451 "LPe12000",
1452 "Emulex LPe12000 8Gb 1-port PCIe FC HBA",
1453 "Emulex",
1454 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1455 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1456 EMLXS_SATURN_CHIP,
1457 LPe12000_FW,
1458 EMLXS_INTR_NO_LIMIT,
1459 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1460 EMLXS_SINGLE_CHANNEL,
1461 {0x78, 0},
1462 {0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1463 {0},
1464 {0x73, 0},
1465 {0},
1466 {0x73, 0},
1467 {0},
1468 {0x78, 0},
1469 {0}, /* T20 */
1470 },
1471
1472 /* Saturn DC */
1473 {
1474 LPe12002_SP,
1475 PCI_DEVICE_ID_LPe12002_SP,
1476 PCI_SSDID_LPe12002_SP,
1477 "LPe12002",
1478 "Emulex LPe12002 8Gb 2-port PCIe FC HBA",
1479 "Emulex",
1480 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1481 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1482 EMLXS_SATURN_CHIP,
1483 LPe12000_FW,
1484 EMLXS_INTR_NO_LIMIT,
1485 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1486 EMLXS_MULTI_CHANNEL,
1487 {0x78, 0},
1488 {0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1489 {0},
1490 {0x73, 0},
1491 {0},
1492 {0x73, 0},
1493 {0},
1494 {0x78, 0},
1495 {0}, /* T20 */
1496 },
1497
1498 /* BE2 (Tigershark) */
1499 {
1500 OCe10101,
1501 PCI_DEVICE_ID_BE2,
1502 PCI_SSDID_OCe10101,
1503 "OCe10101",
1504 "Emulex OneConnect OCe10101 10Gb 1-port FCoE HBA",
1505 "Emulex",
1506 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1507 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1508 EMLXS_BE2_CHIP,
1509 FW_NOT_PROVIDED,
1510 EMLXS_INTR_NO_LIMIT,
1511 EMLXS_SLI4_MASK,
1512 EMLXS_SINGLE_CHANNEL,
1513 NULL_PROG_TYPES,
1514 },
1515
1516 /* BE2 DC (Tigershark) */
1517 /* !! Must always follow the single channel entry in list */
1518 {
1519 OCe10102,
1520 PCI_DEVICE_ID_BE2,
1521 PCI_SSDID_OCe10102,
1522 "OCe10102",
1523 "Emulex OneConnect OCe10102 10Gb 2-port FCoE HBA",
1524 "Emulex",
1525 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1526 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1527 EMLXS_BE2_CHIP,
1528 FW_NOT_PROVIDED,
1529 EMLXS_INTR_NO_LIMIT,
1530 EMLXS_SLI4_MASK,
1531 EMLXS_MULTI_CHANNEL,
1532 NULL_PROG_TYPES,
1533 },
1534
1535 /* BE3 (TomCat) */
1536 {
1537 OCe11101,
1538 PCI_DEVICE_ID_BE3,
1539 PCI_SSDID_OCe11101,
1540 "OCe11101",
1541 "Emulex OneConnect OCe11101 10Gb 1-port FCoE HBA",
1542 "Emulex",
1543 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1544 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1545 EMLXS_BE3_CHIP,
1546 FW_NOT_PROVIDED,
1547 EMLXS_INTR_NO_LIMIT,
1548 EMLXS_SLI4_MASK,
1549 EMLXS_SINGLE_CHANNEL,
1550 NULL_PROG_TYPES,
1551 },
1552
1553 /* BE3 DC (Tomcat) */
1554 /* !! Must always follow the single channel entry in list */
1555 {
1556 OCe11102,
1557 PCI_DEVICE_ID_BE3,
1558 PCI_SSDID_OCe11102,
1559 "OCe11102",
1560 "Emulex OneConnect OCe11102 10Gb 2-port FCoE HBA",
1561 "Emulex",
1562 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1563 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1564 EMLXS_BE3_CHIP,
1565 FW_NOT_PROVIDED,
1566 EMLXS_INTR_NO_LIMIT,
1567 EMLXS_SLI4_MASK,
1568 EMLXS_MULTI_CHANNEL,
1569 NULL_PROG_TYPES,
1570 },
1571
1572 /* Lancer FC (Generic) */
1573 {
1574 LPe16000,
1575 PCI_DEVICE_ID_LANCER_FC,
1576 PCI_SSDID_LPe16000,
1577 "LPe16000",
1578 "Emulex LightPulse LPe16000 16Gb 1-port FC HBA",
1579 "Emulex",
1580 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1581 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1582 EMLXS_LANCER_CHIP,
1583 FW_NOT_PROVIDED,
1584 EMLXS_INTR_NO_LIMIT,
1585 EMLXS_SLI4_MASK,
1586 EMLXS_SINGLE_CHANNEL,
1587 NULL_PROG_TYPES,
1588 },
1589
1590 /* Lancer FC (Generic Multi-Channel) */
1591 /* !! Must always follow the single channel entry in list */
1592 {
1593 LPe1600X,
1594 PCI_DEVICE_ID_LANCER_FC,
1595 PCI_SSDID_LPe1600X,
1596 "LPe16000",
1597 "Emulex LightPulse LPe16000 16Gb Multi-port FC HBA",
1598 "Emulex",
1599 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1600 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1601 EMLXS_LANCER_CHIP,
1602 FW_NOT_PROVIDED,
1603 EMLXS_INTR_NO_LIMIT,
1604 EMLXS_SLI4_MASK,
1605 EMLXS_MULTI_CHANNEL,
1606 NULL_PROG_TYPES,
1607 },
1608
1609 /* Lancer FC DC Express Module (Oracle Ganymede) */
1610 {
1611 LPem16002_FC_O,
1612 PCI_DEVICE_ID_LANCER_FC,
1613 PCI_SSDID_LPem16002_FC_O,
1614 "LPem16002-M6-O",
1615 "Emulex LightPulse LPem16002-M6-O 16Gb 2-port FC HBA",
1616 "Emulex",
1617 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1618 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1619 EMLXS_E2E_SUPPORTED,
1620 EMLXS_LANCER_CHIP,
1621 FW_NOT_PROVIDED,
1622 EMLXS_INTR_NO_LIMIT,
1623 EMLXS_SLI4_MASK,
1624 EMLXS_MULTI_CHANNEL,
1625 NULL_PROG_TYPES,
1626 },
1627
1628 /* Lancer FC DC (Oracle Ganymede) */
1629 {
1630 LPe16002_FC_O,
1631 PCI_DEVICE_ID_LANCER_FC,
1632 PCI_SSDID_LPe16002_FC_O,
1633 "LPe16002-M6-O",
1634 "Emulex LightPulse LPe16002-M6-O 16Gb 2-port FC HBA",
1635 "Emulex",
1636 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1637 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1638 EMLXS_E2E_SUPPORTED,
1639 EMLXS_LANCER_CHIP,
1640 FW_NOT_PROVIDED,
1641 EMLXS_INTR_NO_LIMIT,
1642 EMLXS_SLI4_MASK,
1643 EMLXS_MULTI_CHANNEL,
1644 NULL_PROG_TYPES,
1645 },
1646
1647 /* Lancer FC DC (Oracle Excluded - Spare 1) */
1648 {
1649 LPe16002_FC_SP1,
1650 PCI_DEVICE_ID_LANCER_FC,
1651 PCI_SSDID_LPe16002_FC_SP1,
1652 "LPe16002",
1653 "Emulex LightPulse LPe16002 16Gb 2-port FC HBA",
1654 "Emulex",
1655 EMLXS_ORACLE_EXCLUDED | EMLXS_INTX_SUPPORTED |
1656 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1657 EMLXS_E2E_SUPPORTED,
1658 EMLXS_LANCER_CHIP,
1659 FW_NOT_PROVIDED,
1660 EMLXS_INTR_NO_LIMIT,
1661 EMLXS_SLI4_MASK,
1662 EMLXS_MULTI_CHANNEL,
1663 NULL_PROG_TYPES,
1664 },
1665
1666 /* Lancer FC DC (Oracle Excluded - Spare 2) */
1667 {
1668 LPe16002_FC_SP2,
1669 PCI_DEVICE_ID_LANCER_FC,
1670 PCI_SSDID_LPe16002_FC_SP2,
1671 "LPe16002",
1672 "Emulex LightPulse LPe16002 16Gb 2-port FC HBA",
1673 "Emulex",
1674 EMLXS_ORACLE_EXCLUDED | EMLXS_INTX_SUPPORTED |
1675 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1676 EMLXS_E2E_SUPPORTED,
1677 EMLXS_LANCER_CHIP,
1678 FW_NOT_PROVIDED,
1679 EMLXS_INTR_NO_LIMIT,
1680 EMLXS_SLI4_MASK,
1681 EMLXS_MULTI_CHANNEL,
1682 NULL_PROG_TYPES,
1683 },
1684
1685 /* Lancer Gen6 16Gb FC Single-port, Lenovo-branded */
1686 {
1687 LPe31000_M6_L,
1688 PCI_DEVICE_ID_LANCER_G6_FC,
1689 PCI_SSDID_LPe31000_M6_L,
1690 "LPe31000",
1691 "PCI_SSDID_LPe31000_M6_L",
1692 "Emulex",
1693 EMLXS_INTX_SUPPORTED |
1694 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1695 EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1696 EMLXS_LANCER_CHIP,
1697 FW_NOT_PROVIDED,
1698 EMLXS_INTR_NO_LIMIT,
1699 EMLXS_SLI4_MASK,
1700 EMLXS_SINGLE_CHANNEL,
1701 NULL_PROG_TYPES,
1702 },
1703
1704 /* Lancer Gen6 FC (Generic) */
1705 {
1706 LPe32000,
1707 PCI_DEVICE_ID_LANCER_G6_FC,
1708 PCI_SSDID_LPe32000,
1709 "LPe32000",
1710 "Emulex LightPulse LPe32000 32Gb 1-port FC HBA",
1711 "Emulex",
1712 EMLXS_INTX_SUPPORTED |
1713 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1714 EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1715 EMLXS_LANCER_CHIP,
1716 FW_NOT_PROVIDED,
1717 EMLXS_INTR_NO_LIMIT,
1718 EMLXS_SLI4_MASK,
1719 EMLXS_SINGLE_CHANNEL,
1720 NULL_PROG_TYPES,
1721 },
1722
1723 /* Lancer Gen6 FC (Generic Multi-Channel) */
1724 /* !! Must always follow the single channel entry in list */
1725 {
1726 LPe3200X,
1727 PCI_DEVICE_ID_LANCER_G6_FC,
1728 PCI_SSDID_LPe3200X,
1729 "LPe32000",
1730 "Emulex LightPulse LPe32000 32Gb Multi-port FC HBA",
1731 "Emulex",
1732 EMLXS_INTX_SUPPORTED |
1733 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1734 EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1735 EMLXS_LANCER_CHIP,
1736 FW_NOT_PROVIDED,
1737 EMLXS_INTR_NO_LIMIT,
1738 EMLXS_SLI4_MASK,
1739 EMLXS_MULTI_CHANNEL,
1740 NULL_PROG_TYPES,
1741 },
1742
1743 /* ATTO Celerity 161E */
1744 {
1745 CelerityFC161E,
1746 PCI_DEVICE_ID_CLRTY_FC_161E,
1747 PCI_SSDID_CLRTY_FC_161E,
1748 "Celerity FC 161E",
1749 "ATTO Celerity 161E Single-Channel FC HBA",
1750 "ATTO Technology",
1751 EMLXS_INTX_SUPPORTED |
1752 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1753 EMLXS_E2E_SUPPORTED | EMLXS_GPIO_LEDS,
1754 EMLXS_LANCER_CHIP,
1755 FW_NOT_PROVIDED,
1756 EMLXS_INTR_NO_LIMIT,
1757 EMLXS_SLI4_MASK,
1758 EMLXS_SINGLE_CHANNEL,
1759 NULL_PROG_TYPES,
1760 },
1761
1762 /* ATTO Celerity 162E */
1763 {
1764 CelerityFC162E,
1765 PCI_DEVICE_ID_CLRTY_FC_162E,
1766 PCI_SSDID_CLRTY_FC_162E,
1767 "Celerity FC 162E",
1768 "ATTO Celerity 162E Dual-Channel FC HBA",
1769 "ATTO Technology",
1770 EMLXS_INTX_SUPPORTED |
1771 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1772 EMLXS_E2E_SUPPORTED | EMLXS_GPIO_LEDS,
1773 EMLXS_LANCER_CHIP,
1774 FW_NOT_PROVIDED,
1775 EMLXS_INTR_NO_LIMIT,
1776 EMLXS_SLI4_MASK,
1777 EMLXS_SINGLE_CHANNEL,
1778 NULL_PROG_TYPES,
1779 },
1780
1781 /* ATTO Celerity 164E */
1782 {
1783 CelerityFC164E,
1784 PCI_DEVICE_ID_CLRTY_FC_164E,
1785 PCI_SSDID_CLRTY_FC_164E,
1786 "Celerity FC 164E",
1787 "ATTO Celerity 164E Quad-Channel FC HBA",
1788 "ATTO Technology",
1789 EMLXS_INTX_SUPPORTED |
1790 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1791 EMLXS_E2E_SUPPORTED | EMLXS_GPIO_LEDS,
1792 EMLXS_LANCER_CHIP,
1793 FW_NOT_PROVIDED,
1794 EMLXS_INTR_NO_LIMIT,
1795 EMLXS_SLI4_MASK,
1796 EMLXS_SINGLE_CHANNEL,
1797 NULL_PROG_TYPES,
1798 },
1799
1800 /* ATTO Celerity 162P */
1801 {
1802 CelerityFC162P,
1803 PCI_DEVICE_ID_CLRTY_FC_G6,
1804 PCI_SSDID_CLRTY_FC_162P,
1805 "Celerity FC 162P",
1806 "ATTO Celerity 162P Dual-Channel FC HBA",
1807 "ATTO Technology",
1808 EMLXS_INTX_SUPPORTED |
1809 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1810 EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1811 EMLXS_LANCER_CHIP,
1812 FW_NOT_PROVIDED,
1813 EMLXS_INTR_NO_LIMIT,
1814 EMLXS_SLI4_MASK,
1815 EMLXS_SINGLE_CHANNEL,
1816 NULL_PROG_TYPES,
1817 },
1818
1819 /* ATTO Celerity 164P */
1820 {
1821 CelerityFC164P,
1822 PCI_DEVICE_ID_CLRTY_FC_G6,
1823 PCI_SSDID_CLRTY_FC_164P,
1824 "Celerity FC 164P",
1825 "ATTO Celerity 164P Quad-Channel FC HBA",
1826 "ATTO Technology",
1827 EMLXS_INTX_SUPPORTED |
1828 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1829 EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1830 EMLXS_LANCER_CHIP,
1831 FW_NOT_PROVIDED,
1832 EMLXS_INTR_NO_LIMIT,
1833 EMLXS_SLI4_MASK,
1834 EMLXS_SINGLE_CHANNEL,
1835 NULL_PROG_TYPES,
1836 },
1837
1838 /* ATTO Celerity 321E */
1839 {
1840 CelerityFC321E,
1841 PCI_DEVICE_ID_CLRTY_FC_G6,
1842 PCI_SSDID_CLRTY_FC_321E,
1843 "Celerity FC 321E",
1844 "ATTO Celerity 321E Single-Channel FC HBA",
1845 "ATTO Technology",
1846 EMLXS_INTX_SUPPORTED |
1847 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1848 EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1849 EMLXS_LANCER_CHIP,
1850 FW_NOT_PROVIDED,
1851 EMLXS_INTR_NO_LIMIT,
1852 EMLXS_SLI4_MASK,
1853 EMLXS_SINGLE_CHANNEL,
1854 NULL_PROG_TYPES,
1855 },
1856
1857 /* ATTO Celerity 322E */
1858 {
1859 CelerityFC322E,
1860 PCI_DEVICE_ID_CLRTY_FC_G6,
1861 PCI_SSDID_CLRTY_FC_322E,
1862 "Celerity FC 322E",
1863 "ATTO Celerity 322E Dual-Channel FC HBA",
1864 "ATTO Technology",
1865 EMLXS_INTX_SUPPORTED |
1866 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1867 EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1868 EMLXS_LANCER_CHIP,
1869 FW_NOT_PROVIDED,
1870 EMLXS_INTR_NO_LIMIT,
1871 EMLXS_SLI4_MASK,
1872 EMLXS_SINGLE_CHANNEL,
1873 NULL_PROG_TYPES,
1874 },
1875
1876 /* Lancer FCOE (Generic) */
1877 {
1878 OCe15100,
1879 PCI_DEVICE_ID_LANCER_FE,
1880 PCI_SSDID_OCe15100,
1881 "OCe15100",
1882 "Emulex OneConnect OCe15100 10Gb 1-port FCoE HBA",
1883 "Emulex",
1884 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1885 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1886 EMLXS_LANCER_CHIP,
1887 FW_NOT_PROVIDED,
1888 EMLXS_INTR_NO_LIMIT,
1889 EMLXS_SLI4_MASK,
1890 EMLXS_SINGLE_CHANNEL,
1891 NULL_PROG_TYPES,
1892 },
1893
1894 /* Lancer FCOE (Generic Multi-Channel) */
1895 /* !! Must always follow the single channel entry in list */
1896 {
1897 OCe1510X,
1898 PCI_DEVICE_ID_LANCER_FE,
1899 PCI_SSDID_OCe1510X,
1900 "OCe15100",
1901 "Emulex OneConnect OCe15100 10Gb Multi-port FCoE HBA",
1902 "Emulex",
1903 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1904 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1905 EMLXS_LANCER_CHIP,
1906 FW_NOT_PROVIDED,
1907 EMLXS_INTR_NO_LIMIT,
1908 EMLXS_SLI4_MASK,
1909 EMLXS_MULTI_CHANNEL,
1910 NULL_PROG_TYPES,
1911 },
1912
1913 /* Lancer FCOE DC Express Module (Oracle Ganymede) */
1914 {
1915 LPem16002_FE_O,
1916 PCI_DEVICE_ID_LANCER_FE,
1917 PCI_SSDID_LPem16002_FE_O,
1918 "LPem16002-M6-O",
1919 "Emulex OneConnect LPem16002-M6-O 10Gb 2-port FCoE HBA",
1920 "Emulex",
1921 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1922 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1923 EMLXS_E2E_SUPPORTED,
1924 EMLXS_LANCER_CHIP,
1925 FW_NOT_PROVIDED,
1926 EMLXS_INTR_NO_LIMIT,
1927 EMLXS_SLI4_MASK,
1928 EMLXS_MULTI_CHANNEL,
1929 NULL_PROG_TYPES,
1930 },
1931
1932 /* Lancer FCOE DC (Oracle Ganymede) */
1933 {
1934 LPe16002_FE_O,
1935 PCI_DEVICE_ID_LANCER_FE,
1936 PCI_SSDID_LPe16002_FE_O,
1937 "LPe16002-M6-O",
1938 "Emulex OneConnect LPe16002-M6-O 10Gb 2-port FCoE HBA",
1939 "Emulex",
1940 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1941 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1942 EMLXS_E2E_SUPPORTED,
1943 EMLXS_LANCER_CHIP,
1944 FW_NOT_PROVIDED,
1945 EMLXS_INTR_NO_LIMIT,
1946 EMLXS_SLI4_MASK,
1947 EMLXS_MULTI_CHANNEL,
1948 NULL_PROG_TYPES,
1949 },
1950
1951 /* Lancer FCOE DC (Oracle Excluded - Spare 1) */
1952 {
1953 LPe16002_FE_SP1,
1954 PCI_DEVICE_ID_LANCER_FE,
1955 PCI_SSDID_LPe16002_FE_SP1,
1956 "LPe16002",
1957 "Emulex OneConnect LPe16002 10Gb 2-port FCoE HBA",
1958 "Emulex",
1959 EMLXS_ORACLE_EXCLUDED | EMLXS_INTX_SUPPORTED |
1960 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1961 EMLXS_E2E_SUPPORTED,
1962 EMLXS_LANCER_CHIP,
1963 FW_NOT_PROVIDED,
1964 EMLXS_INTR_NO_LIMIT,
1965 EMLXS_SLI4_MASK,
1966 EMLXS_MULTI_CHANNEL,
1967 NULL_PROG_TYPES,
1968 },
1969
1970 /* Lancer FCOE DC (Oracle Excluded - Spare 2) */
1971 {
1972 LPe16002_FE_SP2,
1973 PCI_DEVICE_ID_LANCER_FE,
1974 PCI_SSDID_LPe16002_FE_SP2,
1975 "LPe16002",
1976 "Emulex OneConnect LPe16002 10Gb 2-port FCoE HBA",
1977 "Emulex",
1978 EMLXS_ORACLE_EXCLUDED | EMLXS_INTX_SUPPORTED |
1979 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1980 EMLXS_E2E_SUPPORTED,
1981 EMLXS_LANCER_CHIP,
1982 FW_NOT_PROVIDED,
1983 EMLXS_INTR_NO_LIMIT,
1984 EMLXS_SLI4_MASK,
1985 EMLXS_MULTI_CHANNEL,
1986 NULL_PROG_TYPES,
1987 },
1988
1989 /* BE4 (Skyhawk) */
1990 {
1991 OCe12104,
1992 PCI_DEVICE_ID_BE4,
1993 PCI_SSDID_OCe12104,
1994 "OCe12104",
1995 "Emulex OneConnect OCe12104 10Gb 2-port FCoE HBA",
1996 "Emulex",
1997 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1998 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1999 EMLXS_BE4_CHIP,
2000 FW_NOT_PROVIDED,
2001 EMLXS_INTR_NO_LIMIT,
2002 EMLXS_SLI4_MASK,
2003 EMLXS_MULTI_CHANNEL,
2004 NULL_PROG_TYPES,
2005 },
2006
2007 }; /* emlxs_pci_model[] */
2008
2009 int emlxs_pci_model_count =
2010 (sizeof (emlxs_pci_model) / sizeof (emlxs_model_t));
2011
2012 #endif /* EMLXS_MODEL_DEF */
2013
2014 #ifdef __cplusplus
2015 }
2016 #endif
2017
2018 #endif /* _EMLXS_ADAPTERS_H */