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