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 usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
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 2008 Emulex.  All rights reserved.
24  * Use is subject to License terms.
25  */
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 	UNKNOWN_ADAPTER = 0,
38 
39 	/* Dragon Fly (1) */
40 	LP8000S,
41 	LP8000,
42 	LP8000DC,
43 
44 	/* Centaur (4) */
45 	LP9002S,
46 	LP9002L,
47 	LP9002C,
48 	LP9002DC,
49 	LP9402DC,
50 
51 	/* Pegasus (9) */
52 	LP9802,
53 	LP9802DC,
54 
55 	/* Thor (11) */
56 	LP10000,
57 	LP10000_S,
58 	LP10000DC,
59 	LP10000DC_S,
60 	LP10000ExDC,
61 	BLADE_2G,
62 
63 	/* Helios (17) */
64 	LP11000,
65 	LP11000_S,
66 	LP11002,
67 	LP11002_S,
68 	LP11000_SP,
69 	LP11002_SP,
70 
71 	/* Zephyr (23) */
72 	LPe11000_M4,
73 	LPe11000_S,
74 	LPe11002_M4,
75 	LPe11002_S,
76 	LPe1105_HP,
77 	LPe1105_M,
78 	LPe1105_M4,
79 
80 	LPem11002_M4,
81 	LPem11002_S,
82 	BX600_FC42E,
83 	LPe11020_S,
84 	LPeA11002_S,
85 	LPe11000_SP,
86 	LPe11002_SP,
87 	LPe1105_SP,
88 	LPem11002E_S,
89 	LPe11004_M4,
90 
91 	LP21000_M,
92 	LP21002_M,
93 	LP21000_C,
94 	LP21002_C,
95 
96 	/* Neptune (44) */
97 	LPe1000_F4,
98 	LPe1002_F4,
99 	LPe1000_SP,
100 	LPe1002_SP,
101 
102 	/* Saturn (48) */
103 	LPe12000_M8,
104 	LPe12002_M8,
105 	LPe12000_S,
106 	LPe12002_S,
107 	LPe12020_S,
108 	LPem12002_M8,
109 	LPem12002_S,
110 	LPe1205_BC,
111 	LPe1205_BU,
112 	LPe1205_M8,
113 	LPe1205_N,
114 	LPe1205_HP,
115 	BX900_FC82E,
116 	LPe12000_SP,
117 	LPe12002_SP,
118 	LPe1205_SP1,
119 	LPe1205_SP2,
120 	LPe1205_SP3
121 
122 } emlxs_adapter_t;
123 
124 /* Unique id for each firmware image */
125 /* These will match the generic adapter id */
126 typedef enum emlxs_firmware {
127 	FW_NOT_PROVIDED = 0,
128 	LP10000_FW = LP10000,
129 	LP11000_FW = LP11000,
130 	LP11002_FW = LP11002,
131 	LPe11000_FW = LPe11000_M4,
132 	LPe11002_FW = LPe11002_M4,
133 	LPe12000_FW = LPe12000_M8
134 
135 } emlxs_firmware_t;
136 
137 
138 #define	PCI_VENDOR_ID_EMULEX		0x10df
139 
140 /* PCI Device IDs */
141 #define	PCI_DEVICE_ID_LP8000		0xf800
142 #define	PCI_DEVICE_ID_LP8000DC		0xf800	/* Identified by VPD PN */
143 #define	  PCI_SSDID_LP8000		0xf800
144 #define	  PCI_SSDID_LP8000DC		0xf800
145 
146 #define	PCI_DEVICE_ID_LP8000S		0xf085	/* Identified by "lpfs" */
147 						/* driver alias */
148 #define	  PCI_SSDID_LP8000S		0xf085
149 
150 #define	PCI_DEVICE_ID_LP9002L		0xf900
151 #define	PCI_DEVICE_ID_LP9002DC		0xf900	/* Identified by VPD PN */
152 #define	PCI_DEVICE_ID_LP9002C		0xf900	/* Identified by VPD PN */
153 #define	PCI_DEVICE_ID_LP9402DC		0xf900	/* Identified by VPD PN */
154 #define	  PCI_SSDID_LP9002L		0xf900
155 #define	  PCI_SSDID_LP9002DC		0xf900
156 #define	  PCI_SSDID_LP9002C		0xf900
157 #define	  PCI_SSDID_LP9402DC		0xf900
158 
159 #define	PCI_DEVICE_ID_LP9002S		0xf095	/* Identified by "lpfs" */
160 						/* driver alias */
161 #define	  PCI_SSDID_LP9002S		0xf095
162 
163 #define	PCI_DEVICE_ID_LP9802		0xf980
164 #define	PCI_DEVICE_ID_LP9802DC		0xf980	/* Identified by RAM size */
165 #define	  PCI_SSDID_LP9802		0xf980
166 #define	  PCI_SSDID_LP9802DC		0xf980
167 
168 #define	PCI_DEVICE_ID_LP10000		0xfa00
169 #define	PCI_DEVICE_ID_LP10000DC		0xfa00	/* Identified by VPD PN and */
170 						/* cache_line reg */
171 #define	PCI_DEVICE_ID_LP10000ExDC	0xfa00	/* Identified by VPD PN and */
172 						/* cache_line reg */
173 #define	  PCI_SSDID_LP10000		0xfa00
174 #define	  PCI_SSDID_LP10000DC		0xfa00
175 #define	  PCI_SSDID_LP10000ExDC		0xfa00
176 
177 #define	PCI_DEVICE_ID_BLADE_2G		0xf0a5
178 #define	  PCI_SSDID_BLADE_2G		0xf0a5
179 
180 #define	PCI_DEVICE_ID_LP11000		0xfd00
181 #define	PCI_DEVICE_ID_LP11002		0xfd00	/* Identified by cache_line */
182 						/* reg */
183 #define	  PCI_SSDID_LP11000		0xfd00
184 #define	  PCI_SSDID_LP11002		0xfd00
185 
186 #define	PCI_DEVICE_ID_LPe11000_M4	0xfe00
187 #define	PCI_DEVICE_ID_LPe11002_M4	0xfe00	/* Identified cache_line reg */
188 #define	PCI_DEVICE_ID_LPe11004_M4	0xfe00	/* Unable to differentiate */
189 						/* from LPe11002 */
190 #define	PCI_DEVICE_ID_LPe1105_HP	0xfe00	/* Identified by SSDID and */
191 						/* cache_line reg */
192 #define	PCI_DEVICE_ID_LPe1105_M		0xfe00	/* Identified by SSDID and */
193 						/* cache_line reg */
194 #define	PCI_DEVICE_ID_LPe1105_M4	0xfe00	/* Identified by SSDID and */
195 						/* cache_line reg */
196 #define	PCI_DEVICE_ID_BX600_FC42E	0xfe00	/* Identified by SSDID and */
197 						/* cache_line reg */
198 #define	PCI_DEVICE_ID_LPem11002_M4	0xfe00	/* Identified by SSDID and */
199 						/* cache_line reg */
200 #define	  PCI_SSDID_LPe11000_M4		0xfe00
201 #define	  PCI_SSDID_LPe11002_M4		0xfe00
202 #define	  PCI_SSDID_LPe11004_M4		0xfe00
203 #define	  PCI_SSDID_LPe1105_HP		0x1708
204 #define	  PCI_SSDID_LPe1105_M		0xfe22
205 #define	  PCI_SSDID_BX600_FC42E		0xfe23
206 #define	  PCI_SSDID_LPe1105_M4		0xfe24
207 #define	  PCI_SSDID_LPem11002_M4	0xfe2e
208 
209 #define	PCI_DEVICE_ID_LP21000_M		0xfe05
210 #define	PCI_DEVICE_ID_LP21002_M		0xfe05	/* Identified by SSDID and */
211 						/* cache_line reg */
212 #define	PCI_DEVICE_ID_LP21000_C		0xfe05	/* Unable to differentiate */
213 						/* from LP21000_M */
214 #define	PCI_DEVICE_ID_LP21002_C		0xfe05	/* Unable to differentiate */
215 						/* from LP21002_M */
216 #define	  PCI_SSDID_LP21000_M		0xfe05
217 #define	  PCI_SSDID_LP21002_M		0xfe05
218 #define	  PCI_SSDID_LP21000_C		0xfe05
219 #define	  PCI_SSDID_LP21002_C		0xfe05
220 
221 #define	PCI_DEVICE_ID_LPe1000_F4	0xf0f5
222 #define	PCI_DEVICE_ID_LPe1002_F4	0xf0f5	/* Identified by cache_line */
223 						/* reg */
224 #define	  PCI_SSDID_LPe1000_F4		0xf0f5
225 #define	  PCI_SSDID_LPe1002_F4		0xf0f5
226 
227 #define	PCI_DEVICE_ID_LPe12000_M8	0xf100
228 #define	PCI_DEVICE_ID_LPe12002_M8	0xf100	/* Identified cache_line reg */
229 #define	PCI_DEVICE_ID_LPem12002_M8	0xf100	/* Identified by SSDID and */
230 						/* cache_line reg */
231 #define	PCI_DEVICE_ID_LPe1205_BC	0xf100	/* Identified by SSDID and */
232 						/* cache_line reg */
233 #define	PCI_DEVICE_ID_LPe1205_BU	0xf100	/* Identified by SSDID and */
234 						/* cache_line reg */
235 #define	PCI_DEVICE_ID_LPe1205_M8	0xf100	/* Identified by SSDID and */
236 						/* cache_line reg */
237 #define	PCI_DEVICE_ID_LPe1205_N		0xf100	/* Identified by SSDID and */
238 						/* cache_line reg */
239 #define	PCI_DEVICE_ID_LPe1205_HP	0xf100	/* Identified by SSDID and */
240 						/* cache_line reg */
241 #define	PCI_DEVICE_ID_BX900_FC82E	0xf100	/* Identified by SSDID and */
242 						/* cache_line reg */
243 #define	  PCI_SSDID_LPe12000_M8		0xf100
244 #define	  PCI_SSDID_LPe12002_M8		0xf100
245 #define	  PCI_SSDID_LPem12002_M8	0xf12e
246 #define	  PCI_SSDID_LPe1205_BC		0xf124
247 #define	  PCI_SSDID_LPe1205_BU		0xf125
248 #define	  PCI_SSDID_LPe1205_M8		0xf126
249 #define	  PCI_SSDID_LPe1205_N		0xf127
250 #define	  PCI_SSDID_LPe1205_HP		0x1719
251 #define	  PCI_SSDID_BX900_FC82E		0x113c
252 
253 
254 /* Sun branded adapters */
255 #define	PCI_DEVICE_ID_LP10000_S		0xfc00
256 #define	PCI_DEVICE_ID_LP10000DC_S	0xfc00	/* Identified by cache_line */
257 						/* reg */
258 #define	  PCI_SSDID_LP10000_S		0xfc00
259 #define	  PCI_SSDID_LP10000DC_S		0xfc00
260 
261 #define	PCI_DEVICE_ID_LP11000_S		0xfc10
262 #define	PCI_DEVICE_ID_LP11002_S		0xfc10	/* Identified by SSDID and */
263 						/* cache_line reg */
264 #define	  PCI_SSDID_LP11000_S		0xfc11
265 #define	  PCI_SSDID_LP11002_S		0xfc12
266 
267 #define	PCI_DEVICE_ID_LPe11000_S	0xfc20
268 #define	PCI_DEVICE_ID_LPe11002_S	0xfc20	/* Identified by SSDID and */
269 						/* cache_line reg */
270 #define	PCI_DEVICE_ID_LPe11020_S	0xfc20	/* Identified by SSDID and */
271 						/* cache_line reg */
272 #define	PCI_DEVICE_ID_LPeA11002_S	0xfc20	/* Identified by SSDID and */
273 						/* cache_line reg */
274 #define	PCI_DEVICE_ID_LPem11002_S	0xfc20	/* Identified by SSDID and */
275 						/* cache_line reg */
276 #define	PCI_DEVICE_ID_LPem11002E_S	0xfc20	/* Identified by SSDID and */
277 						/* cache_line reg */
278 #define	  PCI_SSDID_LPe11000_S		0xfc21
279 #define	  PCI_SSDID_LPe11002_S		0xfc22
280 #define	  PCI_SSDID_LPem11002E_S	0xfc23
281 #define	  PCI_SSDID_LPe11020_S		0xfc2a
282 #define	  PCI_SSDID_LPeA11002_S		0xfc2d
283 #define	  PCI_SSDID_LPem11002_S		0xfc2e
284 
285 #define	PCI_DEVICE_ID_LPe12000_S	0xfc40
286 #define	PCI_DEVICE_ID_LPe12002_S	0xfc40	/* Identified cache_line reg */
287 #define	PCI_DEVICE_ID_LPem12002_S	0xfc40	/* Identified by SSDID and */
288 						/* cache_line reg */
289 #define	PCI_DEVICE_ID_LPe12020_S	0xfc40	/* Identified by SSDID and */
290 						/* cache_line reg */
291 #define	  PCI_SSDID_LPe12000_S		0xfc41
292 #define	  PCI_SSDID_LPe12002_S		0xfc42
293 #define	  PCI_SSDID_LPe12020_S		0xfc4a
294 #define	  PCI_SSDID_LPem12002_S		0xfc4e
295 
296 
297 /* Spare IDs */
298 #define	PCI_DEVICE_ID_LPe1000_SP	0xf0f6
299 #define	  PCI_SSDID_LPe1000_SP		0xf0f6
300 
301 #define	PCI_DEVICE_ID_LPe1002_SP	0xf0f7
302 #define	  PCI_SSDID_LPe1002_SP		0xf0f7
303 
304 #define	PCI_DEVICE_ID_LP11000_SP	0xfd11
305 #define	  PCI_SSDID_LP11000_SP		0xfd11
306 
307 #define	PCI_DEVICE_ID_LP11002_SP	0xfd12
308 #define	  PCI_SSDID_LP11002_SP		0xfd12
309 
310 #define	PCI_DEVICE_ID_LPe1105_SP	0xfe25
311 #define	  PCI_SSDID_LPe1105_SP		0xfe25
312 
313 #define	PCI_DEVICE_ID_LPe11000_SP	0xfe11
314 #define	  PCI_SSDID_LPe11000_SP		0xfe11
315 
316 #define	PCI_DEVICE_ID_LPe11002_SP	0xfe12
317 #define	  PCI_SSDID_LPe11002_SP		0xfe12
318 
319 #define	PCI_DEVICE_ID_LPe12000_SP	0xf111
320 #define	PCI_DEVICE_ID_LPe12002_SP	0xf112
321 #define	  PCI_SSDID_LPe12000_SP		0xf111
322 #define	  PCI_SSDID_LPe12002_SP		0xf112
323 
324 #define	PCI_DEVICE_ID_LPe1205_SP1	0xf100
325 #define	PCI_DEVICE_ID_LPe1205_SP2	0xf100
326 #define	PCI_DEVICE_ID_LPe1205_SP3	0xf100
327 #define	  PCI_SSDID_LPe1205_SP1		0xf12a
328 #define	  PCI_SSDID_LPe1205_SP2		0xf12b
329 #define	  PCI_SSDID_LPe1205_SP3		0xf12c
330 
331 
332 /* JEDEC codes */
333 #define	FIREFLY_JEDEC_ID		0x1ACC
334 #define	SUPERFLY_JEDEC_ID		0x0020
335 #define	DRAGONFLY_JEDEC_ID		0x0021
336 #define	DRAGONFLY_V2_JEDEC_ID		0x0025
337 #define	CENTAUR_2G_JEDEC_ID		0x0026
338 #define	CENTAUR_1G_JEDEC_ID		0x0028
339 #define	HELIOS_4G_JEDEC_ID		0x0364
340 #define	ZEPHYR_4G_JEDEC_ID		0x0577
341 #define	NEPTUNE_4G_JEDEC_ID		0x0510
342 #define	SATURN_8G_JEDEC_ID		0x1004
343 #define	JEDEC_ID_MASK			0x0FFFF000
344 #define	JEDEC_ID_SHIFT			12
345 #define	FC_JEDEC_ID(id)			((id & JEDEC_ID_MASK) >> JEDEC_ID_SHIFT)
346 
347 
348 
349 typedef struct emlxs_model {
350 	emlxs_adapter_t id;
351 	uint16_t device_id;
352 	uint16_t ssdid;
353 
354 	char model[32];
355 	char model_desc[80];
356 	char manufacturer[80];
357 	uint32_t flags;
358 
359 	/* flags */
360 #define	EMLXS_INTX_SUPPORTED		0x00000001
361 #define	EMLXS_MSI_SUPPORTED		0x00000002
362 #define	EMLXS_MSIX_SUPPORTED		0x00000004
363 #define	EMLXS_E2E_SUPPORTED		0x00000010 /* End-to-end auth */
364 #define	EMLXS_SUN_BRANDED		0x10000000
365 #define	EMLXS_NOT_SUPPORTED		0x80000000
366 
367 	uint32_t chip;
368 
369 	/* chip */
370 #define	EMLXS_UNKNOWN_CHIP		0x00000000
371 #define	EMLXS_DRAGONFLY_CHIP		0x00000001
372 #define	EMLXS_CENTAUR_CHIP		0x00000002
373 #define	EMLXS_PEGASUS_CHIP		0x00000004
374 #define	EMLXS_THOR_CHIP			0x00000008
375 #define	EMLXS_HELIOS_CHIP		0x00000010
376 #define	EMLXS_ZEPHYR_CHIP		0x00000020
377 #define	EMLXS_NEPTUNE_CHIP		0x00000040
378 #define	EMLXS_SATURN_CHIP		0x00000080
379 
380 	emlxs_firmware_t fwid;
381 	uint32_t intr_limit;
382 
383 #define	EMLXS_INTR_NO_LIMIT		0x00000000
384 #define	EMLXS_INTR_LIMIT1		0x00000001
385 #define	EMLXS_INTR_LIMIT2		0x00000002
386 #define	EMLXS_INTR_LIMIT4		0x00000004
387 #define	EMLXS_INTR_LIMIT8		0x00000008
388 #define	EMLXS_INTR_LIMIT16		0x00000010
389 
390 	uint32_t channels;
391 	uint8_t pt_2[8];
392 	uint8_t pt_3[8];
393 	uint8_t pt_6[8];
394 	uint8_t pt_7[8];
395 	uint8_t pt_A[8];
396 	uint8_t pt_B[8];
397 	uint8_t pt_E[8];
398 	uint8_t pt_FF[8];
399 
400 } emlxs_model_t;
401 
402 typedef struct emlxs_image {
403 	emlxs_firmware_t id;
404 	char *label;
405 	uint8_t *buffer;
406 	uint32_t size;
407 	uint32_t kern;
408 	uint32_t stub;
409 	uint32_t sli1;
410 	uint32_t sli2;
411 	uint32_t sli3;
412 	uint32_t sli4;
413 
414 } emlxs_image_t;
415 
416 extern emlxs_image_t emlxs_fw_image[];
417 
418 
419 #ifdef EMLXS_MODEL_DEF
420 
421 /* Define the firmware image database */
422 #include <fw_lp10000.h>
423 #include <fw_lp11000.h>
424 #include <fw_lp11002.h>
425 
426 #ifdef S10S11
427 #include <fw_lpe11000.h>
428 #include <fw_lpe11002.h>
429 #include <fw_lpe12000.h>
430 #endif	/* S10S11 */
431 
432 emlxs_image_t emlxs_fw_image[] = {
433 
434 	/* LP10000 */
435 	{
436 		LP10000_FW,
437 		emlxs_lp10000_fw,
438 		emlxs_lp10000_image,
439 		emlxs_lp10000_size,
440 		emlxs_lp10000_kern,
441 		emlxs_lp10000_stub,
442 		emlxs_lp10000_sli1,
443 		emlxs_lp10000_sli2,
444 		emlxs_lp10000_sli3,
445 		0
446 	},
447 
448 	/* LP11000 */
449 	{
450 		LP11000_FW,
451 		emlxs_lp11000_fw,
452 		emlxs_lp11000_image,
453 		emlxs_lp11000_size,
454 		emlxs_lp11000_kern,
455 		emlxs_lp11000_stub,
456 		emlxs_lp11000_sli1,
457 		emlxs_lp11000_sli2,
458 		emlxs_lp11000_sli3,
459 		0
460 	},
461 
462 	/* LP11002 */
463 	{
464 		LP11002_FW,
465 		emlxs_lp11002_fw,
466 		emlxs_lp11002_image,
467 		emlxs_lp11002_size,
468 		emlxs_lp11002_kern,
469 		emlxs_lp11002_stub,
470 		emlxs_lp11002_sli1,
471 		emlxs_lp11002_sli2,
472 		emlxs_lp11002_sli3,
473 		0
474 	},
475 
476 #ifdef S10S11
477 	/* LPe11000 */
478 	{
479 		LPe11000_FW,
480 		emlxs_lpe11000_fw,
481 		emlxs_lpe11000_image,
482 		emlxs_lpe11000_size,
483 		emlxs_lpe11000_kern,
484 		emlxs_lpe11000_stub,
485 		emlxs_lpe11000_sli1,
486 		emlxs_lpe11000_sli2,
487 		emlxs_lpe11000_sli3,
488 		0
489 	},
490 
491 	/* LPe11002 */
492 	{
493 		LPe11002_FW,
494 		emlxs_lpe11002_fw,
495 		emlxs_lpe11002_image,
496 		emlxs_lpe11002_size,
497 		emlxs_lpe11002_kern,
498 		emlxs_lpe11002_stub,
499 		emlxs_lpe11002_sli1,
500 		emlxs_lpe11002_sli2,
501 		emlxs_lpe11002_sli3,
502 		0
503 	},
504 
505 	/* LPe12000 */
506 	{
507 		LPe12000_FW,
508 		emlxs_lpe12000_fw,
509 		emlxs_lpe12000_image,
510 		emlxs_lpe12000_size,
511 		emlxs_lpe12000_kern,
512 		emlxs_lpe12000_stub,
513 		emlxs_lpe12000_sli1,
514 		emlxs_lpe12000_sli2,
515 		emlxs_lpe12000_sli3,
516 		0
517 	},
518 #endif	/* S10S11 */
519 
520 	/* NULL Terminated list */
521 	{
522 		UNKNOWN_ADAPTER,
523 		NULL,
524 		NULL,
525 		0,
526 		0,
527 		0,
528 		0,
529 		0,
530 		0,
531 		0
532 	},
533 
534 }; /* emlxs_fw_image[] */
535 
536 #define	EMLXS_IMAGE_COUNT \
537 	((sizeof (emlxs_fw_image) / sizeof (emlxs_image_t)) - 1)
538 
539 
540 
541 /* Define the SBUS adapter database */
542 emlxs_model_t emlxs_sbus_model[] = {
543 
544 	/* Unknown */
545 	{
546 		UNKNOWN_ADAPTER,
547 		0,
548 		0,
549 		"unknown",
550 		"Unknown Emulex LightPulse FC HBA",
551 		"Emulex",
552 		EMLXS_NOT_SUPPORTED,
553 		EMLXS_UNKNOWN_CHIP,
554 		FW_NOT_PROVIDED,
555 		EMLXS_INTR_LIMIT1,
556 		0,
557 		{0},
558 		{0},
559 		{0},
560 		{0},
561 		{0},
562 		{0},
563 		{0},
564 		{0},
565 	},
566 
567 	/* Dragonfly midrange (QFLY) */
568 	{
569 		LP8000S,
570 		PCI_DEVICE_ID_LP8000S,
571 		PCI_SSDID_LP8000S,
572 		"LP8000S",
573 		"Emulex LP8000S 1Gb 1-port SBUS FC HBA",
574 		"Emulex",
575 		EMLXS_INTX_SUPPORTED,
576 		EMLXS_DRAGONFLY_CHIP,
577 		FW_NOT_PROVIDED,
578 		EMLXS_INTR_LIMIT1,
579 		1,
580 		{0x21, 0xB0, 0},
581 		{0},
582 		{0x31, 0},
583 		{0x31, 0x39, 0},
584 		{0x01, 0},
585 		{0},
586 		{0},
587 		{0x30, 0},
588 	},
589 
590 	/* Centaur mid-range (RFLY, Rtaur) */
591 	{
592 		LP9002S,
593 		PCI_DEVICE_ID_LP9002S,
594 		PCI_SSDID_LP9002S,
595 		"LP9002S",
596 		"Emulex LP9002S 2Gb 1-port SBUS FC HBA",
597 		"Emulex",
598 		EMLXS_INTX_SUPPORTED,
599 		EMLXS_CENTAUR_CHIP,
600 		FW_NOT_PROVIDED,
601 		EMLXS_INTR_LIMIT1,
602 		1,
603 		{0x41, 0xD0, 0},
604 		{0},
605 		{0x51, 0},
606 		{0x51, 0},
607 		{0x02, 0},
608 		{0},
609 		{0},
610 		{0x50, 0},
611 	},
612 
613 
614 };	/* emlxs_sbus_model[] */
615 
616 #define	EMLXS_SBUS_MODEL_COUNT \
617 	(sizeof (emlxs_sbus_model) / sizeof (emlxs_model_t))
618 
619 
620 /* Define the PCI adapter database */
621 emlxs_model_t emlxs_pci_model[] = {
622 
623 	/* Unknown */
624 	{
625 		UNKNOWN_ADAPTER,
626 		0,
627 		0,
628 		"unknown",
629 		"Unknown Emulex LightPulse FC HBA",
630 		"Emulex",
631 		EMLXS_NOT_SUPPORTED,
632 		EMLXS_UNKNOWN_CHIP,
633 		FW_NOT_PROVIDED,
634 		EMLXS_INTR_LIMIT1,
635 		0,
636 		{0},
637 		{0},
638 		{0},
639 		{0},
640 		{0},
641 		{0},
642 		{0},
643 		{0},
644 	},
645 
646 	/* Dragonfly */
647 	{
648 		LP8000,
649 		PCI_DEVICE_ID_LP8000,
650 		PCI_SSDID_LP8000,
651 		"LP8000",
652 		"Emulex LP8000 1Gb 1-port PCI FC HBA",
653 		"Emulex",
654 		EMLXS_INTX_SUPPORTED,
655 		EMLXS_DRAGONFLY_CHIP,
656 		FW_NOT_PROVIDED,
657 		EMLXS_INTR_LIMIT1,
658 		1,
659 		{0x21, 0x22, 0x23, 0xA0, 0},
660 		{0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0},
661 		{0x21, 0x22, 0x23, 0},
662 		{0x21, 0x22, 0x23, 0},
663 		{0},
664 		{0},
665 		{0},
666 		{0x20, 0},
667 	},
668 
669 	/* Dragonfly DC */
670 	/* !! Must always follow the single channel entry in list */
671 	{
672 		LP8000DC,
673 		PCI_DEVICE_ID_LP8000DC,
674 		PCI_SSDID_LP8000DC,
675 		"LP8000DC",
676 		"Emulex LP8000DC 1Gb 2-port PCI FC HBA",
677 		"Emulex",
678 		EMLXS_INTX_SUPPORTED,
679 		EMLXS_DRAGONFLY_CHIP,
680 		FW_NOT_PROVIDED,
681 		EMLXS_INTR_LIMIT1,
682 		2,
683 		{0x21, 0x22, 0x23, 0xA0, 0},
684 		{0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0},
685 		{0x21, 0x22, 0x23, 0},
686 		{0x21, 0x22, 0x23, 0},
687 		{0},
688 		{0},
689 		{0},
690 		{0x20, 0},
691 	},
692 
693 	/* Centaur PCI */
694 	{
695 		LP9002L,
696 		PCI_DEVICE_ID_LP9002L,
697 		PCI_SSDID_LP9002L,
698 		"LP9002L",
699 		"Emulex LP9002L 2Gb 1-port PCI FC HBA",
700 		"Emulex",
701 		EMLXS_INTX_SUPPORTED,
702 		EMLXS_CENTAUR_CHIP,
703 		FW_NOT_PROVIDED,
704 		EMLXS_INTR_LIMIT1,
705 		1,
706 		{0x41, 0x43, 0xC0, 0},
707 		{0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0},
708 		{0x41, 0x43, 0},
709 		{0x41, 0x43, 0},
710 		{0},
711 		{0},
712 		{0},
713 		{0x40, 0},
714 	},
715 
716 	/* Centaur cPCI */
717 	{
718 		LP9002C,
719 		PCI_DEVICE_ID_LP9002C,
720 		PCI_SSDID_LP9002C,
721 		"LP9002C",
722 		"Emulex LP9002C 2Gb 1-port cPCI FC HBA",
723 		"Emulex",
724 		EMLXS_INTX_SUPPORTED,
725 		EMLXS_CENTAUR_CHIP,
726 		FW_NOT_PROVIDED,
727 		EMLXS_INTR_LIMIT1,
728 		1,
729 		{0x41, 0x43, 0xC0, 0},
730 		{0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0},
731 		{0x41, 0x43, 0},
732 		{0x41, 0x43, 0},
733 		{0},
734 		{0},
735 		{0},
736 		{0x40, 0},
737 	},
738 
739 	/* Centaur DC PCI */
740 	/* !! Must always follow the single channel entry in list */
741 	{
742 		LP9002DC,
743 		PCI_DEVICE_ID_LP9002DC,
744 		PCI_SSDID_LP9002DC,
745 		"LP9002DC",
746 		"Emulex LP9002DC 2Gb 2-port PCI FC HBA",
747 		"Emulex",
748 		EMLXS_INTX_SUPPORTED,
749 		EMLXS_CENTAUR_CHIP,
750 		FW_NOT_PROVIDED,
751 		EMLXS_INTR_LIMIT1,
752 		2,
753 		{0x41, 0x43, 0xC0, 0},
754 		{0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0},
755 		{0x41, 0x43, 0},
756 		{0x41, 0x43, 0},
757 		{0},
758 		{0},
759 		{0},
760 		{0x40, 0},
761 	},
762 
763 	/* Centaur DC PCI-X */
764 	/* !! Must always follow the single channel entry in list */
765 	{
766 		LP9402DC,
767 		PCI_DEVICE_ID_LP9402DC,
768 		PCI_SSDID_LP9402DC,
769 		"LP9402DC",
770 		"Emulex LP9402DC 2Gb 2-port PCI-X FC HBA",
771 		"Emulex",
772 		EMLXS_INTX_SUPPORTED,
773 		EMLXS_CENTAUR_CHIP,
774 		FW_NOT_PROVIDED,
775 		EMLXS_INTR_LIMIT1,
776 		2,
777 		{0x41, 0x43, 0xC0, 0},
778 		{0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0},
779 		{0x41, 0x43, 0},
780 		{0x41, 0x43, 0},
781 		{0},
782 		{0},
783 		{0},
784 		{0x40, 0},
785 	},
786 
787 	/* Pegasus */
788 	{
789 		LP9802,
790 		PCI_DEVICE_ID_LP9802,
791 		PCI_SSDID_LP9802,
792 		"LP9802",
793 		"Emulex LP9802 2Gb 1-port PCI-X FC HBA",
794 		"Emulex",
795 		EMLXS_INTX_SUPPORTED,
796 		EMLXS_PEGASUS_CHIP,
797 		FW_NOT_PROVIDED,
798 		EMLXS_INTR_LIMIT1,
799 		1,
800 		{0x63, 0xE0, 0},
801 		{0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0},
802 		{0x63, 0},
803 		{0x63, 0},
804 		{0},
805 		{0x63, 0},
806 		{0},
807 		{0x60, 0},
808 	},
809 
810 	/* Pegasus DC */
811 	/* !! Must always follow the single channel entry in list */
812 	{
813 		LP9802DC,
814 		PCI_DEVICE_ID_LP9802DC,
815 		PCI_SSDID_LP9802DC,
816 		"LP9802DC",
817 		"Emulex LP9802DC 2Gb 2-port PCI-X FC HBA",
818 		"Emulex",
819 		EMLXS_INTX_SUPPORTED,
820 		EMLXS_PEGASUS_CHIP,
821 		FW_NOT_PROVIDED,
822 		EMLXS_INTR_LIMIT1,
823 		2,
824 		{0x61, 0xE0, 0},
825 		{0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0},
826 		{0x61, 0},
827 		{0x61, 0},
828 		{0},
829 		{0x61, 0},
830 		{0},
831 		{0x60, 0},
832 	},
833 
834 	/* Thor */
835 	{
836 		LP10000,
837 		PCI_DEVICE_ID_LP10000,
838 		PCI_SSDID_LP10000,
839 		"LP10000",
840 		"Emulex LP10000 2Gb 1-port PCI-X FC HBA",
841 		"Emulex",
842 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
843 		EMLXS_THOR_CHIP,
844 		LP10000_FW,
845 		EMLXS_INTR_LIMIT1,
846 		1,
847 		{0x81, 0x83, 0x88, 0},
848 		{0x81, 0x82, 0x83, 0x85, 0x86, 0x87, 0},
849 		{0x81, 0x83, 0},
850 		{0x81, 0x83, 0},
851 		{0},
852 		{0x81, 0x83, 0},
853 		{0},
854 		{0x80, 0},
855 	},
856 
857 	/* Thor DC */
858 	/* !! Must always follow the single channel entry in list */
859 	{
860 		LP10000DC,
861 		PCI_DEVICE_ID_LP10000DC,
862 		PCI_SSDID_LP10000DC,
863 		"LP10000DC",
864 		"Emulex LP10000DC 2Gb 2-port PCI-X FC HBA",
865 		"Emulex",
866 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
867 		EMLXS_THOR_CHIP,
868 		LP10000_FW,
869 		EMLXS_INTR_LIMIT1,
870 		2,
871 		{0x81, 0x83, 0x88, 0},
872 		{0x81, 0x82, 0x83, 0x85, 0x86, 0x87, 0},
873 		{0x81, 0x83, 0},
874 		{0x81, 0x83, 0},
875 		{0},
876 		{0x81, 0x83, 0},
877 		{0},
878 		{0x80, 0},
879 	},
880 
881 	/* Thor DC express */
882 	/* !! Must always follow the single channel entry in list */
883 	{
884 		LP10000ExDC,
885 		PCI_DEVICE_ID_LP10000ExDC,
886 		PCI_SSDID_LP10000ExDC,
887 		"LP10000ExDC",
888 		"Emulex LP10000ExDC 2Gb 2-port PCIe FC HBA",
889 		"Emulex",
890 #ifdef S10S11
891 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
892 #else
893 		EMLXS_NOT_SUPPORTED,
894 #endif	/* S10S11 */
895 		EMLXS_THOR_CHIP,
896 		LP10000_FW,
897 		EMLXS_INTR_LIMIT1,
898 		2,
899 		{0x81, 0x83, 0x88, 0},
900 		{0x81, 0x82, 0x83, 0x85, 0x86, 0x87, 0},
901 		{0x81, 0x83, 0},
902 		{0x81, 0x83, 0},
903 		{0},
904 		{0x81, 0x83, 0},
905 		{0},
906 		{0x80, 0},
907 	},
908 
909 	/* Thor (Sun Rainbow-E1) */
910 	{
911 		LP10000_S,
912 		PCI_DEVICE_ID_LP10000_S,
913 		PCI_SSDID_LP10000_S,
914 		"LP10000-S",
915 		"Emulex LP10000-S 2Gb 1-port PCI-X FC HBA",
916 		"Emulex",
917 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
918 		EMLXS_THOR_CHIP,
919 		LP10000_FW,
920 		EMLXS_INTR_LIMIT1,
921 		1,
922 		{0x83, 0x88, 0},
923 		{0x82, 0x84, 0},
924 		{0x83, 0},
925 		{0x83, 0},
926 		{0},
927 		{0x83, 0},
928 		{0},
929 		{0x80, 0},
930 	},
931 
932 	/* Thor DC (Sun Rainbow-E2) */
933 	/* !! Must always follow the single channel entry in list */
934 	{
935 		LP10000DC_S,
936 		PCI_DEVICE_ID_LP10000DC_S,
937 		PCI_SSDID_LP10000DC_S,
938 		"LP10000DC-S",
939 		"Emulex LP10000DC-S 2Gb 2-port PCI-X FC HBA",
940 		"Emulex",
941 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
942 		EMLXS_THOR_CHIP,
943 		LP10000_FW,
944 		EMLXS_INTR_LIMIT1,
945 		2,
946 		{0x83, 0x88, 0},
947 		{0x82, 0x84, 0},
948 		{0x83, 0},
949 		{0x83, 0},
950 		{0},
951 		{0x83, 0},
952 		{0},
953 		{0x80, 0},
954 	},
955 
956 	/* Thor mid-range (MiniThor) */
957 	{
958 		BLADE_2G,
959 		PCI_DEVICE_ID_BLADE_2G,
960 		PCI_SSDID_BLADE_2G,
961 		"2G Blade Adapter",
962 		"Emulex 2G 2-port Blade PCI-X FC HBA",
963 		"Emulex",
964 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
965 		EMLXS_THOR_CHIP,
966 		FW_NOT_PROVIDED,
967 		EMLXS_INTR_LIMIT1,
968 		2,
969 		{0x98, 0},
970 		{0x91, 0x92, 0x93, 0x95, 0x96, 0x97, 0},
971 		{0x91, 0},
972 		{0x91, 0},
973 		{0},
974 		{0x91, 0},
975 		{0},
976 		{0x90, 0},
977 	},
978 
979 	/* Helios */
980 	{
981 		LP11000,
982 		PCI_DEVICE_ID_LP11000,
983 		PCI_SSDID_LP11000,
984 		"LP11000",
985 		"Emulex LP11000 4Gb 1-port PCI-X2 FC HBA",
986 		"Emulex",
987 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
988 		EMLXS_HELIOS_CHIP,
989 		LP11000_FW,
990 		EMLXS_INTR_LIMIT1,
991 		1,
992 		{0xC3, 0xC8, 0},
993 		{0xC1, 0xC2, 0xC3, 0xC5, 0xC6, 0xC7, 0},
994 		{0xC3, 0},
995 		{0xC3, 0},
996 		{0},
997 		{0xC3, 0},
998 		{0},
999 		{0xC0, 0},
1000 	},
1001 
1002 	/* Helios DC */
1003 	/* !! Must always follow the single channel entry in list */
1004 	{
1005 		LP11002,
1006 		PCI_DEVICE_ID_LP11002,
1007 		PCI_SSDID_LP11002,
1008 		"LP11002",
1009 		"Emulex LP11002 4Gb 2-port PCI-X2 FC HBA",
1010 		"Emulex",
1011 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1012 		EMLXS_HELIOS_CHIP,
1013 		LP11002_FW,
1014 		EMLXS_INTR_LIMIT1,
1015 		2,
1016 		{0xC1, 0xC8, 0},
1017 		{0xC1, 0xC2, 0xC3, 0xC5, 0xC6, 0xC7, 0},
1018 		{0xC1, 0},
1019 		{0xC1, 0},
1020 		{0},
1021 		{0xC1, 0},
1022 		{0},
1023 		{0xC0, 0},
1024 	},
1025 
1026 	/* Helios (Sun Pyramid-E1) */
1027 	{
1028 		LP11000_S,
1029 		PCI_DEVICE_ID_LP11000_S,
1030 		PCI_SSDID_LP11000_S,
1031 		"LP11000-S",
1032 		"Emulex LP11000-S 4Gb 1-port PCI-X2 FC HBA",
1033 		"Emulex",
1034 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1035 		EMLXS_HELIOS_CHIP,
1036 		LP11000_FW,
1037 		EMLXS_INTR_LIMIT1,
1038 		1,
1039 		{0xC3, 0xC8, 0},
1040 		{0xC4, 0},
1041 		{0xC3, 0},
1042 		{0xC3, 0},
1043 		{0},
1044 		{0xC3, 0},
1045 		{0},
1046 		{0xC0, 0},
1047 	},
1048 
1049 	/* Helios DC (Sun Pyramid-E2) */
1050 	/* !! Must always follow the single channel entry in list */
1051 	{
1052 		LP11002_S,
1053 		PCI_DEVICE_ID_LP11002_S,
1054 		PCI_SSDID_LP11002_S,
1055 		"LP11002-S",
1056 		"Emulex LP11002-S 4Gb 2-port PCI-X2 FC HBA",
1057 		"Emulex",
1058 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1059 		EMLXS_HELIOS_CHIP,
1060 		LP11002_FW,
1061 		EMLXS_INTR_LIMIT1,
1062 		2,
1063 		{0xC1, 0xC8, 0},
1064 		{0xC4, 0},
1065 		{0xC1, 0},
1066 		{0xC1, 0},
1067 		{0},
1068 		{0xC1, 0},
1069 		{0},
1070 		{0xC0, 0},
1071 	},
1072 
1073 	/* Zephyr  */
1074 	{
1075 		LPe11000_M4,
1076 		PCI_DEVICE_ID_LPe11000_M4,
1077 		PCI_SSDID_LPe11000_M4,
1078 		"LPe11000-M4",
1079 		"Emulex LPe11000-M4 4Gb 1-port PCIe FC HBA",
1080 		"Emulex",
1081 #ifdef S10S11
1082 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1083 #else
1084 		EMLXS_NOT_SUPPORTED,
1085 #endif	/* S10S11 */
1086 		EMLXS_ZEPHYR_CHIP,
1087 		LPe11000_FW,
1088 		EMLXS_INTR_NO_LIMIT,
1089 		1,
1090 		{0xE3, 0xE8, 0},
1091 		{0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
1092 		{0xE3, 0},
1093 		{0xE3, 0},
1094 		{0},
1095 		{0xE3, 0},
1096 		{0},
1097 		{0xE0, 0},
1098 	},
1099 
1100 	/* Zephyr DC */
1101 	/* !! Must always follow the single channel entry in list */
1102 	{
1103 		LPe11002_M4,
1104 		PCI_DEVICE_ID_LPe11002_M4,
1105 		PCI_SSDID_LPe11002_M4,
1106 		"LPe11002-M4",
1107 		"Emulex LPe11002-M4 4Gb 2-port PCIe FC HBA",
1108 		"Emulex",
1109 #ifdef S10S11
1110 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1111 #else
1112 		EMLXS_NOT_SUPPORTED,
1113 #endif	/* S10S11 */
1114 		EMLXS_ZEPHYR_CHIP,
1115 		LPe11002_FW,
1116 		EMLXS_INTR_NO_LIMIT,
1117 		2,
1118 		{0xE1, 0xE8, 0},
1119 		{0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
1120 		{0xE1, 0},
1121 		{0xE1, 0},
1122 		{0},
1123 		{0xE1, 0},
1124 		{0},
1125 		{0xE0, 0},
1126 	},
1127 
1128 
1129 	/* Zephyr DC Blade */
1130 	/* !! Must always follow the single channel entry in list */
1131 	{
1132 		LPe1105_M,
1133 		PCI_DEVICE_ID_LPe1105_M,
1134 		PCI_SSDID_LPe1105_M,
1135 		"LPe1105-M",
1136 		"Emulex LPe1105-M 2Gb 2-port PCIe FC HBA",
1137 		"Emulex",
1138 #ifdef S10S11
1139 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1140 #else
1141 		EMLXS_NOT_SUPPORTED,
1142 #endif	/* S10S11 */
1143 		EMLXS_ZEPHYR_CHIP,
1144 		LPe11002_FW,
1145 		EMLXS_INTR_NO_LIMIT,
1146 		2,
1147 		{0xE1, 0xE8, 0},
1148 		{0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
1149 		{0xE1, 0},
1150 		{0xE1, 0},
1151 		{0},
1152 		{0xE1, 0},
1153 		{0},
1154 		{0xE0, 0},
1155 	},
1156 
1157 
1158 	/* FSC Zephyr DC Blade */
1159 	/* !! Must always follow the single channel entry in list */
1160 	{
1161 		BX600_FC42E,
1162 		PCI_DEVICE_ID_BX600_FC42E,
1163 		PCI_SSDID_BX600_FC42E,
1164 		"BX600-FC42E",
1165 		"Emulex BX600-FC42E 4Gb 2-port PCIe FC HBA",
1166 		"Emulex",
1167 #ifdef S10S11
1168 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1169 #else
1170 		EMLXS_NOT_SUPPORTED,
1171 #endif	/* S10S11 */
1172 		EMLXS_ZEPHYR_CHIP,
1173 		LPe11002_FW,
1174 		EMLXS_INTR_NO_LIMIT,
1175 		2,
1176 		{0xE1, 0xE8, 0},
1177 		{0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
1178 		{0xE1, 0},
1179 		{0xE1, 0},
1180 		{0},
1181 		{0xE1, 0},
1182 		{0},
1183 		{0xE0, 0},
1184 	},
1185 
1186 	/* HP Zephyr DC Blade */
1187 	/* !! Must always follow the single channel entry in list */
1188 	{
1189 		LPe1105_HP,
1190 		PCI_DEVICE_ID_LPe1105_HP,
1191 		PCI_SSDID_LPe1105_HP,
1192 		"LPe1105-HP",
1193 		"Emulex LPe1105-HP 4Gb 2-port PCIe FC HBA",
1194 		"Emulex",
1195 #ifdef S10S11
1196 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1197 #else
1198 		EMLXS_NOT_SUPPORTED,
1199 #endif	/* S10S11 */
1200 		EMLXS_ZEPHYR_CHIP,
1201 		LPe11002_FW,
1202 		EMLXS_INTR_NO_LIMIT,
1203 		2,
1204 		{0xE1, 0xE8, 0},
1205 		{0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
1206 		{0xE1, 0},
1207 		{0xE1, 0},
1208 		{0},
1209 		{0xE1, 0},
1210 		{0},
1211 		{0xE0, 0},
1212 	},
1213 
1214 
1215 	/* Dell Zephyr DC Blade */
1216 	/* !! Must always follow the single channel entry in list */
1217 	{
1218 		LPe1105_M4,
1219 		PCI_DEVICE_ID_LPe1105_M4,
1220 		PCI_SSDID_LPe1105_M4,
1221 		"LPe1105-M4",
1222 		"Dell LPe1105-M4 4Gb 2-port PCIe FC HBA",
1223 		"Emulex",
1224 #ifdef S10S11
1225 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1226 #else
1227 		EMLXS_NOT_SUPPORTED,
1228 #endif	/* S10S11 */
1229 		EMLXS_ZEPHYR_CHIP,
1230 		LPe11002_FW,
1231 		EMLXS_INTR_NO_LIMIT,
1232 		2,
1233 		{0xE1, 0xE8, 0},
1234 		{0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
1235 		{0xE1, 0},
1236 		{0xE1, 0},
1237 		{0},
1238 		{0xE1, 0},
1239 		{0},
1240 		{0xE0, 0},
1241 	},
1242 
1243 	/* Zephyr Express Module */
1244 	/* !! Must always follow the single channel entry in list */
1245 	{
1246 		LPem11002_M4,
1247 		PCI_DEVICE_ID_LPem11002_M4,
1248 		PCI_SSDID_LPem11002_M4,
1249 		"LPem11002-M4",
1250 		"Emulex LPem11002-M4 4Gb 2-port PCIe FC HBA",
1251 		"Emulex",
1252 #ifdef S10S11
1253 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1254 #else
1255 		EMLXS_NOT_SUPPORTED,
1256 #endif	/* S10S11 */
1257 		EMLXS_ZEPHYR_CHIP,
1258 		LPe11002_FW,
1259 		EMLXS_INTR_NO_LIMIT,
1260 		2,
1261 		{0xE1, 0xE8, 0},
1262 		{0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
1263 		{0xE1, 0},
1264 		{0xE1, 0},
1265 		{0},
1266 		{0xE1, 0},
1267 		{0},
1268 		{0xE0, 0},
1269 	},
1270 
1271 	/* Zephyr (Hornet) */
1272 	{
1273 		LP21000_M,
1274 		PCI_DEVICE_ID_LP21000_M,
1275 		PCI_SSDID_LP21000_M,
1276 		"LP21000-M",
1277 		"Emulex LP21000_M 10GE 1-port PCIe FCoE HBA",
1278 		"Emulex",
1279 #ifdef S10S11
1280 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1281 #else
1282 		EMLXS_NOT_SUPPORTED,
1283 #endif	/* S10S11 */
1284 		EMLXS_ZEPHYR_CHIP,
1285 		FW_NOT_PROVIDED,
1286 		EMLXS_INTR_NO_LIMIT,
1287 		1,
1288 		{0x50, 0},
1289 		{0x59, 0x5A, 0x5B, 0x5D, 0x5E, 0x5F, 0},
1290 		{0},
1291 		{0x53, 0},
1292 		{0},
1293 		{0x53, 0},
1294 		{0},
1295 		{0x58, 0},
1296 	},
1297 
1298 	/* Zephyr (Hornet Copper) */
1299 	{
1300 		LP21000_C,
1301 		PCI_DEVICE_ID_LP21000_C,
1302 		PCI_SSDID_LP21000_C,
1303 		"LP21000-C",
1304 		"Emulex LP21000_C 10GE 1-port PCIe FCoE HBA",
1305 		"Emulex",
1306 #ifdef S10S11
1307 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1308 #else
1309 		EMLXS_NOT_SUPPORTED,
1310 #endif	/* S10S11 */
1311 		EMLXS_ZEPHYR_CHIP,
1312 		FW_NOT_PROVIDED,
1313 		EMLXS_INTR_NO_LIMIT,
1314 		1,
1315 		{0x50, 0},
1316 		{0x59, 0x5A, 0x5B, 0x5D, 0x5E, 0x5F, 0},
1317 		{0},
1318 		{0x53, 0},
1319 		{0},
1320 		{0x53, 0},
1321 		{0},
1322 		{0x58, 0},
1323 	},
1324 
1325 	/* Zephyr DC (Hornet) */
1326 	{
1327 		LP21002_M,
1328 		PCI_DEVICE_ID_LP21002_M,
1329 		PCI_SSDID_LP21002_M,
1330 		"LP21002-M",
1331 		"Emulex LP21002_M 10GE 2-port PCIe FCoE HBA",
1332 		"Emulex",
1333 #ifdef S10S11
1334 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1335 #else
1336 		EMLXS_NOT_SUPPORTED,
1337 #endif	/* S10S11 */
1338 		EMLXS_ZEPHYR_CHIP,
1339 		FW_NOT_PROVIDED,
1340 		EMLXS_INTR_NO_LIMIT,
1341 		2,
1342 		{0x50, 0},
1343 		{0x59, 0x5A, 0x5B, 0x5D, 0x5E, 0x5F, 0},
1344 		{0},
1345 		{0x59, 0},
1346 		{0},
1347 		{0x59, 0},
1348 		{0},
1349 		{0x58, 0},
1350 	},
1351 
1352 	/* Zephyr DC (Hornet Copper) */
1353 	{
1354 		LP21002_C,
1355 		PCI_DEVICE_ID_LP21002_C,
1356 		PCI_SSDID_LP21002_C,
1357 		"LP21002-C",
1358 		"Emulex LP21002_C 10GE 2-port PCIe FCoE HBA",
1359 		"Emulex",
1360 #ifdef S10S11
1361 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1362 #else
1363 		EMLXS_NOT_SUPPORTED,
1364 #endif	/* S10S11 */
1365 		EMLXS_ZEPHYR_CHIP,
1366 		FW_NOT_PROVIDED,
1367 		EMLXS_INTR_NO_LIMIT,
1368 		2,
1369 		{0x50, 0},
1370 		{0x59, 0x5A, 0x5B, 0x5D, 0x5E, 0x5F, 0},
1371 		{0},
1372 		{0x59, 0},
1373 		{0},
1374 		{0x59, 0},
1375 		{0},
1376 		{0x58, 0},
1377 	},
1378 
1379 	/* Zephyr (Sun Summit-E1) */
1380 	{
1381 		LPe11000_S,
1382 		PCI_DEVICE_ID_LPe11000_S,
1383 		PCI_SSDID_LPe11000_S,
1384 		"LPe11000-S",
1385 		"Emulex LPe11000-S 4Gb 1-port PCIe FC HBA",
1386 		"Emulex",
1387 #ifdef S10S11
1388 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1389 #else
1390 		EMLXS_NOT_SUPPORTED,
1391 #endif	/* S10S11 */
1392 		EMLXS_ZEPHYR_CHIP,
1393 		LPe11000_FW,
1394 		EMLXS_INTR_NO_LIMIT,
1395 		1,
1396 		{0xE3, 0xE8, 0},
1397 		{0xE4, 0},
1398 		{0xE3, 0},
1399 		{0xE3, 0},
1400 		{0},
1401 		{0xE3, 0},
1402 		{0},
1403 		{0xE0, 0},
1404 	},
1405 
1406 	/* Zephyr DC (Sun Summit-E2) */
1407 	/* !! Must always follow the single channel entry in list */
1408 	{
1409 		LPe11002_S,
1410 		PCI_DEVICE_ID_LPe11002_S,
1411 		PCI_SSDID_LPe11002_S,
1412 		"LPe11002-S",
1413 		"Emulex LPe11002-S 4Gb 2-port PCIe FC HBA",
1414 		"Emulex",
1415 #ifdef S10S11
1416 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1417 #else
1418 		EMLXS_NOT_SUPPORTED,
1419 #endif	/* S10S11 */
1420 		EMLXS_ZEPHYR_CHIP,
1421 		LPe11002_FW,
1422 		EMLXS_INTR_NO_LIMIT,
1423 		2,
1424 		{0xE1, 0xE8, 0},
1425 		{0xE4, 0},
1426 		{0xE1, 0},
1427 		{0xE1, 0},
1428 		{0},
1429 		{0xE1, 0},
1430 		{0},
1431 		{0xE0, 0},
1432 	},
1433 
1434 	/* Zephyr NEM (Sun Janus) */
1435 	/* !! Must always follow the single channel entry in list */
1436 	{
1437 		LPe11020_S,
1438 		PCI_DEVICE_ID_LPe11020_S,
1439 		PCI_SSDID_LPe11020_S,
1440 		"LPe11020-S",
1441 		"Emulex LPe11020-S 4Gb 20-port PCIe FC HBA",
1442 		"Emulex",
1443 #ifdef S10S11
1444 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1445 #else
1446 		EMLXS_NOT_SUPPORTED,
1447 #endif	/* S10S11 */
1448 		EMLXS_ZEPHYR_CHIP,
1449 		LPe11002_FW,
1450 		EMLXS_INTR_NO_LIMIT,
1451 		2,
1452 		{0xE1, 0xE8, 0},
1453 		{0xE4, 0},
1454 		{0xE1, 0},
1455 		{0xE1, 0},
1456 		{0},
1457 		{0xE1, 0},
1458 		{0},
1459 		{0xE0, 0},
1460 	},
1461 
1462 	/* Zephyr Express Module (Sun TitanE) */
1463 	/* !! Must always follow the single channel entry in list */
1464 	{
1465 		LPem11002_S,
1466 		PCI_DEVICE_ID_LPem11002_S,
1467 		PCI_SSDID_LPem11002_S,
1468 		"LPem11002-S",
1469 		"Emulex LPem11002-S 4Gb 2-port PCIe FC HBA",
1470 		"Emulex",
1471 #ifdef S10S11
1472 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1473 #else
1474 		EMLXS_NOT_SUPPORTED,
1475 #endif	/* S10S11 */
1476 		EMLXS_ZEPHYR_CHIP,
1477 		LPe11002_FW,
1478 		EMLXS_INTR_NO_LIMIT,
1479 		2,
1480 		{0xE1, 0xE8, 0},
1481 		{0xE4, 0},
1482 		{0xE1, 0},
1483 		{0xE1, 0},
1484 		{0},
1485 		{0xE1, 0},
1486 		{0},
1487 		{0xE0, 0},
1488 	},
1489 
1490 	/* Zephyr Express Module (Sun Elara) */
1491 	/* !! Must always follow the single channel entry in list */
1492 	{
1493 		LPem11002E_S,
1494 		PCI_DEVICE_ID_LPem11002E_S,
1495 		PCI_SSDID_LPem11002E_S,
1496 		"LPem11002E-S",
1497 		"Emulex LPem11002E-S 4Gb 2-port FC & 2-port 1GE PCIe HBA",
1498 		"Emulex",
1499 #ifdef S10S11
1500 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1501 #else
1502 		EMLXS_NOT_SUPPORTED,
1503 #endif	/* S10S11 */
1504 		EMLXS_ZEPHYR_CHIP,
1505 		LPe11002_FW,
1506 		EMLXS_INTR_NO_LIMIT,
1507 		2,
1508 		{0xE1, 0xE8, 0},
1509 		{0xE4, 0},
1510 		{0xE1, 0},
1511 		{0xE1, 0},
1512 		{0},
1513 		{0xE1, 0},
1514 		{0},
1515 		{0xE0, 0},
1516 	},
1517 
1518 	/* Zephyr AMC (Sun Helene/Dione) */
1519 	/* !! Must always follow the single channel entry in list */
1520 	{
1521 		LPeA11002_S,
1522 		PCI_DEVICE_ID_LPeA11002_S,
1523 		PCI_SSDID_LPeA11002_S,
1524 		"LPeA11002-S",
1525 		"Emulex LPeA11002-S 4Gb 2-port PCIe FC HBA",
1526 		"Emulex",
1527 #ifdef S10S11
1528 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1529 #else
1530 		EMLXS_NOT_SUPPORTED,
1531 #endif	/* S10S11 */
1532 		EMLXS_ZEPHYR_CHIP,
1533 		LPe11002_FW,
1534 		EMLXS_INTR_NO_LIMIT,
1535 		2,
1536 		{0xE1, 0xE8, 0},
1537 		{0xE4, 0},
1538 		{0xE1, 0},
1539 		{0xE1, 0},
1540 		{0},
1541 		{0xE1, 0},
1542 		{0},
1543 		{0xE0, 0},
1544 	},
1545 
1546 	/* Neptune  */
1547 	{
1548 		LPe1000_F4,
1549 		PCI_DEVICE_ID_LPe1000_F4,
1550 		PCI_SSDID_LPe1000_F4,
1551 		"LPe1000-F4",
1552 		"Emulex LPe1000 4Gb 1-port PCIe FC HBA",
1553 		"Emulex",
1554 #ifdef S10S11
1555 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1556 			EMLXS_MSIX_SUPPORTED,
1557 #else
1558 		EMLXS_NOT_SUPPORTED,
1559 #endif	/* S10S11 */
1560 		EMLXS_NEPTUNE_CHIP,
1561 		FW_NOT_PROVIDED,
1562 		EMLXS_INTR_NO_LIMIT,
1563 		1,
1564 		{0x38, 0},
1565 		{0x39, 0x3A, 0x3B, 0x3D, 0x3E, 0x3F, 0},
1566 		{0x32, 0},
1567 		{0x32, 0},
1568 		{0},
1569 		{0x32, 0},
1570 		{0},
1571 		{0x38, 0},
1572 	},
1573 
1574 	/* Neptune DC  */
1575 	{
1576 		LPe1002_F4,
1577 		PCI_DEVICE_ID_LPe1002_F4,
1578 		PCI_SSDID_LPe1002_F4,
1579 		"LPe1002-F4",
1580 		"Emulex LPe1002-F4 4Gb 2-port PCIe FC HBA",
1581 		"Emulex",
1582 #ifdef S10S11
1583 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1584 			EMLXS_MSIX_SUPPORTED,
1585 #else
1586 		EMLXS_NOT_SUPPORTED,
1587 #endif	/* S10S11 */
1588 		EMLXS_NEPTUNE_CHIP,
1589 		FW_NOT_PROVIDED,
1590 		EMLXS_INTR_NO_LIMIT,
1591 		2,
1592 		{0x38, 0},
1593 		{0x39, 0x3A, 0x3B, 0x3D, 0x3E, 0x3F, 0},
1594 		{0x32, 0},
1595 		{0x32, 0},
1596 		{0},
1597 		{0x32, 0},
1598 		{0},
1599 		{0x38, 0},
1600 	},
1601 
1602 	/* Saturn */
1603 	{
1604 		LPe12000_M8,
1605 		PCI_DEVICE_ID_LPe12000_M8,
1606 		PCI_SSDID_LPe12000_M8,
1607 		"LPe12000-M8",
1608 		"Emulex LPe12000-M8 8Gb 1-port PCIe FC HBA",
1609 		"Emulex",
1610 #ifdef S10S11
1611 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1612 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1613 #else
1614 		EMLXS_NOT_SUPPORTED,
1615 #endif	/* S10S11 */
1616 		EMLXS_SATURN_CHIP,
1617 		LPe12000_FW,
1618 		EMLXS_INTR_NO_LIMIT,
1619 		1,
1620 		{0x78, 0},
1621 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1622 		{0},
1623 		{0x73, 0},
1624 		{0},
1625 		{0x73, 0},
1626 		{0},
1627 		{0x78, 0},
1628 	},
1629 
1630 	/* Saturn DC */
1631 	{
1632 		LPe12002_M8,
1633 		PCI_DEVICE_ID_LPe12002_M8,
1634 		PCI_SSDID_LPe12002_M8,
1635 		"LPe12002-M8",
1636 		"Emulex LPe12002-M8 8Gb 2-port PCIe FC HBA",
1637 		"Emulex",
1638 #ifdef S10S11
1639 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1640 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1641 #else
1642 		EMLXS_NOT_SUPPORTED,
1643 #endif	/* S10S11 */
1644 		EMLXS_SATURN_CHIP,
1645 		LPe12000_FW,
1646 		EMLXS_INTR_NO_LIMIT,
1647 		2,
1648 		{0x78, 0},
1649 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1650 		{0},
1651 		{0x73, 0},
1652 		{0},
1653 		{0x73, 0},
1654 		{0},
1655 		{0x78, 0},
1656 	},
1657 
1658 	/* Saturn Express Module */
1659 	{
1660 		LPem12002_M8,
1661 		PCI_DEVICE_ID_LPem12002_M8,
1662 		PCI_SSDID_LPem12002_M8,
1663 		"LPem12002-M8",
1664 		"Emulex LPem12002-M8 8Gb 2-port PCIe FC HBA",
1665 		"Emulex",
1666 #ifdef S10S11
1667 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1668 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1669 #else
1670 		EMLXS_NOT_SUPPORTED,
1671 #endif	/* S10S11 */
1672 		EMLXS_SATURN_CHIP,
1673 		LPe12000_FW,
1674 		EMLXS_INTR_NO_LIMIT,
1675 		2,
1676 		{0x78, 0},
1677 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1678 		{0},
1679 		{0x73, 0},
1680 		{0},
1681 		{0x73, 0},
1682 		{0},
1683 		{0x78, 0},
1684 	},
1685 
1686 
1687 	/* IBM Saturn Blade (CFF) */
1688 	{
1689 		LPe1205_BC,
1690 		PCI_DEVICE_ID_LPe1205_BC,
1691 		PCI_SSDID_LPe1205_BC,
1692 		"LPe1205-BC",
1693 		"IBM LPe1205-BC 8Gb 2-port PCIe FC HBA",
1694 		"Emulex",
1695 #ifdef S10S11
1696 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1697 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1698 #else
1699 		EMLXS_NOT_SUPPORTED,
1700 #endif	/* S10S11 */
1701 		EMLXS_SATURN_CHIP,
1702 		LPe12000_FW,
1703 		EMLXS_INTR_NO_LIMIT,
1704 		2,
1705 		{0x78, 0},
1706 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1707 		{0},
1708 		{0x79, 0},
1709 		{0},
1710 		{0x79, 0},
1711 		{0},
1712 		{0x78, 0},
1713 	},
1714 
1715 	/* Saturn Blade Universal (CFF) */
1716 	{
1717 		LPe1205_BU,
1718 		PCI_DEVICE_ID_LPe1205_BU,
1719 		PCI_SSDID_LPe1205_BU,
1720 		"LPe1205-BU",
1721 		"Emulex LPe1205-BU 8Gb 2-port PCIe FC HBA",
1722 		"Emulex",
1723 #ifdef S10S11
1724 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1725 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1726 #else
1727 		EMLXS_NOT_SUPPORTED,
1728 #endif	/* S10S11 */
1729 		EMLXS_SATURN_CHIP,
1730 		LPe12000_FW,
1731 		EMLXS_INTR_NO_LIMIT,
1732 		2,
1733 		{0x78, 0},
1734 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1735 		{0},
1736 		{0x79, 0},
1737 		{0},
1738 		{0x79, 0},
1739 		{0},
1740 		{0x78, 0},
1741 	},
1742 
1743 	/* Dell Saturn Blade DC */
1744 	{
1745 		LPe1205_M8,
1746 		PCI_DEVICE_ID_LPe1205_M8,
1747 		PCI_SSDID_LPe1205_M8,
1748 		"LPe1205-M8",
1749 		"Dell LPe1205-M8 8Gb 2-port PCIe FC HBA",
1750 		"Emulex",
1751 #ifdef S10S11
1752 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1753 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1754 #else
1755 		EMLXS_NOT_SUPPORTED,
1756 #endif	/* S10S11 */
1757 		EMLXS_SATURN_CHIP,
1758 		LPe12000_FW,
1759 		EMLXS_INTR_NO_LIMIT,
1760 		2,
1761 		{0x78, 0},
1762 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1763 		{0},
1764 		{0x79, 0},
1765 		{0},
1766 		{0x79, 0},
1767 		{0},
1768 		{0x78, 0},
1769 	},
1770 
1771 	/* NEC Saturn Blade DC */
1772 	{
1773 		LPe1205_N,
1774 		PCI_DEVICE_ID_LPe1205_N,
1775 		PCI_SSDID_LPe1205_N,
1776 		"LPe1205-N",
1777 		"NEC LPe1205-N 8Gb 2-port PCIe FC HBA",
1778 		"Emulex",
1779 #ifdef S10S11
1780 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1781 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1782 #else
1783 		EMLXS_NOT_SUPPORTED,
1784 #endif	/* S10S11 */
1785 		EMLXS_SATURN_CHIP,
1786 		LPe12000_FW,
1787 		EMLXS_INTR_NO_LIMIT,
1788 		2,
1789 		{0x78, 0},
1790 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1791 		{0},
1792 		{0x79, 0},
1793 		{0},
1794 		{0x79, 0},
1795 		{0},
1796 		{0x78, 0},
1797 	},
1798 
1799 	/* HP Saturn Blade DC */
1800 	{
1801 		LPe1205_HP,
1802 		PCI_DEVICE_ID_LPe1205_HP,
1803 		PCI_SSDID_LPe1205_HP,
1804 		"LPe1205-HP",
1805 		"HP LPe1205-HP 8Gb 2-port PCIe FC HBA",
1806 		"Emulex",
1807 #ifdef S10S11
1808 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1809 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1810 #else
1811 		EMLXS_NOT_SUPPORTED,
1812 #endif	/* S10S11 */
1813 		EMLXS_SATURN_CHIP,
1814 		LPe12000_FW,
1815 		EMLXS_INTR_NO_LIMIT,
1816 		2,
1817 		{0x78, 0},
1818 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1819 		{0},
1820 		{0x79, 0},
1821 		{0},
1822 		{0x79, 0},
1823 		{0},
1824 		{0x78, 0},
1825 	},
1826 
1827 	/* FSC Saturn Blade DC */
1828 	{
1829 		BX900_FC82E,
1830 		PCI_DEVICE_ID_BX900_FC82E,
1831 		PCI_SSDID_BX900_FC82E,
1832 		"BX900-FC82E",
1833 		"FSC BX900-FC82E 8Gb 2-port PCIe FC HBA",
1834 		"Emulex",
1835 #ifdef S10S11
1836 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1837 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1838 #else
1839 		EMLXS_NOT_SUPPORTED,
1840 #endif	/* S10S11 */
1841 		EMLXS_SATURN_CHIP,
1842 		LPe12000_FW,
1843 		EMLXS_INTR_NO_LIMIT,
1844 		2,
1845 		{0x78, 0},
1846 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1847 		{0},
1848 		{0x79, 0},
1849 		{0},
1850 		{0x79, 0},
1851 		{0},
1852 		{0x78, 0},
1853 	},
1854 
1855 	/* Saturn (Sun Pallene) */
1856 	{
1857 		LPe12000_S,
1858 		PCI_DEVICE_ID_LPe12000_S,
1859 		PCI_SSDID_LPe12000_S,
1860 		"LPe12000-S",
1861 		"Emulex LPe12000-S 8Gb 1-port PCIe FC HBA",
1862 		"Emulex",
1863 #ifdef S10S11
1864 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1865 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1866 #else
1867 		EMLXS_NOT_SUPPORTED,
1868 #endif	/* S10S11 */
1869 		EMLXS_SATURN_CHIP,
1870 		LPe12000_FW,
1871 		EMLXS_INTR_NO_LIMIT,
1872 		1,
1873 		{0x78, 0},
1874 		{0x7C, 0},
1875 		{0},
1876 		{0x73, 0},
1877 		{0},
1878 		{0x73, 0},
1879 		{0},
1880 		{0x78, 0},
1881 	},
1882 
1883 	/* Saturn DC (Sun Pallene) */
1884 	{
1885 		LPe12002_S,
1886 		PCI_DEVICE_ID_LPe12002_S,
1887 		PCI_SSDID_LPe12002_S,
1888 		"LPe12002-S",
1889 		"Emulex LPe12002-S 8Gb 2-port PCIe FC HBA",
1890 		"Emulex",
1891 #ifdef S10S11
1892 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1893 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1894 #else
1895 		EMLXS_NOT_SUPPORTED,
1896 #endif	/* S10S11 */
1897 		EMLXS_SATURN_CHIP,
1898 		LPe12000_FW,
1899 		EMLXS_INTR_NO_LIMIT,
1900 		2,
1901 		{0x78, 0},
1902 		{0x7C, 0},
1903 		{0},
1904 		{0x73, 0},
1905 		{0},
1906 		{0x73, 0},
1907 		{0},
1908 		{0x78, 0},
1909 	},
1910 
1911 	/* Saturn Express Module (Sun Pallene) */
1912 	{
1913 		LPem12002_S,
1914 		PCI_DEVICE_ID_LPem12002_S,
1915 		PCI_SSDID_LPem12002_S,
1916 		"LPem12002-S",
1917 		"Emulex LPem12002-S 8Gb 2-port PCIe FC HBA",
1918 		"Emulex",
1919 #ifdef S10S11
1920 		EMLXS_SUN_BRANDED | EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1921 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1922 #else
1923 		EMLXS_NOT_SUPPORTED,
1924 #endif	/* S10S11 */
1925 		EMLXS_SATURN_CHIP,
1926 		LPe12000_FW,
1927 		EMLXS_INTR_NO_LIMIT,
1928 		2,
1929 		{0x78, 0},
1930 		{0x7C, 0},
1931 		{0},
1932 		{0x73, 0},
1933 		{0},
1934 		{0x73, 0},
1935 		{0},
1936 		{0x78, 0},
1937 	},
1938 
1939 
1940 	/*
1941 	 * ************************************ SPARE IDs
1942 	 *
1943 	 * Helios Enterprise Spare Id
1944 	 */
1945 	{
1946 		LP11000_SP,
1947 		PCI_DEVICE_ID_LP11000_SP,
1948 		PCI_SSDID_LP11000_SP,
1949 		"LP11000-SP",
1950 		"Emulex LP11000-SP 4Gb 1-port PCI-X2 FC HBA",
1951 		"Emulex",
1952 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1953 		EMLXS_HELIOS_CHIP,
1954 		LP11000_FW,
1955 		EMLXS_INTR_LIMIT1,
1956 		1,
1957 		{0xC3, 0xC8, 0},
1958 		{0xC1, 0xC2, 0xC3, 0xC5, 0xC6, 0xC7, 0},
1959 		{0xC3, 0},
1960 		{0xC3, 0},
1961 		{0},
1962 		{0xC3, 0},
1963 		{0},
1964 		{0xC0, 0},
1965 	},
1966 
1967 	/* Helios DC Enterprise Spare Id  */
1968 	{
1969 		LP11002_SP,
1970 		PCI_DEVICE_ID_LP11002_SP,
1971 		PCI_SSDID_LP11002_SP,
1972 		"LP11002-SP",
1973 		"Emulex LP11002-SP 4Gb 2-port PCI-X2 FC HBA",
1974 		"Emulex",
1975 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1976 		EMLXS_HELIOS_CHIP,
1977 		LP11002_FW,
1978 		EMLXS_INTR_LIMIT1,
1979 		2,
1980 		{0xC1, 0xC8, 0},
1981 		{0xC1, 0xC2, 0xC3, 0xC5, 0xC6, 0xC7, 0},
1982 		{0xC1, 0},
1983 		{0xC1, 0},
1984 		{0},
1985 		{0xC1, 0},
1986 		{0},
1987 		{0xC0, 0},
1988 	},
1989 
1990 	/* Zephyr Enterprise Spare Id  */
1991 	{
1992 		LPe11000_SP,
1993 		PCI_DEVICE_ID_LPe11000_SP,
1994 		PCI_SSDID_LPe11000_SP,
1995 		"LPe11000-SP",
1996 		"Emulex LPe11000-SP 4Gb 1-port PCIe FC HBA",
1997 		"Emulex",
1998 #ifdef S10S11
1999 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
2000 #else
2001 		EMLXS_NOT_SUPPORTED,
2002 #endif	/* S10S11 */
2003 		EMLXS_ZEPHYR_CHIP,
2004 		LPe11000_FW,
2005 		EMLXS_INTR_NO_LIMIT,
2006 		1,
2007 		{0xE3, 0xE8, 0},
2008 		{0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
2009 		{0xE3, 0},
2010 		{0xE3, 0},
2011 		{0},
2012 		{0xE3, 0},
2013 		{0},
2014 		{0xE0, 0},
2015 	},
2016 
2017 	/* Zephyr DC Enterprise Spare Id  */
2018 	{
2019 		LPe11002_SP,
2020 		PCI_DEVICE_ID_LPe11002_SP,
2021 		PCI_SSDID_LPe11002_SP,
2022 		"LPe11002-SP",
2023 		"Emulex LPe11002-SP 4Gb 2-port PCIe FC HBA",
2024 		"Emulex",
2025 #ifdef S10S11
2026 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
2027 #else
2028 		EMLXS_NOT_SUPPORTED,
2029 #endif	/* S10S11 */
2030 		EMLXS_ZEPHYR_CHIP,
2031 		LPe11002_FW,
2032 		EMLXS_INTR_NO_LIMIT,
2033 		2,
2034 		{0xE1, 0xE8, 0},
2035 		{0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
2036 		{0xE1, 0},
2037 		{0xE1, 0},
2038 		{0},
2039 		{0xE1, 0},
2040 		{0},
2041 		{0xE0, 0},
2042 	},
2043 
2044 	/* Zephyr DC Blade (Spare) */
2045 	{
2046 		LPe1105_SP,
2047 		PCI_DEVICE_ID_LPe1105_SP,
2048 		PCI_SSDID_LPe1105_SP,
2049 		"LPe1105-SP",
2050 		"Emulex LPe1105-SP 2Gb 2-port PCIe FC HBA",
2051 		"Emulex",
2052 #ifdef S10S11
2053 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
2054 #else
2055 		EMLXS_NOT_SUPPORTED,
2056 #endif	/* S10S11 */
2057 		EMLXS_ZEPHYR_CHIP,
2058 		LPe11002_FW,
2059 		EMLXS_INTR_NO_LIMIT,
2060 		2,
2061 		{0xE1, 0xE8, 0},
2062 		{0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
2063 		{0xE1, 0},
2064 		{0xE1, 0},
2065 		{0},
2066 		{0xE1, 0},
2067 		{0},
2068 		{0xE0, 0},
2069 	},
2070 
2071 	/* Neptune Enterprise (Spare) */
2072 	{
2073 		LPe1000_SP,
2074 		PCI_DEVICE_ID_LPe1000_SP,
2075 		PCI_SSDID_LPe1000_SP,
2076 		"LPe1000-SP",
2077 		"Emulex LPe1000-SP 4Gb 1-port PCIe FC HBA",
2078 		"Emulex",
2079 #ifdef S10S11
2080 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
2081 			EMLXS_MSIX_SUPPORTED,
2082 #else
2083 		EMLXS_NOT_SUPPORTED,
2084 #endif	/* S10S11 */
2085 		EMLXS_NEPTUNE_CHIP,
2086 		FW_NOT_PROVIDED,
2087 		EMLXS_INTR_NO_LIMIT,
2088 		1,
2089 		{0x38, 0},
2090 		{0x39, 0x3A, 0x3B, 0x3D, 0x3E, 0x3F, 0},
2091 		{0x32, 0},
2092 		{0x32, 0},
2093 		{0},
2094 		{0x32, 0},
2095 		{0},
2096 		{0x38, 0},
2097 	},
2098 
2099 	/* Neptune DC Enterprise Spare Id  */
2100 	{
2101 		LPe1002_SP,
2102 		PCI_DEVICE_ID_LPe1002_SP,
2103 		PCI_SSDID_LPe1002_SP,
2104 		"LPe1002-SP",
2105 		"Emulex LPe1002-SP 4Gb 2-port PCIe FC HBA",
2106 		"Emulex",
2107 #ifdef S10S11
2108 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
2109 			EMLXS_MSIX_SUPPORTED,
2110 #else
2111 		EMLXS_NOT_SUPPORTED,
2112 #endif	/* S10S11 */
2113 		EMLXS_NEPTUNE_CHIP,
2114 		FW_NOT_PROVIDED,
2115 		EMLXS_INTR_NO_LIMIT,
2116 		2,
2117 		{0x38, 0},
2118 		{0x39, 0x3A, 0x3B, 0x3D, 0x3E, 0x3F, 0},
2119 		{0x32, 0},
2120 		{0x32, 0},
2121 		{0},
2122 		{0x32, 0},
2123 		{0},
2124 		{0x38, 0},
2125 	},
2126 
2127 	/* Saturn  */
2128 	{
2129 		LPe12000_SP,
2130 		PCI_DEVICE_ID_LPe12000_SP,
2131 		PCI_SSDID_LPe12000_SP,
2132 		"LPe12000-SP",
2133 		"Emulex LPe12000-SP 8Gb 1-port PCIe FC HBA",
2134 		"Emulex",
2135 #ifdef S10S11
2136 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
2137 			EMLXS_MSIX_SUPPORTED |
2138 		EMLXS_E2E_SUPPORTED,
2139 #else
2140 		EMLXS_NOT_SUPPORTED,
2141 #endif	/* S10S11 */
2142 		EMLXS_SATURN_CHIP,
2143 		LPe12000_FW,
2144 		EMLXS_INTR_NO_LIMIT,
2145 		1,
2146 		{0x78, 0},
2147 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
2148 		{0},
2149 		{0x73, 0},
2150 		{0},
2151 		{0x73, 0},
2152 		{0},
2153 		{0x78, 0},
2154 	},
2155 
2156 	/* Saturn DC */
2157 	{
2158 		LPe12002_SP,
2159 		PCI_DEVICE_ID_LPe12002_SP,
2160 		PCI_SSDID_LPe12002_SP,
2161 		"LPe12002-SP",
2162 		"Emulex LPe12002-SP 8Gb 2-port PCIe FC HBA",
2163 		"Emulex",
2164 #ifdef S10S11
2165 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
2166 			EMLXS_MSIX_SUPPORTED |
2167 		EMLXS_E2E_SUPPORTED,
2168 #else
2169 		EMLXS_NOT_SUPPORTED,
2170 #endif	/* S10S11 */
2171 		EMLXS_SATURN_CHIP,
2172 		LPe12000_FW,
2173 		EMLXS_INTR_NO_LIMIT,
2174 		2,
2175 		{0x78, 0},
2176 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
2177 		{0},
2178 		{0x73, 0},
2179 		{0},
2180 		{0x73, 0},
2181 		{0},
2182 		{0x78, 0},
2183 	},
2184 
2185 	/* Saturn Blade 1 */
2186 	{
2187 		LPe1205_SP1,
2188 		PCI_DEVICE_ID_LPe1205_SP1,
2189 		PCI_SSDID_LPe1205_SP1,
2190 		"LPe1205-SP1",
2191 		"Emulex LPe1205-SP1 8Gb 2-port PCIe FC HBA",
2192 		"Emulex",
2193 #ifdef S10S11
2194 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
2195 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
2196 #else
2197 		EMLXS_NOT_SUPPORTED,
2198 #endif	/* S10S11 */
2199 		EMLXS_SATURN_CHIP,
2200 		LPe12000_FW,
2201 		EMLXS_INTR_NO_LIMIT,
2202 		2,
2203 		{0x78, 0},
2204 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
2205 		{0},
2206 		{0x79, 0},
2207 		{0},
2208 		{0x79, 0},
2209 		{0},
2210 		{0x78, 0},
2211 	},
2212 
2213 	/* Saturn Blade 2 */
2214 	{
2215 		LPe1205_SP2,
2216 		PCI_DEVICE_ID_LPe1205_SP2,
2217 		PCI_SSDID_LPe1205_SP2,
2218 		"LPe1205-SP2",
2219 		"Emulex LPe1205-SP2 8Gb 2-port PCIe FC HBA",
2220 		"Emulex",
2221 #ifdef S10S11
2222 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
2223 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
2224 #else
2225 		EMLXS_NOT_SUPPORTED,
2226 #endif	/* S10S11 */
2227 		EMLXS_SATURN_CHIP,
2228 		LPe12000_FW,
2229 		EMLXS_INTR_NO_LIMIT,
2230 		2,
2231 		{0x78, 0},
2232 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
2233 		{0},
2234 		{0x79, 0},
2235 		{0},
2236 		{0x79, 0},
2237 		{0},
2238 		{0x78, 0},
2239 	},
2240 
2241 	/* Saturn Blade 3 */
2242 	{
2243 		LPe1205_SP3,
2244 		PCI_DEVICE_ID_LPe1205_SP3,
2245 		PCI_SSDID_LPe1205_SP3,
2246 		"LPe1205-SP3",
2247 		"Emulex LPe1205-SP3 8Gb 2-port PCIe FC HBA",
2248 		"Emulex",
2249 #ifdef S10S11
2250 		EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
2251 			EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
2252 #else
2253 		EMLXS_NOT_SUPPORTED,
2254 #endif	/* S10S11 */
2255 		EMLXS_SATURN_CHIP,
2256 		LPe12000_FW,
2257 		EMLXS_INTR_NO_LIMIT,
2258 		2,
2259 		{0x78, 0},
2260 		{0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
2261 		{0},
2262 		{0x79, 0},
2263 		{0},
2264 		{0x79, 0},
2265 		{0},
2266 		{0x78, 0},
2267 	}
2268 
2269 };	/* emlxs_pci_model[] */
2270 
2271 #define	EMLXS_PCI_MODEL_COUNT \
2272 	(sizeof (emlxs_pci_model) / sizeof (emlxs_model_t))
2273 
2274 
2275 #endif	/* EMLXS_MODEL_DEF */
2276 
2277 #ifdef	__cplusplus
2278 }
2279 #endif
2280 
2281 #endif	/* _EMLXS_ADAPTERS_H */
2282