4 * Copyright(c) Broadcom Limited.
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
11 * * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in
15 * the documentation and/or other materials provided with the
17 * * Neither the name of Broadcom Corporation nor the names of its
18 * contributors may be used to endorse or promote products derived
19 * from this software without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 #ifndef _BNXT_NVM_DEFS_H_
36 #define _BNXT_NVM_DEFS_H_
38 enum bnxt_nvm_directory_type {
39 BNX_DIR_TYPE_UNUSED = 0,
40 BNX_DIR_TYPE_PKG_LOG = 1,
41 BNX_DIR_TYPE_UPDATE = 2,
42 BNX_DIR_TYPE_CHIMP_PATCH = 3,
43 BNX_DIR_TYPE_BOOTCODE = 4,
45 BNX_DIR_TYPE_EXP_ROM_MBA = 6,
47 BNX_DIR_TYPE_PCIE = 8,
48 BNX_DIR_TYPE_PORT_MACRO = 9,
49 BNX_DIR_TYPE_APE_FW = 10,
50 BNX_DIR_TYPE_APE_PATCH = 11,
51 BNX_DIR_TYPE_KONG_FW = 12,
52 BNX_DIR_TYPE_KONG_PATCH = 13,
53 BNX_DIR_TYPE_BONO_FW = 14,
54 BNX_DIR_TYPE_BONO_PATCH = 15,
55 BNX_DIR_TYPE_TANG_FW = 16,
56 BNX_DIR_TYPE_TANG_PATCH = 17,
57 BNX_DIR_TYPE_BOOTCODE_2 = 18,
58 BNX_DIR_TYPE_CCM = 19,
59 BNX_DIR_TYPE_PCI_CFG = 20,
60 BNX_DIR_TYPE_TSCF_UCODE = 21,
61 BNX_DIR_TYPE_ISCSI_BOOT = 22,
62 BNX_DIR_TYPE_ISCSI_BOOT_IPV6 = 24,
63 BNX_DIR_TYPE_ISCSI_BOOT_IPV4N6 = 25,
64 BNX_DIR_TYPE_ISCSI_BOOT_CFG6 = 26,
65 BNX_DIR_TYPE_EXT_PHY = 27,
66 BNX_DIR_TYPE_SHARED_CFG = 40,
67 BNX_DIR_TYPE_PORT_CFG = 41,
68 BNX_DIR_TYPE_FUNC_CFG = 42,
69 BNX_DIR_TYPE_MGMT_CFG = 48,
70 BNX_DIR_TYPE_MGMT_DATA = 49,
71 BNX_DIR_TYPE_MGMT_WEB_DATA = 50,
72 BNX_DIR_TYPE_MGMT_WEB_META = 51,
73 BNX_DIR_TYPE_MGMT_EVENT_LOG = 52,
74 BNX_DIR_TYPE_MGMT_AUDIT_LOG = 53
77 #define BNX_DIR_ORDINAL_FIRST 0
79 #define BNX_DIR_EXT_NONE 0
80 #define BNX_DIR_EXT_INACTIVE (1 << 0)
81 #define BNX_DIR_EXT_UPDATE (1 << 1)
83 #define BNX_DIR_ATTR_NONE 0
84 #define BNX_DIR_ATTR_NO_CHKSUM (1 << 0)
85 #define BNX_DIR_ATTR_PROP_STREAM (1 << 1)
87 #define BNX_PKG_LOG_MAX_LENGTH 4096
89 enum bnxnvm_pkglog_field_index {
90 BNX_PKG_LOG_FIELD_IDX_INSTALLED_TIMESTAMP = 0,
91 BNX_PKG_LOG_FIELD_IDX_PKG_DESCRIPTION = 1,
92 BNX_PKG_LOG_FIELD_IDX_PKG_VERSION = 2,
93 BNX_PKG_LOG_FIELD_IDX_PKG_TIMESTAMP = 3,
94 BNX_PKG_LOG_FIELD_IDX_PKG_CHECKSUM = 4,
95 BNX_PKG_LOG_FIELD_IDX_INSTALLED_ITEMS = 5,
96 BNX_PKG_LOG_FIELD_IDX_INSTALLED_MASK = 6
99 #endif /* Don't add anything after this line */