2 * Copyright (C) 2005 - 2008 ServerEngines
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License version 2
7 * as published by the Free Software Foundation. The full GNU General
8 * Public License is included in this distribution in the file called COPYING.
10 * Contact Information:
11 * linux-drivers@serverengines.com
14 * 209 N. Fair Oaks Ave
18 * Autogenerated by srcgen version: 0127
20 #ifndef __fwcmd_opcodes_amap_h__
21 #define __fwcmd_opcodes_amap_h__
24 * --- FWCMD_SUBSYSTEMS ---
25 * The commands are grouped into the following subsystems. The subsystem
26 * code along with the opcode uniquely identify a particular fwcmd.
28 #define FWCMD_SUBSYSTEM_RSVD (0) /* This subsystem is reserved. It is */
30 #define FWCMD_SUBSYSTEM_COMMON (1) /* CMDs in this group are common to
32 * COMMON_SUBSYSTEM_OPCODES for opcodes
33 * and Common Host Configuration CMDs
34 * for the FWCMD descriptions.
36 #define FWCMD_SUBSYSTEM_COMMON_ISCSI (2) /* CMDs in this group are */
38 * common to Initiator and Target. See
39 * COMMON_ISCSI_SUBSYSTEM_OPCODES and
40 * Common iSCSI Initiator and Target
41 * CMDs for the command descriptions.
43 #define FWCMD_SUBSYSTEM_ETH (3) /* This subsystem is used to
44 execute Ethernet commands. */
46 #define FWCMD_SUBSYSTEM_TPM (4) /* This subsystem is used
47 to execute TPM commands. */
48 #define FWCMD_SUBSYSTEM_PXE_UNDI (5) /* This subsystem is used
50 * and UNDI specific commands.
53 #define FWCMD_SUBSYSTEM_ISCSI_INI (6) /* This subsystem is used to
54 execute ISCSI Initiator
57 #define FWCMD_SUBSYSTEM_ISCSI_TGT (7) /* This subsystem is used
58 to execute iSCSI Target
59 specific commands.between
62 #define FWCMD_SUBSYSTEM_MILI_PTL (8) /* This subsystem is used to
63 execute iSCSI Target specific
66 #define FWCMD_SUBSYSTEM_MILI_TMD (9) /* This subsystem is used to
67 execute iSCSI Target specific
70 #define FWCMD_SUBSYSTEM_PROXY (11) /* This subsystem is used
71 to execute proxied commands
72 within the host at the
74 non priviledged domain.
75 This 'subsystem' is entirely
76 virtual from the controller
77 and firmware perspective as
78 it is implemented in host
83 * --- COMMON_SUBSYSTEM_OPCODES ---
84 * These opcodes are common to both networking and storage PCI
85 * functions. They are used to reserve resources and configure
86 * BladeEngine. These opcodes all use the FWCMD_SUBSYSTEM_COMMON
89 #define OPCODE_COMMON_NTWK_MAC_QUERY (1)
90 #define SUBSYSTEM_COMMON_NTWK_MAC_QUERY (1)
91 #define SUBSYSTEM_COMMON_NTWK_MAC_SET (1)
92 #define SUBSYSTEM_COMMON_NTWK_MULTICAST_SET (1)
93 #define SUBSYSTEM_COMMON_NTWK_VLAN_CONFIG (1)
94 #define SUBSYSTEM_COMMON_NTWK_LINK_STATUS_QUERY (1)
95 #define SUBSYSTEM_COMMON_READ_FLASHROM (1)
96 #define SUBSYSTEM_COMMON_WRITE_FLASHROM (1)
97 #define SUBSYSTEM_COMMON_QUERY_MAX_FWCMD_BUFFER_SIZE (1)
98 #define SUBSYSTEM_COMMON_ADD_PAGE_TABLES (1)
99 #define SUBSYSTEM_COMMON_REMOVE_PAGE_TABLES (1)
100 #define SUBSYSTEM_COMMON_RING_DESTROY (1)
101 #define SUBSYSTEM_COMMON_CQ_CREATE (1)
102 #define SUBSYSTEM_COMMON_EQ_CREATE (1)
103 #define SUBSYSTEM_COMMON_ETH_RX_CREATE (1)
104 #define SUBSYSTEM_COMMON_ETH_TX_CREATE (1)
105 #define SUBSYSTEM_COMMON_ISCSI_DEFQ_CREATE (1)
106 #define SUBSYSTEM_COMMON_ISCSI_WRBQ_CREATE (1)
107 #define SUBSYSTEM_COMMON_MCC_CREATE (1)
108 #define SUBSYSTEM_COMMON_JELL_CONFIG (1)
109 #define SUBSYSTEM_COMMON_FORCE_FAILOVER (1)
110 #define SUBSYSTEM_COMMON_ADD_TEMPLATE_HEADER_BUFFERS (1)
111 #define SUBSYSTEM_COMMON_REMOVE_TEMPLATE_HEADER_BUFFERS (1)
112 #define SUBSYSTEM_COMMON_POST_ZERO_BUFFER (1)
113 #define SUBSYSTEM_COMMON_GET_QOS (1)
114 #define SUBSYSTEM_COMMON_SET_QOS (1)
115 #define SUBSYSTEM_COMMON_TCP_GET_STATISTICS (1)
116 #define SUBSYSTEM_COMMON_SEEPROM_READ (1)
117 #define SUBSYSTEM_COMMON_TCP_STATE_QUERY (1)
118 #define SUBSYSTEM_COMMON_GET_CNTL_ATTRIBUTES (1)
119 #define SUBSYSTEM_COMMON_NOP (1)
120 #define SUBSYSTEM_COMMON_NTWK_RX_FILTER (1)
121 #define SUBSYSTEM_COMMON_GET_FW_VERSION (1)
122 #define SUBSYSTEM_COMMON_SET_FLOW_CONTROL (1)
123 #define SUBSYSTEM_COMMON_GET_FLOW_CONTROL (1)
124 #define SUBSYSTEM_COMMON_SET_TCP_PARAMETERS (1)
125 #define SUBSYSTEM_COMMON_SET_FRAME_SIZE (1)
126 #define SUBSYSTEM_COMMON_GET_FAT (1)
127 #define SUBSYSTEM_COMMON_MODIFY_EQ_DELAY (1)
128 #define SUBSYSTEM_COMMON_FIRMWARE_CONFIG (1)
129 #define SUBSYSTEM_COMMON_ENABLE_DISABLE_DOMAINS (1)
130 #define SUBSYSTEM_COMMON_GET_DOMAIN_CONFIG (1)
131 #define SUBSYSTEM_COMMON_SET_VLD_CONFIG (1)
132 #define SUBSYSTEM_COMMON_GET_VLD_CONFIG (1)
133 #define SUBSYSTEM_COMMON_GET_PORT_EQUALIZATION (1)
134 #define SUBSYSTEM_COMMON_SET_PORT_EQUALIZATION (1)
135 #define SUBSYSTEM_COMMON_RED_CONFIG (1)
136 #define OPCODE_COMMON_NTWK_MAC_SET (2)
137 #define OPCODE_COMMON_NTWK_MULTICAST_SET (3)
138 #define OPCODE_COMMON_NTWK_VLAN_CONFIG (4)
139 #define OPCODE_COMMON_NTWK_LINK_STATUS_QUERY (5)
140 #define OPCODE_COMMON_READ_FLASHROM (6)
141 #define OPCODE_COMMON_WRITE_FLASHROM (7)
142 #define OPCODE_COMMON_QUERY_MAX_FWCMD_BUFFER_SIZE (8)
143 #define OPCODE_COMMON_ADD_PAGE_TABLES (9)
144 #define OPCODE_COMMON_REMOVE_PAGE_TABLES (10)
145 #define OPCODE_COMMON_RING_DESTROY (11)
146 #define OPCODE_COMMON_CQ_CREATE (12)
147 #define OPCODE_COMMON_EQ_CREATE (13)
148 #define OPCODE_COMMON_ETH_RX_CREATE (14)
149 #define OPCODE_COMMON_ETH_TX_CREATE (15)
150 #define OPCODE_COMMON_NET_RESERVED0 (16) /* Reserved */
151 #define OPCODE_COMMON_NET_RESERVED1 (17) /* Reserved */
152 #define OPCODE_COMMON_NET_RESERVED2 (18) /* Reserved */
153 #define OPCODE_COMMON_ISCSI_DEFQ_CREATE (19)
154 #define OPCODE_COMMON_ISCSI_WRBQ_CREATE (20)
155 #define OPCODE_COMMON_MCC_CREATE (21)
156 #define OPCODE_COMMON_JELL_CONFIG (22)
157 #define OPCODE_COMMON_FORCE_FAILOVER (23)
158 #define OPCODE_COMMON_ADD_TEMPLATE_HEADER_BUFFERS (24)
159 #define OPCODE_COMMON_REMOVE_TEMPLATE_HEADER_BUFFERS (25)
160 #define OPCODE_COMMON_POST_ZERO_BUFFER (26)
161 #define OPCODE_COMMON_GET_QOS (27)
162 #define OPCODE_COMMON_SET_QOS (28)
163 #define OPCODE_COMMON_TCP_GET_STATISTICS (29)
164 #define OPCODE_COMMON_SEEPROM_READ (30)
165 #define OPCODE_COMMON_TCP_STATE_QUERY (31)
166 #define OPCODE_COMMON_GET_CNTL_ATTRIBUTES (32)
167 #define OPCODE_COMMON_NOP (33)
168 #define OPCODE_COMMON_NTWK_RX_FILTER (34)
169 #define OPCODE_COMMON_GET_FW_VERSION (35)
170 #define OPCODE_COMMON_SET_FLOW_CONTROL (36)
171 #define OPCODE_COMMON_GET_FLOW_CONTROL (37)
172 #define OPCODE_COMMON_SET_TCP_PARAMETERS (38)
173 #define OPCODE_COMMON_SET_FRAME_SIZE (39)
174 #define OPCODE_COMMON_GET_FAT (40)
175 #define OPCODE_COMMON_MODIFY_EQ_DELAY (41)
176 #define OPCODE_COMMON_FIRMWARE_CONFIG (42)
177 #define OPCODE_COMMON_ENABLE_DISABLE_DOMAINS (43)
178 #define OPCODE_COMMON_GET_DOMAIN_CONFIG (44)
179 #define OPCODE_COMMON_SET_VLD_CONFIG (45)
180 #define OPCODE_COMMON_GET_VLD_CONFIG (46)
181 #define OPCODE_COMMON_GET_PORT_EQUALIZATION (47)
182 #define OPCODE_COMMON_SET_PORT_EQUALIZATION (48)
183 #define OPCODE_COMMON_RED_CONFIG (49)
188 * --- ETH_SUBSYSTEM_OPCODES ---
189 * These opcodes are used for configuring the Ethernet interfaces. These
190 * opcodes all use the FWCMD_SUBSYSTEM_ETH subsystem code.
192 #define OPCODE_ETH_RSS_CONFIG (1)
193 #define OPCODE_ETH_ACPI_CONFIG (2)
194 #define SUBSYSTEM_ETH_RSS_CONFIG (3)
195 #define SUBSYSTEM_ETH_ACPI_CONFIG (3)
196 #define OPCODE_ETH_PROMISCUOUS (3)
197 #define SUBSYSTEM_ETH_PROMISCUOUS (3)
198 #define SUBSYSTEM_ETH_GET_STATISTICS (3)
199 #define SUBSYSTEM_ETH_GET_RX_FRAG_SIZE (3)
200 #define SUBSYSTEM_ETH_SET_RX_FRAG_SIZE (3)
201 #define OPCODE_ETH_GET_STATISTICS (4)
202 #define OPCODE_ETH_GET_RX_FRAG_SIZE (5)
203 #define OPCODE_ETH_SET_RX_FRAG_SIZE (6)
210 * --- MCC_STATUS_CODE ---
211 * These are the global status codes used by all subsystems
213 #define MCC_STATUS_SUCCESS (0) /* Indicates a successful
214 completion of the command */
215 #define MCC_STATUS_INSUFFICIENT_PRIVILEGES (1) /* The client does not have
216 sufficient privileges to
217 execute the command */
218 #define MCC_STATUS_INVALID_PARAMETER (2) /* A parameter in the command
219 was invalid. The extended
220 status contains the index
222 #define MCC_STATUS_INSUFFICIENT_RESOURCES (3) /* There are insufficient
223 chip resources to execute
225 #define MCC_STATUS_QUEUE_FLUSHING (4) /* The command is completing
226 because the queue was
228 #define MCC_STATUS_DMA_FAILED (5) /* The command is completing
232 * --- MGMT_ERROR_CODES ---
233 * Error Codes returned in the status field of the FWCMD response header
235 #define MGMT_STATUS_SUCCESS (0) /* The FWCMD completed
237 #define MGMT_STATUS_FAILED (1) /* Error status in the Status
239 struct FWCMD_RESPONSE_HEADER */
240 #define MGMT_STATUS_ILLEGAL_REQUEST (2) /* Invalid FWCMD opcode */
241 #define MGMT_STATUS_ILLEGAL_FIELD (3) /* Invalid parameter in
244 #endif /* __fwcmd_opcodes_amap_h__ */