1291a2b48SSukumar Swaminathan /* 2291a2b48SSukumar Swaminathan * CDDL HEADER START 3291a2b48SSukumar Swaminathan * 4291a2b48SSukumar Swaminathan * The contents of this file are subject to the terms of the 5291a2b48SSukumar Swaminathan * Common Development and Distribution License (the "License"). 6291a2b48SSukumar Swaminathan * You may not use this file except in compliance with the License. 7291a2b48SSukumar Swaminathan * 8291a2b48SSukumar Swaminathan * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9291a2b48SSukumar Swaminathan * or http://www.opensolaris.org/os/licensing. 10291a2b48SSukumar Swaminathan * See the License for the specific language governing permissions 11291a2b48SSukumar Swaminathan * and limitations under the License. 12291a2b48SSukumar Swaminathan * 13291a2b48SSukumar Swaminathan * When distributing Covered Code, include this CDDL HEADER in each 14291a2b48SSukumar Swaminathan * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15291a2b48SSukumar Swaminathan * If applicable, add the following below this CDDL HEADER, with the 16291a2b48SSukumar Swaminathan * fields enclosed by brackets "[]" replaced with your own identifying 17291a2b48SSukumar Swaminathan * information: Portions Copyright [yyyy] [name of copyright owner] 18291a2b48SSukumar Swaminathan * 19291a2b48SSukumar Swaminathan * CDDL HEADER END 20291a2b48SSukumar Swaminathan */ 21291a2b48SSukumar Swaminathan 22291a2b48SSukumar Swaminathan /* 23291a2b48SSukumar Swaminathan * Copyright 2009 Emulex. All rights reserved. 24*82527734SSukumar Swaminathan * Use is subject to license terms. 25291a2b48SSukumar Swaminathan */ 26291a2b48SSukumar Swaminathan 27291a2b48SSukumar Swaminathan #ifndef _EMLXS_FW_H 28291a2b48SSukumar Swaminathan #define _EMLXS_FW_H 29291a2b48SSukumar Swaminathan 30291a2b48SSukumar Swaminathan #ifdef __cplusplus 31291a2b48SSukumar Swaminathan extern "C" { 32291a2b48SSukumar Swaminathan #endif 33291a2b48SSukumar Swaminathan 34291a2b48SSukumar Swaminathan #if 0 35291a2b48SSukumar Swaminathan #define EMLXS_FW_TABLE_DEF /* Causes the firmware table to be */ 36291a2b48SSukumar Swaminathan /* defined in local memory. */ 37291a2b48SSukumar Swaminathan 38291a2b48SSukumar Swaminathan #define EMLXS_FW_IMAGE_DEF /* Causes the firmware image to be */ 39291a2b48SSukumar Swaminathan /* defined in the firmware table. */ 40291a2b48SSukumar Swaminathan #endif 41291a2b48SSukumar Swaminathan 42291a2b48SSukumar Swaminathan #define EMLXS_FW_MODULE "misc/emlxs/emlxs_fw" 43291a2b48SSukumar Swaminathan 44291a2b48SSukumar Swaminathan /* Unique id for each firmware image */ 45291a2b48SSukumar Swaminathan typedef enum emlxs_fwid 46291a2b48SSukumar Swaminathan { 47291a2b48SSukumar Swaminathan FW_NOT_PROVIDED = 0, 48291a2b48SSukumar Swaminathan LP10000_FW, 49291a2b48SSukumar Swaminathan LP11000_FW, 50291a2b48SSukumar Swaminathan LP11002_FW, 51291a2b48SSukumar Swaminathan LPe11000_FW, 52291a2b48SSukumar Swaminathan LPe11002_FW, 53291a2b48SSukumar Swaminathan LPe12000_FW 54291a2b48SSukumar Swaminathan } emlxs_fwid_t; 55291a2b48SSukumar Swaminathan 56291a2b48SSukumar Swaminathan /* Firmware image descriptor */ 57291a2b48SSukumar Swaminathan typedef struct emlxs_firmware 58291a2b48SSukumar Swaminathan { 59291a2b48SSukumar Swaminathan emlxs_fwid_t id; 60291a2b48SSukumar Swaminathan uint32_t size; 61291a2b48SSukumar Swaminathan uint8_t *image; 62291a2b48SSukumar Swaminathan char label[64]; 63291a2b48SSukumar Swaminathan uint32_t kern; 64291a2b48SSukumar Swaminathan uint32_t stub; 65291a2b48SSukumar Swaminathan uint32_t sli1; 66291a2b48SSukumar Swaminathan uint32_t sli2; 67291a2b48SSukumar Swaminathan uint32_t sli3; 68291a2b48SSukumar Swaminathan uint32_t sli4; 69291a2b48SSukumar Swaminathan } emlxs_firmware_t; 70291a2b48SSukumar Swaminathan 71291a2b48SSukumar Swaminathan 72291a2b48SSukumar Swaminathan #ifdef EMLXS_FW_TABLE_DEF 73291a2b48SSukumar Swaminathan 74291a2b48SSukumar Swaminathan #ifndef MODFW_SUPPORT 75291a2b48SSukumar Swaminathan #define EMLXS_FW_IMAGE_DEF 76291a2b48SSukumar Swaminathan #endif /* MODFW_SUPPORT */ 77291a2b48SSukumar Swaminathan 78291a2b48SSukumar Swaminathan /* Provide firmware information for each adapter */ 79291a2b48SSukumar Swaminathan #include <fw_lp10000.h> 80291a2b48SSukumar Swaminathan #include <fw_lp11000.h> 81291a2b48SSukumar Swaminathan #include <fw_lp11002.h> 82291a2b48SSukumar Swaminathan #include <fw_lpe11000.h> 83291a2b48SSukumar Swaminathan #include <fw_lpe11002.h> 84291a2b48SSukumar Swaminathan #include <fw_lpe12000.h> 85291a2b48SSukumar Swaminathan 86291a2b48SSukumar Swaminathan /* Build the firmware table */ 87*82527734SSukumar Swaminathan #define EMLXS_FW_TABLE \ 88*82527734SSukumar Swaminathan {\ 89*82527734SSukumar Swaminathan {\ 90*82527734SSukumar Swaminathan LP10000_FW,\ 91*82527734SSukumar Swaminathan emlxs_lp10000_size,\ 92*82527734SSukumar Swaminathan emlxs_lp10000_image,\ 93*82527734SSukumar Swaminathan emlxs_lp10000_label,\ 94*82527734SSukumar Swaminathan emlxs_lp10000_kern,\ 95*82527734SSukumar Swaminathan emlxs_lp10000_stub,\ 96*82527734SSukumar Swaminathan emlxs_lp10000_sli1,\ 97*82527734SSukumar Swaminathan emlxs_lp10000_sli2,\ 98*82527734SSukumar Swaminathan emlxs_lp10000_sli3,\ 99*82527734SSukumar Swaminathan emlxs_lp10000_sli4\ 100*82527734SSukumar Swaminathan },\ 101*82527734SSukumar Swaminathan {\ 102*82527734SSukumar Swaminathan LP11000_FW,\ 103*82527734SSukumar Swaminathan emlxs_lp11000_size,\ 104*82527734SSukumar Swaminathan emlxs_lp11000_image,\ 105*82527734SSukumar Swaminathan emlxs_lp11000_label,\ 106*82527734SSukumar Swaminathan emlxs_lp11000_kern,\ 107*82527734SSukumar Swaminathan emlxs_lp11000_stub,\ 108*82527734SSukumar Swaminathan emlxs_lp11000_sli1,\ 109*82527734SSukumar Swaminathan emlxs_lp11000_sli2,\ 110*82527734SSukumar Swaminathan emlxs_lp11000_sli3,\ 111*82527734SSukumar Swaminathan emlxs_lp11000_sli4,\ 112*82527734SSukumar Swaminathan },\ 113*82527734SSukumar Swaminathan {\ 114*82527734SSukumar Swaminathan LP11002_FW,\ 115*82527734SSukumar Swaminathan emlxs_lp11002_size,\ 116*82527734SSukumar Swaminathan emlxs_lp11002_image,\ 117*82527734SSukumar Swaminathan emlxs_lp11002_label,\ 118*82527734SSukumar Swaminathan emlxs_lp11002_kern,\ 119*82527734SSukumar Swaminathan emlxs_lp11002_stub,\ 120*82527734SSukumar Swaminathan emlxs_lp11002_sli1,\ 121*82527734SSukumar Swaminathan emlxs_lp11002_sli2,\ 122*82527734SSukumar Swaminathan emlxs_lp11002_sli3,\ 123*82527734SSukumar Swaminathan emlxs_lp11002_sli4\ 124*82527734SSukumar Swaminathan },\ 125*82527734SSukumar Swaminathan {\ 126*82527734SSukumar Swaminathan LPe11000_FW,\ 127*82527734SSukumar Swaminathan emlxs_lpe11000_size,\ 128*82527734SSukumar Swaminathan emlxs_lpe11000_image,\ 129*82527734SSukumar Swaminathan emlxs_lpe11000_label,\ 130*82527734SSukumar Swaminathan emlxs_lpe11000_kern,\ 131*82527734SSukumar Swaminathan emlxs_lpe11000_stub,\ 132*82527734SSukumar Swaminathan emlxs_lpe11000_sli1,\ 133*82527734SSukumar Swaminathan emlxs_lpe11000_sli2,\ 134*82527734SSukumar Swaminathan emlxs_lpe11000_sli3,\ 135*82527734SSukumar Swaminathan emlxs_lpe11000_sli4\ 136*82527734SSukumar Swaminathan },\ 137*82527734SSukumar Swaminathan {\ 138*82527734SSukumar Swaminathan LPe11002_FW,\ 139*82527734SSukumar Swaminathan emlxs_lpe11002_size,\ 140*82527734SSukumar Swaminathan emlxs_lpe11002_image,\ 141*82527734SSukumar Swaminathan emlxs_lpe11002_label,\ 142*82527734SSukumar Swaminathan emlxs_lpe11002_kern,\ 143*82527734SSukumar Swaminathan emlxs_lpe11002_stub,\ 144*82527734SSukumar Swaminathan emlxs_lpe11002_sli1,\ 145*82527734SSukumar Swaminathan emlxs_lpe11002_sli2,\ 146*82527734SSukumar Swaminathan emlxs_lpe11002_sli3,\ 147*82527734SSukumar Swaminathan emlxs_lpe11002_sli4\ 148*82527734SSukumar Swaminathan },\ 149*82527734SSukumar Swaminathan {\ 150*82527734SSukumar Swaminathan LPe12000_FW,\ 151*82527734SSukumar Swaminathan emlxs_lpe12000_size,\ 152*82527734SSukumar Swaminathan emlxs_lpe12000_image,\ 153*82527734SSukumar Swaminathan emlxs_lpe12000_label,\ 154*82527734SSukumar Swaminathan emlxs_lpe12000_kern,\ 155*82527734SSukumar Swaminathan emlxs_lpe12000_stub,\ 156*82527734SSukumar Swaminathan emlxs_lpe12000_sli1,\ 157*82527734SSukumar Swaminathan emlxs_lpe12000_sli2,\ 158*82527734SSukumar Swaminathan emlxs_lpe12000_sli3,\ 159*82527734SSukumar Swaminathan emlxs_lpe12000_sli4\ 160*82527734SSukumar Swaminathan }\ 161*82527734SSukumar Swaminathan } 162291a2b48SSukumar Swaminathan #endif /* EMLXS_FW_TABLE_DEF */ 163291a2b48SSukumar Swaminathan 164291a2b48SSukumar Swaminathan #ifdef __cplusplus 165291a2b48SSukumar Swaminathan } 166291a2b48SSukumar Swaminathan #endif 167291a2b48SSukumar Swaminathan 168291a2b48SSukumar Swaminathan #endif /* _EMLXS_FW_H */ 169