New upstream version 17.11.3
[deb_dpdk.git] / drivers / net / bnxt / bnxt_nvm_defs.h
1 /*-
2  *   BSD LICENSE
3  *
4  *   Copyright(c) Broadcom Limited.
5  *   All rights reserved.
6  *
7  *   Redistribution and use in source and binary forms, with or without
8  *   modification, are permitted provided that the following conditions
9  *   are met:
10  *
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
16  *       distribution.
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.
20  *
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.
32  */
33
34
35 #ifndef _BNXT_NVM_DEFS_H_
36 #define _BNXT_NVM_DEFS_H_
37
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,
44         BNX_DIR_TYPE_VPD = 5,
45         BNX_DIR_TYPE_EXP_ROM_MBA = 6,
46         BNX_DIR_TYPE_AVS = 7,
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
75 };
76
77 #define BNX_DIR_ORDINAL_FIRST                   0
78
79 #define BNX_DIR_EXT_NONE                        0
80 #define BNX_DIR_EXT_INACTIVE                    (1 << 0)
81 #define BNX_DIR_EXT_UPDATE                      (1 << 1)
82
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)
86
87 #define BNX_PKG_LOG_MAX_LENGTH                  4096
88
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
97 };
98
99 #endif                          /* Don't add anything after this line */