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