net/bnxt: support get/set EEPROM
[dpdk.git] / drivers / net / bnxt / bnxt_nvm_defs.h
1 /* Broadcom NetXtreme-C/E network driver.
2  *
3  * Copyright (c) 2014-2016 Broadcom Corporation
4  * Copyright (c) 2016-2017 Broadcom Limited
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation.
9  */
10
11 #ifndef _BNXT_NVM_DEFS_H_
12 #define _BNXT_NVM_DEFS_H_
13
14 enum bnxt_nvm_directory_type {
15         BNX_DIR_TYPE_UNUSED = 0,
16         BNX_DIR_TYPE_PKG_LOG = 1,
17         BNX_DIR_TYPE_UPDATE = 2,
18         BNX_DIR_TYPE_CHIMP_PATCH = 3,
19         BNX_DIR_TYPE_BOOTCODE = 4,
20         BNX_DIR_TYPE_VPD = 5,
21         BNX_DIR_TYPE_EXP_ROM_MBA = 6,
22         BNX_DIR_TYPE_AVS = 7,
23         BNX_DIR_TYPE_PCIE = 8,
24         BNX_DIR_TYPE_PORT_MACRO = 9,
25         BNX_DIR_TYPE_APE_FW = 10,
26         BNX_DIR_TYPE_APE_PATCH = 11,
27         BNX_DIR_TYPE_KONG_FW = 12,
28         BNX_DIR_TYPE_KONG_PATCH = 13,
29         BNX_DIR_TYPE_BONO_FW = 14,
30         BNX_DIR_TYPE_BONO_PATCH = 15,
31         BNX_DIR_TYPE_TANG_FW = 16,
32         BNX_DIR_TYPE_TANG_PATCH = 17,
33         BNX_DIR_TYPE_BOOTCODE_2 = 18,
34         BNX_DIR_TYPE_CCM = 19,
35         BNX_DIR_TYPE_PCI_CFG = 20,
36         BNX_DIR_TYPE_TSCF_UCODE = 21,
37         BNX_DIR_TYPE_ISCSI_BOOT = 22,
38         BNX_DIR_TYPE_ISCSI_BOOT_IPV6 = 24,
39         BNX_DIR_TYPE_ISCSI_BOOT_IPV4N6 = 25,
40         BNX_DIR_TYPE_ISCSI_BOOT_CFG6 = 26,
41         BNX_DIR_TYPE_EXT_PHY = 27,
42         BNX_DIR_TYPE_SHARED_CFG = 40,
43         BNX_DIR_TYPE_PORT_CFG = 41,
44         BNX_DIR_TYPE_FUNC_CFG = 42,
45         BNX_DIR_TYPE_MGMT_CFG = 48,
46         BNX_DIR_TYPE_MGMT_DATA = 49,
47         BNX_DIR_TYPE_MGMT_WEB_DATA = 50,
48         BNX_DIR_TYPE_MGMT_WEB_META = 51,
49         BNX_DIR_TYPE_MGMT_EVENT_LOG = 52,
50         BNX_DIR_TYPE_MGMT_AUDIT_LOG = 53
51 };
52
53 #define BNX_DIR_ORDINAL_FIRST                   0
54
55 #define BNX_DIR_EXT_NONE                        0
56 #define BNX_DIR_EXT_INACTIVE                    (1 << 0)
57 #define BNX_DIR_EXT_UPDATE                      (1 << 1)
58
59 #define BNX_DIR_ATTR_NONE                       0
60 #define BNX_DIR_ATTR_NO_CHKSUM                  (1 << 0)
61 #define BNX_DIR_ATTR_PROP_STREAM                (1 << 1)
62
63 #define BNX_PKG_LOG_MAX_LENGTH                  4096
64
65 enum bnxnvm_pkglog_field_index {
66         BNX_PKG_LOG_FIELD_IDX_INSTALLED_TIMESTAMP       = 0,
67         BNX_PKG_LOG_FIELD_IDX_PKG_DESCRIPTION           = 1,
68         BNX_PKG_LOG_FIELD_IDX_PKG_VERSION               = 2,
69         BNX_PKG_LOG_FIELD_IDX_PKG_TIMESTAMP             = 3,
70         BNX_PKG_LOG_FIELD_IDX_PKG_CHECKSUM              = 4,
71         BNX_PKG_LOG_FIELD_IDX_INSTALLED_ITEMS           = 5,
72         BNX_PKG_LOG_FIELD_IDX_INSTALLED_MASK            = 6
73 };
74
75 #endif                          /* Don't add anything after this line */