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