![]() |
|
|||
0001 /* Broadcom NetXtreme-C/E network driver. 0002 * 0003 * Copyright (c) 2014-2016 Broadcom Corporation 0004 * 0005 * This program is free software; you can redistribute it and/or modify 0006 * it under the terms of the GNU General Public License as published by 0007 * the Free Software Foundation. 0008 */ 0009 0010 #ifndef __BNXT_FW_HDR_H__ 0011 #define __BNXT_FW_HDR_H__ 0012 0013 #define BNXT_FIRMWARE_BIN_SIGNATURE 0x1a4d4342 /* "BCM"+0x1a */ 0014 #define BNXT_UCODE_TRAILER_SIGNATURE 0x726c7254 /* "Trlr" */ 0015 0016 enum SUPPORTED_FAMILY { 0017 DEVICE_5702_3_4_FAMILY, /* 0 - Denali, Vinson, K2 */ 0018 DEVICE_5705_FAMILY, /* 1 - Bachelor */ 0019 DEVICE_SHASTA_FAMILY, /* 2 - 5751 */ 0020 DEVICE_5706_FAMILY, /* 3 - Teton */ 0021 DEVICE_5714_FAMILY, /* 4 - Hamilton */ 0022 DEVICE_STANFORD_FAMILY, /* 5 - 5755 */ 0023 DEVICE_STANFORD_ME_FAMILY, /* 6 - 5756 */ 0024 DEVICE_SOLEDAD_FAMILY, /* 7 - 5761[E] */ 0025 DEVICE_CILAI_FAMILY, /* 8 - 57780/60/90/91 */ 0026 DEVICE_ASPEN_FAMILY, /* 9 - 57781/85/61/65/91/95 */ 0027 DEVICE_ASPEN_PLUS_FAMILY, /* 10 - 57786 */ 0028 DEVICE_LOGAN_FAMILY, /* 11 - Any device in the Logan family 0029 */ 0030 DEVICE_LOGAN_5762, /* 12 - Logan Enterprise (aka Columbia) 0031 */ 0032 DEVICE_LOGAN_57767, /* 13 - Logan Client */ 0033 DEVICE_LOGAN_57787, /* 14 - Logan Consumer */ 0034 DEVICE_LOGAN_5725, /* 15 - Logan Server (TruManage-enabled) 0035 */ 0036 DEVICE_SAWTOOTH_FAMILY, /* 16 - 5717/18 */ 0037 DEVICE_COTOPAXI_FAMILY, /* 17 - 5719 */ 0038 DEVICE_SNAGGLETOOTH_FAMILY, /* 18 - 5720 */ 0039 DEVICE_CUMULUS_FAMILY, /* 19 - Cumulus/Whitney */ 0040 MAX_DEVICE_FAMILY 0041 }; 0042 0043 enum SUPPORTED_CODE { 0044 CODE_ASF1, /* 0 - ASF VERSION 1.03 <deprecated> */ 0045 CODE_ASF2, /* 1 - ASF VERSION 2.00 <deprecated> */ 0046 CODE_PASSTHRU, /* 2 - PassThru <deprecated> */ 0047 CODE_PT_SEC, /* 3 - PassThru with security <deprecated> */ 0048 CODE_UMP, /* 4 - UMP <deprecated> */ 0049 CODE_BOOT, /* 5 - Bootcode */ 0050 CODE_DASH, /* 6 - TruManage (DASH + ASF + PMCI) 0051 * Management firmwares 0052 */ 0053 CODE_MCTP_PASSTHRU, /* 7 - NCSI / MCTP Passt-hrough firmware */ 0054 CODE_PM_OFFLOAD, /* 8 - Power-Management Proxy Offload firmwares 0055 */ 0056 CODE_MDNS_SD_OFFLOAD, /* 9 - Multicast DNS Service Discovery Proxys 0057 * Offload firmware 0058 */ 0059 CODE_DISC_OFFLOAD, /* 10 - Discovery Offload firmware */ 0060 CODE_MUSTANG, /* 11 - I2C Error reporting APE firmwares 0061 * <deprecated> 0062 */ 0063 CODE_ARP_BATCH, /* 12 - ARP Batch firmware */ 0064 CODE_SMASH, /* 13 - TruManage (SMASH + DCMI/IPMI + PMCI) 0065 * Management firmware 0066 */ 0067 CODE_APE_DIAG, /* 14 - APE Test Diag firmware */ 0068 CODE_APE_PATCH, /* 15 - APE Patch firmware */ 0069 CODE_TANG_PATCH, /* 16 - TANG Patch firmware */ 0070 CODE_KONG_FW, /* 17 - KONG firmware */ 0071 CODE_KONG_PATCH, /* 18 - KONG Patch firmware */ 0072 CODE_BONO_FW, /* 19 - BONO firmware */ 0073 CODE_BONO_PATCH, /* 20 - BONO Patch firmware */ 0074 CODE_CHIMP_PATCH, /* 21 - ChiMP Patch firmware */ 0075 0076 MAX_CODE_TYPE, 0077 }; 0078 0079 enum SUPPORTED_MEDIA { 0080 MEDIA_COPPER, /* 0 */ 0081 MEDIA_FIBER, /* 1 */ 0082 MEDIA_NONE, /* 2 */ 0083 MEDIA_COPPER_FIBER, /* 3 */ 0084 MAX_MEDIA_TYPE, 0085 }; 0086 0087 struct bnxt_fw_header { 0088 __le32 signature; /* constains the constant value of 0089 * BNXT_FIRMWARE_BIN_SIGNATURE 0090 */ 0091 u8 flags; /* reserved for ChiMP use */ 0092 u8 code_type; /* enum SUPPORTED_CODE */ 0093 u8 device; /* enum SUPPORTED_FAMILY */ 0094 u8 media; /* enum SUPPORTED_MEDIA */ 0095 u8 version[16]; /* the null terminated version string to 0096 * indicate the version of the 0097 * file, this will be copied from the binary 0098 * file version string 0099 */ 0100 u8 build; 0101 u8 revision; 0102 u8 minor_ver; 0103 u8 major_ver; 0104 }; 0105 0106 /* Microcode and pre-boot software/firmware trailer: */ 0107 struct bnxt_ucode_trailer { 0108 u8 rsa_sig[256]; 0109 __le16 flags; 0110 u8 version_format; 0111 u8 version_length; 0112 u8 version[16]; 0113 __le16 dir_type; 0114 __le16 trailer_length; 0115 __le32 sig; /* BNXT_UCODE_TRAILER_SIGNATURE */ 0116 __le32 chksum; /* CRC-32 */ 0117 }; 0118 0119 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |