mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
3.7 KiB
119 lines
3.7 KiB
/* Broadcom NetXtreme-C/E network driver. |
|
* |
|
* Copyright (c) 2014-2016 Broadcom Corporation |
|
* |
|
* This program is free software; you can redistribute it and/or modify |
|
* it under the terms of the GNU General Public License as published by |
|
* the Free Software Foundation. |
|
*/ |
|
|
|
#ifndef __BNXT_FW_HDR_H__ |
|
#define __BNXT_FW_HDR_H__ |
|
|
|
#define BNXT_FIRMWARE_BIN_SIGNATURE 0x1a4d4342 /* "BCM"+0x1a */ |
|
#define BNXT_UCODE_TRAILER_SIGNATURE 0x726c7254 /* "Trlr" */ |
|
|
|
enum SUPPORTED_FAMILY { |
|
DEVICE_5702_3_4_FAMILY, /* 0 - Denali, Vinson, K2 */ |
|
DEVICE_5705_FAMILY, /* 1 - Bachelor */ |
|
DEVICE_SHASTA_FAMILY, /* 2 - 5751 */ |
|
DEVICE_5706_FAMILY, /* 3 - Teton */ |
|
DEVICE_5714_FAMILY, /* 4 - Hamilton */ |
|
DEVICE_STANFORD_FAMILY, /* 5 - 5755 */ |
|
DEVICE_STANFORD_ME_FAMILY, /* 6 - 5756 */ |
|
DEVICE_SOLEDAD_FAMILY, /* 7 - 5761[E] */ |
|
DEVICE_CILAI_FAMILY, /* 8 - 57780/60/90/91 */ |
|
DEVICE_ASPEN_FAMILY, /* 9 - 57781/85/61/65/91/95 */ |
|
DEVICE_ASPEN_PLUS_FAMILY, /* 10 - 57786 */ |
|
DEVICE_LOGAN_FAMILY, /* 11 - Any device in the Logan family |
|
*/ |
|
DEVICE_LOGAN_5762, /* 12 - Logan Enterprise (aka Columbia) |
|
*/ |
|
DEVICE_LOGAN_57767, /* 13 - Logan Client */ |
|
DEVICE_LOGAN_57787, /* 14 - Logan Consumer */ |
|
DEVICE_LOGAN_5725, /* 15 - Logan Server (TruManage-enabled) |
|
*/ |
|
DEVICE_SAWTOOTH_FAMILY, /* 16 - 5717/18 */ |
|
DEVICE_COTOPAXI_FAMILY, /* 17 - 5719 */ |
|
DEVICE_SNAGGLETOOTH_FAMILY, /* 18 - 5720 */ |
|
DEVICE_CUMULUS_FAMILY, /* 19 - Cumulus/Whitney */ |
|
MAX_DEVICE_FAMILY |
|
}; |
|
|
|
enum SUPPORTED_CODE { |
|
CODE_ASF1, /* 0 - ASF VERSION 1.03 <deprecated> */ |
|
CODE_ASF2, /* 1 - ASF VERSION 2.00 <deprecated> */ |
|
CODE_PASSTHRU, /* 2 - PassThru <deprecated> */ |
|
CODE_PT_SEC, /* 3 - PassThru with security <deprecated> */ |
|
CODE_UMP, /* 4 - UMP <deprecated> */ |
|
CODE_BOOT, /* 5 - Bootcode */ |
|
CODE_DASH, /* 6 - TruManage (DASH + ASF + PMCI) |
|
* Management firmwares |
|
*/ |
|
CODE_MCTP_PASSTHRU, /* 7 - NCSI / MCTP Passt-hrough firmware */ |
|
CODE_PM_OFFLOAD, /* 8 - Power-Management Proxy Offload firmwares |
|
*/ |
|
CODE_MDNS_SD_OFFLOAD, /* 9 - Multicast DNS Service Discovery Proxys |
|
* Offload firmware |
|
*/ |
|
CODE_DISC_OFFLOAD, /* 10 - Discovery Offload firmware */ |
|
CODE_MUSTANG, /* 11 - I2C Error reporting APE firmwares |
|
* <deprecated> |
|
*/ |
|
CODE_ARP_BATCH, /* 12 - ARP Batch firmware */ |
|
CODE_SMASH, /* 13 - TruManage (SMASH + DCMI/IPMI + PMCI) |
|
* Management firmware |
|
*/ |
|
CODE_APE_DIAG, /* 14 - APE Test Diag firmware */ |
|
CODE_APE_PATCH, /* 15 - APE Patch firmware */ |
|
CODE_TANG_PATCH, /* 16 - TANG Patch firmware */ |
|
CODE_KONG_FW, /* 17 - KONG firmware */ |
|
CODE_KONG_PATCH, /* 18 - KONG Patch firmware */ |
|
CODE_BONO_FW, /* 19 - BONO firmware */ |
|
CODE_BONO_PATCH, /* 20 - BONO Patch firmware */ |
|
CODE_CHIMP_PATCH, /* 21 - ChiMP Patch firmware */ |
|
|
|
MAX_CODE_TYPE, |
|
}; |
|
|
|
enum SUPPORTED_MEDIA { |
|
MEDIA_COPPER, /* 0 */ |
|
MEDIA_FIBER, /* 1 */ |
|
MEDIA_NONE, /* 2 */ |
|
MEDIA_COPPER_FIBER, /* 3 */ |
|
MAX_MEDIA_TYPE, |
|
}; |
|
|
|
struct bnxt_fw_header { |
|
__le32 signature; /* constains the constant value of |
|
* BNXT_FIRMWARE_BIN_SIGNATURE |
|
*/ |
|
u8 flags; /* reserved for ChiMP use */ |
|
u8 code_type; /* enum SUPPORTED_CODE */ |
|
u8 device; /* enum SUPPORTED_FAMILY */ |
|
u8 media; /* enum SUPPORTED_MEDIA */ |
|
u8 version[16]; /* the null terminated version string to |
|
* indicate the version of the |
|
* file, this will be copied from the binary |
|
* file version string |
|
*/ |
|
u8 build; |
|
u8 revision; |
|
u8 minor_ver; |
|
u8 major_ver; |
|
}; |
|
|
|
/* Microcode and pre-boot software/firmware trailer: */ |
|
struct bnxt_ucode_trailer { |
|
u8 rsa_sig[256]; |
|
__le16 flags; |
|
u8 version_format; |
|
u8 version_length; |
|
u8 version[16]; |
|
__le16 dir_type; |
|
__le16 trailer_length; |
|
__le32 sig; /* BNXT_UCODE_TRAILER_SIGNATURE */ |
|
__le32 chksum; /* CRC-32 */ |
|
}; |
|
|
|
#endif
|
|
|