New upstream version 18.08
[deb_dpdk.git] / drivers / net / sfc / base / efx_regs_mcdi_aoe.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  *
3  * Copyright 2008-2018 Solarflare Communications Inc.
4  * All rights reserved.
5  */
6
7 /*! \cidoxg_firmware_mc_cmd */
8
9 #ifndef _SIENA_MC_DRIVER_PCOL_AOE_H
10 #define _SIENA_MC_DRIVER_PCOL_AOE_H
11
12
13
14 /***********************************/
15 /* MC_CMD_FC
16  * Perform an FC operation
17  */
18 #define MC_CMD_FC 0x9
19
20 /* MC_CMD_FC_IN msgrequest */
21 #define MC_CMD_FC_IN_LEN 4
22 #define MC_CMD_FC_IN_OP_HDR_OFST 0
23 #define MC_CMD_FC_IN_OP_HDR_LEN 4
24 #define MC_CMD_FC_IN_OP_LBN 0
25 #define MC_CMD_FC_IN_OP_WIDTH 8
26 /* enum: NULL MCDI command to FC. */
27 #define MC_CMD_FC_OP_NULL 0x1
28 /* enum: Unused opcode */
29 #define MC_CMD_FC_OP_UNUSED 0x2
30 /* enum: MAC driver commands */
31 #define MC_CMD_FC_OP_MAC 0x3
32 /* enum: Read FC memory */
33 #define MC_CMD_FC_OP_READ32 0x4
34 /* enum: Write to FC memory */
35 #define MC_CMD_FC_OP_WRITE32 0x5
36 /* enum: Read FC memory */
37 #define MC_CMD_FC_OP_TRC_READ 0x6
38 /* enum: Write to FC memory */
39 #define MC_CMD_FC_OP_TRC_WRITE 0x7
40 /* enum: FC firmware Version */
41 #define MC_CMD_FC_OP_GET_VERSION 0x8
42 /* enum: Read FC memory */
43 #define MC_CMD_FC_OP_TRC_RX_READ 0x9
44 /* enum: Write to FC memory */
45 #define MC_CMD_FC_OP_TRC_RX_WRITE 0xa
46 /* enum: SFP parameters */
47 #define MC_CMD_FC_OP_SFP 0xb
48 /* enum: DDR3 test */
49 #define MC_CMD_FC_OP_DDR_TEST 0xc
50 /* enum: Get Crash context from FC */
51 #define MC_CMD_FC_OP_GET_ASSERT 0xd
52 /* enum: Get FPGA Build registers */
53 #define MC_CMD_FC_OP_FPGA_BUILD 0xe
54 /* enum: Read map support commands */
55 #define MC_CMD_FC_OP_READ_MAP 0xf
56 /* enum: FC Capabilities */
57 #define MC_CMD_FC_OP_CAPABILITIES 0x10
58 /* enum: FC Global flags */
59 #define MC_CMD_FC_OP_GLOBAL_FLAGS 0x11
60 /* enum: FC IO using relative addressing modes */
61 #define MC_CMD_FC_OP_IO_REL 0x12
62 /* enum: FPGA link information */
63 #define MC_CMD_FC_OP_UHLINK 0x13
64 /* enum: Configure loopbacks and link on FPGA ports */
65 #define MC_CMD_FC_OP_SET_LINK 0x14
66 /* enum: Licensing operations relating to AOE */
67 #define MC_CMD_FC_OP_LICENSE 0x15
68 /* enum: Startup information to the FC */
69 #define MC_CMD_FC_OP_STARTUP 0x16
70 /* enum: Configure a DMA read */
71 #define MC_CMD_FC_OP_DMA 0x17
72 /* enum: Configure a timed read */
73 #define MC_CMD_FC_OP_TIMED_READ 0x18
74 /* enum: Control UART logging */
75 #define MC_CMD_FC_OP_LOG 0x19
76 /* enum: Get the value of a given clock_id */
77 #define MC_CMD_FC_OP_CLOCK 0x1a
78 /* enum: DDR3/QDR3 parameters */
79 #define MC_CMD_FC_OP_DDR 0x1b
80 /* enum: PTP and timestamp control */
81 #define MC_CMD_FC_OP_TIMESTAMP 0x1c
82 /* enum: Commands for SPI Flash interface */
83 #define MC_CMD_FC_OP_SPI 0x1d
84 /* enum: Commands for diagnostic components */
85 #define MC_CMD_FC_OP_DIAG 0x1e
86 /* enum: External AOE port. */
87 #define MC_CMD_FC_IN_PORT_EXT_OFST 0x0
88 /* enum: Internal AOE port. */
89 #define MC_CMD_FC_IN_PORT_INT_OFST 0x40
90
91 /* MC_CMD_FC_IN_NULL msgrequest */
92 #define MC_CMD_FC_IN_NULL_LEN 4
93 #define MC_CMD_FC_IN_CMD_OFST 0
94 #define MC_CMD_FC_IN_CMD_LEN 4
95
96 /* MC_CMD_FC_IN_PHY msgrequest */
97 #define MC_CMD_FC_IN_PHY_LEN 5
98 /*            MC_CMD_FC_IN_CMD_OFST 0 */
99 /*            MC_CMD_FC_IN_CMD_LEN 4 */
100 /* FC PHY driver operation code */
101 #define MC_CMD_FC_IN_PHY_OP_OFST 4
102 #define MC_CMD_FC_IN_PHY_OP_LEN 1
103 /* enum: PHY init handler */
104 #define MC_CMD_FC_OP_PHY_OP_INIT 0x1
105 /* enum: PHY reconfigure handler */
106 #define MC_CMD_FC_OP_PHY_OP_RECONFIGURE 0x2
107 /* enum: PHY reboot handler */
108 #define MC_CMD_FC_OP_PHY_OP_REBOOT 0x3
109 /* enum: PHY get_supported_cap handler */
110 #define MC_CMD_FC_OP_PHY_OP_GET_SUPPORTED_CAP 0x4
111 /* enum: PHY get_config handler */
112 #define MC_CMD_FC_OP_PHY_OP_GET_CONFIG 0x5
113 /* enum: PHY get_media_info handler */
114 #define MC_CMD_FC_OP_PHY_OP_GET_MEDIA_INFO 0x6
115 /* enum: PHY set_led handler */
116 #define MC_CMD_FC_OP_PHY_OP_SET_LED 0x7
117 /* enum: PHY lasi_interrupt handler */
118 #define MC_CMD_FC_OP_PHY_OP_LASI_INTERRUPT 0x8
119 /* enum: PHY check_link handler */
120 #define MC_CMD_FC_OP_PHY_OP_CHECK_LINK 0x9
121 /* enum: PHY fill_stats handler */
122 #define MC_CMD_FC_OP_PHY_OP_FILL_STATS 0xa
123 /* enum: PHY bpx_link_state_changed handler */
124 #define MC_CMD_FC_OP_PHY_OP_BPX_LINK_STATE_CHANGED 0xb
125 /* enum: PHY get_state handler */
126 #define MC_CMD_FC_OP_PHY_OP_GET_STATE 0xc
127 /* enum: PHY start_bist handler */
128 #define MC_CMD_FC_OP_PHY_OP_START_BIST 0xd
129 /* enum: PHY poll_bist handler */
130 #define MC_CMD_FC_OP_PHY_OP_POLL_BIST 0xe
131 /* enum: PHY nvram_test handler */
132 #define MC_CMD_FC_OP_PHY_OP_NVRAM_TEST 0xf
133 /* enum: PHY relinquish handler */
134 #define MC_CMD_FC_OP_PHY_OP_RELINQUISH_SPI 0x10
135 /* enum: PHY read connection from FC - may be not required */
136 #define MC_CMD_FC_OP_PHY_OP_GET_CONNECTION 0x11
137 /* enum: PHY read flags from FC - may be not required */
138 #define MC_CMD_FC_OP_PHY_OP_GET_FLAGS 0x12
139
140 /* MC_CMD_FC_IN_PHY_INIT msgrequest */
141 #define MC_CMD_FC_IN_PHY_INIT_LEN 4
142 #define MC_CMD_FC_IN_PHY_CMD_OFST 0
143 #define MC_CMD_FC_IN_PHY_CMD_LEN 4
144
145 /* MC_CMD_FC_IN_MAC msgrequest */
146 #define MC_CMD_FC_IN_MAC_LEN 8
147 /*            MC_CMD_FC_IN_CMD_OFST 0 */
148 /*            MC_CMD_FC_IN_CMD_LEN 4 */
149 #define MC_CMD_FC_IN_MAC_HEADER_OFST 4
150 #define MC_CMD_FC_IN_MAC_HEADER_LEN 4
151 #define MC_CMD_FC_IN_MAC_OP_LBN 0
152 #define MC_CMD_FC_IN_MAC_OP_WIDTH 8
153 /* enum: MAC reconfigure handler */
154 #define MC_CMD_FC_OP_MAC_OP_RECONFIGURE 0x1
155 /* enum: MAC Set command - same as MC_CMD_SET_MAC */
156 #define MC_CMD_FC_OP_MAC_OP_SET_LINK 0x2
157 /* enum: MAC statistics */
158 #define MC_CMD_FC_OP_MAC_OP_GET_STATS 0x3
159 /* enum: MAC RX statistics */
160 #define MC_CMD_FC_OP_MAC_OP_GET_RX_STATS 0x6
161 /* enum: MAC TX statistics */
162 #define MC_CMD_FC_OP_MAC_OP_GET_TX_STATS 0x7
163 /* enum: MAC Read status */
164 #define MC_CMD_FC_OP_MAC_OP_READ_STATUS 0x8
165 #define MC_CMD_FC_IN_MAC_PORT_TYPE_LBN 8
166 #define MC_CMD_FC_IN_MAC_PORT_TYPE_WIDTH 8
167 /* enum: External FPGA port. */
168 #define MC_CMD_FC_PORT_EXT 0x0
169 /* enum: Internal Siena-facing FPGA ports. */
170 #define MC_CMD_FC_PORT_INT 0x1
171 #define MC_CMD_FC_IN_MAC_PORT_IDX_LBN 16
172 #define MC_CMD_FC_IN_MAC_PORT_IDX_WIDTH 8
173 #define MC_CMD_FC_IN_MAC_CMD_FORMAT_LBN 24
174 #define MC_CMD_FC_IN_MAC_CMD_FORMAT_WIDTH 8
175 /* enum: Default FC command format; the fields PORT_TYPE and PORT_IDX are
176  * irrelevant. Port number is derived from pci_fn; passed in FC header.
177  */
178 #define MC_CMD_FC_OP_MAC_CMD_FORMAT_DEFAULT 0x0
179 /* enum: Override default port number. Port number determined by fields
180  * PORT_TYPE and PORT_IDX.
181  */
182 #define MC_CMD_FC_OP_MAC_CMD_FORMAT_PORT_OVERRIDE 0x1
183
184 /* MC_CMD_FC_IN_MAC_RECONFIGURE msgrequest */
185 #define MC_CMD_FC_IN_MAC_RECONFIGURE_LEN 8
186 /*            MC_CMD_FC_IN_CMD_OFST 0 */
187 /*            MC_CMD_FC_IN_CMD_LEN 4 */
188 /*            MC_CMD_FC_IN_MAC_HEADER_OFST 4 */
189 /*            MC_CMD_FC_IN_MAC_HEADER_LEN 4 */
190
191 /* MC_CMD_FC_IN_MAC_SET_LINK msgrequest */
192 #define MC_CMD_FC_IN_MAC_SET_LINK_LEN 32
193 /*            MC_CMD_FC_IN_CMD_OFST 0 */
194 /*            MC_CMD_FC_IN_CMD_LEN 4 */
195 /*            MC_CMD_FC_IN_MAC_HEADER_OFST 4 */
196 /*            MC_CMD_FC_IN_MAC_HEADER_LEN 4 */
197 /* MTU size */
198 #define MC_CMD_FC_IN_MAC_SET_LINK_MTU_OFST 8
199 #define MC_CMD_FC_IN_MAC_SET_LINK_MTU_LEN 4
200 /* Drain Tx FIFO */
201 #define MC_CMD_FC_IN_MAC_SET_LINK_DRAIN_OFST 12
202 #define MC_CMD_FC_IN_MAC_SET_LINK_DRAIN_LEN 4
203 #define MC_CMD_FC_IN_MAC_SET_LINK_ADDR_OFST 16
204 #define MC_CMD_FC_IN_MAC_SET_LINK_ADDR_LEN 8
205 #define MC_CMD_FC_IN_MAC_SET_LINK_ADDR_LO_OFST 16
206 #define MC_CMD_FC_IN_MAC_SET_LINK_ADDR_HI_OFST 20
207 #define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_OFST 24
208 #define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_LEN 4
209 #define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_UNICAST_LBN 0
210 #define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_UNICAST_WIDTH 1
211 #define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_BRDCAST_LBN 1
212 #define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_BRDCAST_WIDTH 1
213 #define MC_CMD_FC_IN_MAC_SET_LINK_FCNTL_OFST 28
214 #define MC_CMD_FC_IN_MAC_SET_LINK_FCNTL_LEN 4
215
216 /* MC_CMD_FC_IN_MAC_READ_STATUS msgrequest */
217 #define MC_CMD_FC_IN_MAC_READ_STATUS_LEN 8
218 /*            MC_CMD_FC_IN_CMD_OFST 0 */
219 /*            MC_CMD_FC_IN_CMD_LEN 4 */
220 /*            MC_CMD_FC_IN_MAC_HEADER_OFST 4 */
221 /*            MC_CMD_FC_IN_MAC_HEADER_LEN 4 */
222
223 /* MC_CMD_FC_IN_MAC_GET_RX_STATS msgrequest */
224 #define MC_CMD_FC_IN_MAC_GET_RX_STATS_LEN 8
225 /*            MC_CMD_FC_IN_CMD_OFST 0 */
226 /*            MC_CMD_FC_IN_CMD_LEN 4 */
227 /*            MC_CMD_FC_IN_MAC_HEADER_OFST 4 */
228 /*            MC_CMD_FC_IN_MAC_HEADER_LEN 4 */
229
230 /* MC_CMD_FC_IN_MAC_GET_TX_STATS msgrequest */
231 #define MC_CMD_FC_IN_MAC_GET_TX_STATS_LEN 8
232 /*            MC_CMD_FC_IN_CMD_OFST 0 */
233 /*            MC_CMD_FC_IN_CMD_LEN 4 */
234 /*            MC_CMD_FC_IN_MAC_HEADER_OFST 4 */
235 /*            MC_CMD_FC_IN_MAC_HEADER_LEN 4 */
236
237 /* MC_CMD_FC_IN_MAC_GET_STATS msgrequest */
238 #define MC_CMD_FC_IN_MAC_GET_STATS_LEN 20
239 /*            MC_CMD_FC_IN_CMD_OFST 0 */
240 /*            MC_CMD_FC_IN_CMD_LEN 4 */
241 /*            MC_CMD_FC_IN_MAC_HEADER_OFST 4 */
242 /*            MC_CMD_FC_IN_MAC_HEADER_LEN 4 */
243 /* MC Statistics index */
244 #define MC_CMD_FC_IN_MAC_GET_STATS_STATS_INDEX_OFST 8
245 #define MC_CMD_FC_IN_MAC_GET_STATS_STATS_INDEX_LEN 4
246 #define MC_CMD_FC_IN_MAC_GET_STATS_FLAGS_OFST 12
247 #define MC_CMD_FC_IN_MAC_GET_STATS_FLAGS_LEN 4
248 #define MC_CMD_FC_IN_MAC_GET_STATS_CLEAR_ALL_LBN 0
249 #define MC_CMD_FC_IN_MAC_GET_STATS_CLEAR_ALL_WIDTH 1
250 #define MC_CMD_FC_IN_MAC_GET_STATS_CLEAR_LBN 1
251 #define MC_CMD_FC_IN_MAC_GET_STATS_CLEAR_WIDTH 1
252 #define MC_CMD_FC_IN_MAC_GET_STATS_UPDATE_LBN 2
253 #define MC_CMD_FC_IN_MAC_GET_STATS_UPDATE_WIDTH 1
254 /* Number of statistics to read */
255 #define MC_CMD_FC_IN_MAC_GET_STATS_NUM_OFST 16
256 #define MC_CMD_FC_IN_MAC_GET_STATS_NUM_LEN 4
257 #define MC_CMD_FC_MAC_NSTATS_PER_BLOCK 0x1e /* enum */
258 #define MC_CMD_FC_MAC_NBYTES_PER_STAT 0x8 /* enum */
259
260 /* MC_CMD_FC_IN_READ32 msgrequest */
261 #define MC_CMD_FC_IN_READ32_LEN 16
262 /*            MC_CMD_FC_IN_CMD_OFST 0 */
263 /*            MC_CMD_FC_IN_CMD_LEN 4 */
264 #define MC_CMD_FC_IN_READ32_ADDR_HI_OFST 4
265 #define MC_CMD_FC_IN_READ32_ADDR_HI_LEN 4
266 #define MC_CMD_FC_IN_READ32_ADDR_LO_OFST 8
267 #define MC_CMD_FC_IN_READ32_ADDR_LO_LEN 4
268 #define MC_CMD_FC_IN_READ32_NUMWORDS_OFST 12
269 #define MC_CMD_FC_IN_READ32_NUMWORDS_LEN 4
270
271 /* MC_CMD_FC_IN_WRITE32 msgrequest */
272 #define MC_CMD_FC_IN_WRITE32_LENMIN 16
273 #define MC_CMD_FC_IN_WRITE32_LENMAX 252
274 #define MC_CMD_FC_IN_WRITE32_LEN(num) (12+4*(num))
275 /*            MC_CMD_FC_IN_CMD_OFST 0 */
276 /*            MC_CMD_FC_IN_CMD_LEN 4 */
277 #define MC_CMD_FC_IN_WRITE32_ADDR_HI_OFST 4
278 #define MC_CMD_FC_IN_WRITE32_ADDR_HI_LEN 4
279 #define MC_CMD_FC_IN_WRITE32_ADDR_LO_OFST 8
280 #define MC_CMD_FC_IN_WRITE32_ADDR_LO_LEN 4
281 #define MC_CMD_FC_IN_WRITE32_BUFFER_OFST 12
282 #define MC_CMD_FC_IN_WRITE32_BUFFER_LEN 4
283 #define MC_CMD_FC_IN_WRITE32_BUFFER_MINNUM 1
284 #define MC_CMD_FC_IN_WRITE32_BUFFER_MAXNUM 60
285
286 /* MC_CMD_FC_IN_TRC_READ msgrequest */
287 #define MC_CMD_FC_IN_TRC_READ_LEN 12
288 /*            MC_CMD_FC_IN_CMD_OFST 0 */
289 /*            MC_CMD_FC_IN_CMD_LEN 4 */
290 #define MC_CMD_FC_IN_TRC_READ_TRC_OFST 4
291 #define MC_CMD_FC_IN_TRC_READ_TRC_LEN 4
292 #define MC_CMD_FC_IN_TRC_READ_CHANNEL_OFST 8
293 #define MC_CMD_FC_IN_TRC_READ_CHANNEL_LEN 4
294
295 /* MC_CMD_FC_IN_TRC_WRITE msgrequest */
296 #define MC_CMD_FC_IN_TRC_WRITE_LEN 28
297 /*            MC_CMD_FC_IN_CMD_OFST 0 */
298 /*            MC_CMD_FC_IN_CMD_LEN 4 */
299 #define MC_CMD_FC_IN_TRC_WRITE_TRC_OFST 4
300 #define MC_CMD_FC_IN_TRC_WRITE_TRC_LEN 4
301 #define MC_CMD_FC_IN_TRC_WRITE_CHANNEL_OFST 8
302 #define MC_CMD_FC_IN_TRC_WRITE_CHANNEL_LEN 4
303 #define MC_CMD_FC_IN_TRC_WRITE_DATA_OFST 12
304 #define MC_CMD_FC_IN_TRC_WRITE_DATA_LEN 4
305 #define MC_CMD_FC_IN_TRC_WRITE_DATA_NUM 4
306
307 /* MC_CMD_FC_IN_GET_VERSION msgrequest */
308 #define MC_CMD_FC_IN_GET_VERSION_LEN 4
309 /*            MC_CMD_FC_IN_CMD_OFST 0 */
310 /*            MC_CMD_FC_IN_CMD_LEN 4 */
311
312 /* MC_CMD_FC_IN_TRC_RX_READ msgrequest */
313 #define MC_CMD_FC_IN_TRC_RX_READ_LEN 12
314 /*            MC_CMD_FC_IN_CMD_OFST 0 */
315 /*            MC_CMD_FC_IN_CMD_LEN 4 */
316 #define MC_CMD_FC_IN_TRC_RX_READ_TRC_OFST 4
317 #define MC_CMD_FC_IN_TRC_RX_READ_TRC_LEN 4
318 #define MC_CMD_FC_IN_TRC_RX_READ_CHANNEL_OFST 8
319 #define MC_CMD_FC_IN_TRC_RX_READ_CHANNEL_LEN 4
320
321 /* MC_CMD_FC_IN_TRC_RX_WRITE msgrequest */
322 #define MC_CMD_FC_IN_TRC_RX_WRITE_LEN 20
323 /*            MC_CMD_FC_IN_CMD_OFST 0 */
324 /*            MC_CMD_FC_IN_CMD_LEN 4 */
325 #define MC_CMD_FC_IN_TRC_RX_WRITE_TRC_OFST 4
326 #define MC_CMD_FC_IN_TRC_RX_WRITE_TRC_LEN 4
327 #define MC_CMD_FC_IN_TRC_RX_WRITE_CHANNEL_OFST 8
328 #define MC_CMD_FC_IN_TRC_RX_WRITE_CHANNEL_LEN 4
329 #define MC_CMD_FC_IN_TRC_RX_WRITE_DATA_OFST 12
330 #define MC_CMD_FC_IN_TRC_RX_WRITE_DATA_LEN 4
331 #define MC_CMD_FC_IN_TRC_RX_WRITE_DATA_NUM 2
332
333 /* MC_CMD_FC_IN_SFP msgrequest */
334 #define MC_CMD_FC_IN_SFP_LEN 28
335 /*            MC_CMD_FC_IN_CMD_OFST 0 */
336 /*            MC_CMD_FC_IN_CMD_LEN 4 */
337 /* Link speed is 100, 1000, 10000, 40000 */
338 #define MC_CMD_FC_IN_SFP_SPEED_OFST 4
339 #define MC_CMD_FC_IN_SFP_SPEED_LEN 4
340 /* Length of copper cable - zero when not relevant (e.g. if cable is fibre) */
341 #define MC_CMD_FC_IN_SFP_COPPER_LEN_OFST 8
342 #define MC_CMD_FC_IN_SFP_COPPER_LEN_LEN 4
343 /* Not relevant for cards with QSFP modules. For older cards, true if module is
344  * a dual speed SFP+ module.
345  */
346 #define MC_CMD_FC_IN_SFP_DUAL_SPEED_OFST 12
347 #define MC_CMD_FC_IN_SFP_DUAL_SPEED_LEN 4
348 /* True if an SFP Module is present (other fields valid when true) */
349 #define MC_CMD_FC_IN_SFP_PRESENT_OFST 16
350 #define MC_CMD_FC_IN_SFP_PRESENT_LEN 4
351 /* The type of the SFP+ Module. For later cards with QSFP modules, this field
352  * is unused and the type is communicated by other means.
353  */
354 #define MC_CMD_FC_IN_SFP_TYPE_OFST 20
355 #define MC_CMD_FC_IN_SFP_TYPE_LEN 4
356 /* Capabilities corresponding to 1 bits. */
357 #define MC_CMD_FC_IN_SFP_CAPS_OFST 24
358 #define MC_CMD_FC_IN_SFP_CAPS_LEN 4
359
360 /* MC_CMD_FC_IN_DDR_TEST msgrequest */
361 #define MC_CMD_FC_IN_DDR_TEST_LEN 8
362 /*            MC_CMD_FC_IN_CMD_OFST 0 */
363 /*            MC_CMD_FC_IN_CMD_LEN 4 */
364 #define MC_CMD_FC_IN_DDR_TEST_HEADER_OFST 4
365 #define MC_CMD_FC_IN_DDR_TEST_HEADER_LEN 4
366 #define MC_CMD_FC_IN_DDR_TEST_OP_LBN 0
367 #define MC_CMD_FC_IN_DDR_TEST_OP_WIDTH 8
368 /* enum: DRAM Test Start */
369 #define MC_CMD_FC_OP_DDR_TEST_START 0x1
370 /* enum: DRAM Test Poll */
371 #define MC_CMD_FC_OP_DDR_TEST_POLL 0x2
372
373 /* MC_CMD_FC_IN_DDR_TEST_START msgrequest */
374 #define MC_CMD_FC_IN_DDR_TEST_START_LEN 12
375 /*            MC_CMD_FC_IN_CMD_OFST 0 */
376 /*            MC_CMD_FC_IN_CMD_LEN 4 */
377 /*            MC_CMD_FC_IN_DDR_TEST_HEADER_OFST 4 */
378 /*            MC_CMD_FC_IN_DDR_TEST_HEADER_LEN 4 */
379 #define MC_CMD_FC_IN_DDR_TEST_START_MASK_OFST 8
380 #define MC_CMD_FC_IN_DDR_TEST_START_MASK_LEN 4
381 #define MC_CMD_FC_IN_DDR_TEST_START_T0_LBN 0
382 #define MC_CMD_FC_IN_DDR_TEST_START_T0_WIDTH 1
383 #define MC_CMD_FC_IN_DDR_TEST_START_T1_LBN 1
384 #define MC_CMD_FC_IN_DDR_TEST_START_T1_WIDTH 1
385 #define MC_CMD_FC_IN_DDR_TEST_START_B0_LBN 2
386 #define MC_CMD_FC_IN_DDR_TEST_START_B0_WIDTH 1
387 #define MC_CMD_FC_IN_DDR_TEST_START_B1_LBN 3
388 #define MC_CMD_FC_IN_DDR_TEST_START_B1_WIDTH 1
389
390 /* MC_CMD_FC_IN_DDR_TEST_POLL msgrequest */
391 #define MC_CMD_FC_IN_DDR_TEST_POLL_LEN 12
392 #define MC_CMD_FC_IN_DDR_TEST_CMD_OFST 0
393 #define MC_CMD_FC_IN_DDR_TEST_CMD_LEN 4
394 /*            MC_CMD_FC_IN_DDR_TEST_HEADER_OFST 4 */
395 /*            MC_CMD_FC_IN_DDR_TEST_HEADER_LEN 4 */
396 /* Clear previous test result and prepare for restarting DDR test */
397 #define MC_CMD_FC_IN_DDR_TEST_POLL_CLEAR_RESULT_FOR_DDR_TEST_OFST 8
398 #define MC_CMD_FC_IN_DDR_TEST_POLL_CLEAR_RESULT_FOR_DDR_TEST_LEN 4
399
400 /* MC_CMD_FC_IN_GET_ASSERT msgrequest */
401 #define MC_CMD_FC_IN_GET_ASSERT_LEN 4
402 /*            MC_CMD_FC_IN_CMD_OFST 0 */
403 /*            MC_CMD_FC_IN_CMD_LEN 4 */
404
405 /* MC_CMD_FC_IN_FPGA_BUILD msgrequest */
406 #define MC_CMD_FC_IN_FPGA_BUILD_LEN 8
407 /*            MC_CMD_FC_IN_CMD_OFST 0 */
408 /*            MC_CMD_FC_IN_CMD_LEN 4 */
409 /* FPGA build info operation code */
410 #define MC_CMD_FC_IN_FPGA_BUILD_OP_OFST 4
411 #define MC_CMD_FC_IN_FPGA_BUILD_OP_LEN 4
412 /* enum: Get the build registers */
413 #define MC_CMD_FC_IN_FPGA_BUILD_BUILD 0x1
414 /* enum: Get the services registers */
415 #define MC_CMD_FC_IN_FPGA_BUILD_SERVICES 0x2
416 /* enum: Get the BSP version */
417 #define MC_CMD_FC_IN_FPGA_BUILD_BSP_VERSION 0x3
418 /* enum: Get build register for V2 (SFA974X) */
419 #define MC_CMD_FC_IN_FPGA_BUILD_BUILD_V2 0x4
420 /* enum: GEt the services register for V2 (SFA974X) */
421 #define MC_CMD_FC_IN_FPGA_BUILD_SERVICES_V2 0x5
422
423 /* MC_CMD_FC_IN_READ_MAP msgrequest */
424 #define MC_CMD_FC_IN_READ_MAP_LEN 8
425 /*            MC_CMD_FC_IN_CMD_OFST 0 */
426 /*            MC_CMD_FC_IN_CMD_LEN 4 */
427 #define MC_CMD_FC_IN_READ_MAP_HEADER_OFST 4
428 #define MC_CMD_FC_IN_READ_MAP_HEADER_LEN 4
429 #define MC_CMD_FC_IN_READ_MAP_OP_LBN 0
430 #define MC_CMD_FC_IN_READ_MAP_OP_WIDTH 8
431 /* enum: Get the number of map regions */
432 #define MC_CMD_FC_OP_READ_MAP_COUNT 0x1
433 /* enum: Get the specified map */
434 #define MC_CMD_FC_OP_READ_MAP_INDEX 0x2
435
436 /* MC_CMD_FC_IN_READ_MAP_COUNT msgrequest */
437 #define MC_CMD_FC_IN_READ_MAP_COUNT_LEN 8
438 /*            MC_CMD_FC_IN_CMD_OFST 0 */
439 /*            MC_CMD_FC_IN_CMD_LEN 4 */
440 /*            MC_CMD_FC_IN_READ_MAP_HEADER_OFST 4 */
441 /*            MC_CMD_FC_IN_READ_MAP_HEADER_LEN 4 */
442
443 /* MC_CMD_FC_IN_READ_MAP_INDEX msgrequest */
444 #define MC_CMD_FC_IN_READ_MAP_INDEX_LEN 12
445 /*            MC_CMD_FC_IN_CMD_OFST 0 */
446 /*            MC_CMD_FC_IN_CMD_LEN 4 */
447 /*            MC_CMD_FC_IN_READ_MAP_HEADER_OFST 4 */
448 /*            MC_CMD_FC_IN_READ_MAP_HEADER_LEN 4 */
449 #define MC_CMD_FC_IN_MAP_INDEX_OFST 8
450 #define MC_CMD_FC_IN_MAP_INDEX_LEN 4
451
452 /* MC_CMD_FC_IN_CAPABILITIES msgrequest */
453 #define MC_CMD_FC_IN_CAPABILITIES_LEN 4
454 /*            MC_CMD_FC_IN_CMD_OFST 0 */
455 /*            MC_CMD_FC_IN_CMD_LEN 4 */
456
457 /* MC_CMD_FC_IN_GLOBAL_FLAGS msgrequest */
458 #define MC_CMD_FC_IN_GLOBAL_FLAGS_LEN 8
459 /*            MC_CMD_FC_IN_CMD_OFST 0 */
460 /*            MC_CMD_FC_IN_CMD_LEN 4 */
461 #define MC_CMD_FC_IN_GLOBAL_FLAGS_FLAGS_OFST 4
462 #define MC_CMD_FC_IN_GLOBAL_FLAGS_FLAGS_LEN 4
463 #define MC_CMD_FC_IN_GLOBAL_FLAGS_RX_TUNING_CABLE_PLUGGED_IN_LBN 0
464 #define MC_CMD_FC_IN_GLOBAL_FLAGS_RX_TUNING_CABLE_PLUGGED_IN_WIDTH 1
465 #define MC_CMD_FC_IN_GLOBAL_FLAGS_RX_TUNING_LINK_MONITORING_LBN 1
466 #define MC_CMD_FC_IN_GLOBAL_FLAGS_RX_TUNING_LINK_MONITORING_WIDTH 1
467 #define MC_CMD_FC_IN_GLOBAL_FLAGS_DFE_ENABLE_LBN 2
468 #define MC_CMD_FC_IN_GLOBAL_FLAGS_DFE_ENABLE_WIDTH 1
469 #define MC_CMD_FC_IN_GLOBAL_FLAGS_1D_EYE_ENABLE_LBN 3
470 #define MC_CMD_FC_IN_GLOBAL_FLAGS_1D_EYE_ENABLE_WIDTH 1
471 #define MC_CMD_FC_IN_GLOBAL_FLAGS_1D_TUNING_ENABLE_LBN 4
472 #define MC_CMD_FC_IN_GLOBAL_FLAGS_1D_TUNING_ENABLE_WIDTH 1
473 #define MC_CMD_FC_IN_GLOBAL_FLAGS_OFFCAL_ENABLE_LBN 5
474 #define MC_CMD_FC_IN_GLOBAL_FLAGS_OFFCAL_ENABLE_WIDTH 1
475
476 /* MC_CMD_FC_IN_IO_REL msgrequest */
477 #define MC_CMD_FC_IN_IO_REL_LEN 8
478 /*            MC_CMD_FC_IN_CMD_OFST 0 */
479 /*            MC_CMD_FC_IN_CMD_LEN 4 */
480 #define MC_CMD_FC_IN_IO_REL_HEADER_OFST 4
481 #define MC_CMD_FC_IN_IO_REL_HEADER_LEN 4
482 #define MC_CMD_FC_IN_IO_REL_OP_LBN 0
483 #define MC_CMD_FC_IN_IO_REL_OP_WIDTH 8
484 /* enum: Get the base address that the FC applies to relative commands */
485 #define MC_CMD_FC_IN_IO_REL_GET_ADDR 0x1
486 /* enum: Read data */
487 #define MC_CMD_FC_IN_IO_REL_READ32 0x2
488 /* enum: Write data */
489 #define MC_CMD_FC_IN_IO_REL_WRITE32 0x3
490 #define MC_CMD_FC_IN_IO_REL_COMP_TYPE_LBN 8
491 #define MC_CMD_FC_IN_IO_REL_COMP_TYPE_WIDTH 8
492 /* enum: Application address space */
493 #define MC_CMD_FC_COMP_TYPE_APP_ADDR_SPACE 0x1
494 /* enum: Flash address space */
495 #define MC_CMD_FC_COMP_TYPE_FLASH 0x2
496
497 /* MC_CMD_FC_IN_IO_REL_GET_ADDR msgrequest */
498 #define MC_CMD_FC_IN_IO_REL_GET_ADDR_LEN 8
499 /*            MC_CMD_FC_IN_CMD_OFST 0 */
500 /*            MC_CMD_FC_IN_CMD_LEN 4 */
501 /*            MC_CMD_FC_IN_IO_REL_HEADER_OFST 4 */
502 /*            MC_CMD_FC_IN_IO_REL_HEADER_LEN 4 */
503
504 /* MC_CMD_FC_IN_IO_REL_READ32 msgrequest */
505 #define MC_CMD_FC_IN_IO_REL_READ32_LEN 20
506 /*            MC_CMD_FC_IN_CMD_OFST 0 */
507 /*            MC_CMD_FC_IN_CMD_LEN 4 */
508 /*            MC_CMD_FC_IN_IO_REL_HEADER_OFST 4 */
509 /*            MC_CMD_FC_IN_IO_REL_HEADER_LEN 4 */
510 #define MC_CMD_FC_IN_IO_REL_READ32_ADDR_HI_OFST 8
511 #define MC_CMD_FC_IN_IO_REL_READ32_ADDR_HI_LEN 4
512 #define MC_CMD_FC_IN_IO_REL_READ32_ADDR_LO_OFST 12
513 #define MC_CMD_FC_IN_IO_REL_READ32_ADDR_LO_LEN 4
514 #define MC_CMD_FC_IN_IO_REL_READ32_NUMWORDS_OFST 16
515 #define MC_CMD_FC_IN_IO_REL_READ32_NUMWORDS_LEN 4
516
517 /* MC_CMD_FC_IN_IO_REL_WRITE32 msgrequest */
518 #define MC_CMD_FC_IN_IO_REL_WRITE32_LENMIN 20
519 #define MC_CMD_FC_IN_IO_REL_WRITE32_LENMAX 252
520 #define MC_CMD_FC_IN_IO_REL_WRITE32_LEN(num) (16+4*(num))
521 /*            MC_CMD_FC_IN_CMD_OFST 0 */
522 /*            MC_CMD_FC_IN_CMD_LEN 4 */
523 /*            MC_CMD_FC_IN_IO_REL_HEADER_OFST 4 */
524 /*            MC_CMD_FC_IN_IO_REL_HEADER_LEN 4 */
525 #define MC_CMD_FC_IN_IO_REL_WRITE32_ADDR_HI_OFST 8
526 #define MC_CMD_FC_IN_IO_REL_WRITE32_ADDR_HI_LEN 4
527 #define MC_CMD_FC_IN_IO_REL_WRITE32_ADDR_LO_OFST 12
528 #define MC_CMD_FC_IN_IO_REL_WRITE32_ADDR_LO_LEN 4
529 #define MC_CMD_FC_IN_IO_REL_WRITE32_BUFFER_OFST 16
530 #define MC_CMD_FC_IN_IO_REL_WRITE32_BUFFER_LEN 4
531 #define MC_CMD_FC_IN_IO_REL_WRITE32_BUFFER_MINNUM 1
532 #define MC_CMD_FC_IN_IO_REL_WRITE32_BUFFER_MAXNUM 59
533
534 /* MC_CMD_FC_IN_UHLINK msgrequest */
535 #define MC_CMD_FC_IN_UHLINK_LEN 8
536 /*            MC_CMD_FC_IN_CMD_OFST 0 */
537 /*            MC_CMD_FC_IN_CMD_LEN 4 */
538 #define MC_CMD_FC_IN_UHLINK_HEADER_OFST 4
539 #define MC_CMD_FC_IN_UHLINK_HEADER_LEN 4
540 #define MC_CMD_FC_IN_UHLINK_OP_LBN 0
541 #define MC_CMD_FC_IN_UHLINK_OP_WIDTH 8
542 /* enum: Get PHY configuration info */
543 #define MC_CMD_FC_OP_UHLINK_PHY 0x1
544 /* enum: Get MAC configuration info */
545 #define MC_CMD_FC_OP_UHLINK_MAC 0x2
546 /* enum: Get Rx eye table */
547 #define MC_CMD_FC_OP_UHLINK_RX_EYE 0x3
548 /* enum: Get Rx eye plot */
549 #define MC_CMD_FC_OP_UHLINK_DUMP_RX_EYE_PLOT 0x4
550 /* enum: Get Rx eye plot */
551 #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT 0x5
552 /* enum: Retune Rx settings */
553 #define MC_CMD_FC_OP_UHLINK_RX_TUNE 0x6
554 /* enum: Set loopback mode on fpga port */
555 #define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET 0x7
556 /* enum: Get loopback mode config state on fpga port */
557 #define MC_CMD_FC_OP_UHLINK_LOOPBACK_GET 0x8
558 #define MC_CMD_FC_IN_UHLINK_PORT_TYPE_LBN 8
559 #define MC_CMD_FC_IN_UHLINK_PORT_TYPE_WIDTH 8
560 #define MC_CMD_FC_IN_UHLINK_PORT_IDX_LBN 16
561 #define MC_CMD_FC_IN_UHLINK_PORT_IDX_WIDTH 8
562 #define MC_CMD_FC_IN_UHLINK_CMD_FORMAT_LBN 24
563 #define MC_CMD_FC_IN_UHLINK_CMD_FORMAT_WIDTH 8
564 /* enum: Default FC command format; the fields PORT_TYPE and PORT_IDX are
565  * irrelevant. Port number is derived from pci_fn; passed in FC header.
566  */
567 #define MC_CMD_FC_OP_UHLINK_CMD_FORMAT_DEFAULT 0x0
568 /* enum: Override default port number. Port number determined by fields
569  * PORT_TYPE and PORT_IDX.
570  */
571 #define MC_CMD_FC_OP_UHLINK_CMD_FORMAT_PORT_OVERRIDE 0x1
572
573 /* MC_CMD_FC_OP_UHLINK_PHY msgrequest */
574 #define MC_CMD_FC_OP_UHLINK_PHY_LEN 8
575 /*            MC_CMD_FC_IN_CMD_OFST 0 */
576 /*            MC_CMD_FC_IN_CMD_LEN 4 */
577 /*            MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
578 /*            MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */
579
580 /* MC_CMD_FC_OP_UHLINK_MAC msgrequest */
581 #define MC_CMD_FC_OP_UHLINK_MAC_LEN 8
582 /*            MC_CMD_FC_IN_CMD_OFST 0 */
583 /*            MC_CMD_FC_IN_CMD_LEN 4 */
584 /*            MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
585 /*            MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */
586
587 /* MC_CMD_FC_OP_UHLINK_RX_EYE msgrequest */
588 #define MC_CMD_FC_OP_UHLINK_RX_EYE_LEN 12
589 /*            MC_CMD_FC_IN_CMD_OFST 0 */
590 /*            MC_CMD_FC_IN_CMD_LEN 4 */
591 /*            MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
592 /*            MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */
593 #define MC_CMD_FC_OP_UHLINK_RX_EYE_INDEX_OFST 8
594 #define MC_CMD_FC_OP_UHLINK_RX_EYE_INDEX_LEN 4
595 #define MC_CMD_FC_UHLINK_RX_EYE_PER_BLOCK 0x30 /* enum */
596
597 /* MC_CMD_FC_OP_UHLINK_DUMP_RX_EYE_PLOT msgrequest */
598 #define MC_CMD_FC_OP_UHLINK_DUMP_RX_EYE_PLOT_LEN 8
599 /*            MC_CMD_FC_IN_CMD_OFST 0 */
600 /*            MC_CMD_FC_IN_CMD_LEN 4 */
601 /*            MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
602 /*            MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */
603
604 /* MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT msgrequest */
605 #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_LEN 20
606 /*            MC_CMD_FC_IN_CMD_OFST 0 */
607 /*            MC_CMD_FC_IN_CMD_LEN 4 */
608 /*            MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
609 /*            MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */
610 #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_DC_GAIN_OFST 8
611 #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_DC_GAIN_LEN 4
612 #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_EQ_CONTROL_OFST 12
613 #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_EQ_CONTROL_LEN 4
614 #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_INDEX_OFST 16
615 #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_INDEX_LEN 4
616 #define MC_CMD_FC_UHLINK_RX_EYE_PLOT_ROWS_PER_BLOCK 0x1e /* enum */
617
618 /* MC_CMD_FC_OP_UHLINK_RX_TUNE msgrequest */
619 #define MC_CMD_FC_OP_UHLINK_RX_TUNE_LEN 8
620 /*            MC_CMD_FC_IN_CMD_OFST 0 */
621 /*            MC_CMD_FC_IN_CMD_LEN 4 */
622 /*            MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
623 /*            MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */
624
625 /* MC_CMD_FC_OP_UHLINK_LOOPBACK_SET msgrequest */
626 #define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_LEN 16
627 /*            MC_CMD_FC_IN_CMD_OFST 0 */
628 /*            MC_CMD_FC_IN_CMD_LEN 4 */
629 /*            MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
630 /*            MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */
631 #define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_TYPE_OFST 8
632 #define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_TYPE_LEN 4
633 #define MC_CMD_FC_UHLINK_LOOPBACK_TYPE_PCS_SERIAL 0x0 /* enum */
634 #define MC_CMD_FC_UHLINK_LOOPBACK_TYPE_PMA_PRE_CDR 0x1 /* enum */
635 #define MC_CMD_FC_UHLINK_LOOPBACK_TYPE_PMA_POST_CDR 0x2 /* enum */
636 #define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_STATE_OFST 12
637 #define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_STATE_LEN 4
638 #define MC_CMD_FC_UHLINK_LOOPBACK_STATE_OFF 0x0 /* enum */
639 #define MC_CMD_FC_UHLINK_LOOPBACK_STATE_ON 0x1 /* enum */
640
641 /* MC_CMD_FC_OP_UHLINK_LOOPBACK_GET msgrequest */
642 #define MC_CMD_FC_OP_UHLINK_LOOPBACK_GET_LEN 12
643 /*            MC_CMD_FC_IN_CMD_OFST 0 */
644 /*            MC_CMD_FC_IN_CMD_LEN 4 */
645 /*            MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
646 /*            MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */
647 #define MC_CMD_FC_OP_UHLINK_LOOPBACK_GET_TYPE_OFST 8
648 #define MC_CMD_FC_OP_UHLINK_LOOPBACK_GET_TYPE_LEN 4
649
650 /* MC_CMD_FC_IN_SET_LINK msgrequest */
651 #define MC_CMD_FC_IN_SET_LINK_LEN 16
652 /*            MC_CMD_FC_IN_CMD_OFST 0 */
653 /*            MC_CMD_FC_IN_CMD_LEN 4 */
654 /* See MC_CMD_GET_LOOPBACK_MODES/MC_CMD_GET_LOOPBACK_MODES_OUT/100M */
655 #define MC_CMD_FC_IN_SET_LINK_MODE_OFST 4
656 #define MC_CMD_FC_IN_SET_LINK_MODE_LEN 4
657 #define MC_CMD_FC_IN_SET_LINK_SPEED_OFST 8
658 #define MC_CMD_FC_IN_SET_LINK_SPEED_LEN 4
659 #define MC_CMD_FC_IN_SET_LINK_FLAGS_OFST 12
660 #define MC_CMD_FC_IN_SET_LINK_FLAGS_LEN 4
661 #define MC_CMD_FC_IN_SET_LINK_LOWPOWER_LBN 0
662 #define MC_CMD_FC_IN_SET_LINK_LOWPOWER_WIDTH 1
663 #define MC_CMD_FC_IN_SET_LINK_POWEROFF_LBN 1
664 #define MC_CMD_FC_IN_SET_LINK_POWEROFF_WIDTH 1
665 #define MC_CMD_FC_IN_SET_LINK_TXDIS_LBN 2
666 #define MC_CMD_FC_IN_SET_LINK_TXDIS_WIDTH 1
667
668 /* MC_CMD_FC_IN_LICENSE msgrequest */
669 #define MC_CMD_FC_IN_LICENSE_LEN 8
670 /*            MC_CMD_FC_IN_CMD_OFST 0 */
671 /*            MC_CMD_FC_IN_CMD_LEN 4 */
672 #define MC_CMD_FC_IN_LICENSE_OP_OFST 4
673 #define MC_CMD_FC_IN_LICENSE_OP_LEN 4
674 #define MC_CMD_FC_IN_LICENSE_UPDATE_LICENSE 0x0 /* enum */
675 #define MC_CMD_FC_IN_LICENSE_GET_KEY_STATS 0x1 /* enum */
676
677 /* MC_CMD_FC_IN_STARTUP msgrequest */
678 #define MC_CMD_FC_IN_STARTUP_LEN 40
679 /*            MC_CMD_FC_IN_CMD_OFST 0 */
680 /*            MC_CMD_FC_IN_CMD_LEN 4 */
681 #define MC_CMD_FC_IN_STARTUP_BASE_OFST 4
682 #define MC_CMD_FC_IN_STARTUP_BASE_LEN 4
683 #define MC_CMD_FC_IN_STARTUP_LENGTH_OFST 8
684 #define MC_CMD_FC_IN_STARTUP_LENGTH_LEN 4
685 /* Length of identifier */
686 #define MC_CMD_FC_IN_STARTUP_IDLENGTH_OFST 12
687 #define MC_CMD_FC_IN_STARTUP_IDLENGTH_LEN 4
688 /* Identifier for AOE FPGA */
689 #define MC_CMD_FC_IN_STARTUP_ID_OFST 16
690 #define MC_CMD_FC_IN_STARTUP_ID_LEN 1
691 #define MC_CMD_FC_IN_STARTUP_ID_NUM 24
692
693 /* MC_CMD_FC_IN_DMA msgrequest */
694 #define MC_CMD_FC_IN_DMA_LEN 8
695 /*            MC_CMD_FC_IN_CMD_OFST 0 */
696 /*            MC_CMD_FC_IN_CMD_LEN 4 */
697 #define MC_CMD_FC_IN_DMA_OP_OFST 4
698 #define MC_CMD_FC_IN_DMA_OP_LEN 4
699 #define MC_CMD_FC_IN_DMA_STOP 0x0 /* enum */
700 #define MC_CMD_FC_IN_DMA_READ 0x1 /* enum */
701
702 /* MC_CMD_FC_IN_DMA_STOP msgrequest */
703 #define MC_CMD_FC_IN_DMA_STOP_LEN 12
704 /*            MC_CMD_FC_IN_CMD_OFST 0 */
705 /*            MC_CMD_FC_IN_CMD_LEN 4 */
706 /*            MC_CMD_FC_IN_DMA_OP_OFST 4 */
707 /*            MC_CMD_FC_IN_DMA_OP_LEN 4 */
708 /* FC supplied handle */
709 #define MC_CMD_FC_IN_DMA_STOP_FC_HANDLE_OFST 8
710 #define MC_CMD_FC_IN_DMA_STOP_FC_HANDLE_LEN 4
711
712 /* MC_CMD_FC_IN_DMA_READ msgrequest */
713 #define MC_CMD_FC_IN_DMA_READ_LEN 16
714 /*            MC_CMD_FC_IN_CMD_OFST 0 */
715 /*            MC_CMD_FC_IN_CMD_LEN 4 */
716 /*            MC_CMD_FC_IN_DMA_OP_OFST 4 */
717 /*            MC_CMD_FC_IN_DMA_OP_LEN 4 */
718 #define MC_CMD_FC_IN_DMA_READ_OFFSET_OFST 8
719 #define MC_CMD_FC_IN_DMA_READ_OFFSET_LEN 4
720 #define MC_CMD_FC_IN_DMA_READ_LENGTH_OFST 12
721 #define MC_CMD_FC_IN_DMA_READ_LENGTH_LEN 4
722
723 /* MC_CMD_FC_IN_TIMED_READ msgrequest */
724 #define MC_CMD_FC_IN_TIMED_READ_LEN 8
725 /*            MC_CMD_FC_IN_CMD_OFST 0 */
726 /*            MC_CMD_FC_IN_CMD_LEN 4 */
727 #define MC_CMD_FC_IN_TIMED_READ_OP_OFST 4
728 #define MC_CMD_FC_IN_TIMED_READ_OP_LEN 4
729 #define MC_CMD_FC_IN_TIMED_READ_SET 0x0 /* enum */
730 #define MC_CMD_FC_IN_TIMED_READ_GET 0x1 /* enum */
731 #define MC_CMD_FC_IN_TIMED_READ_CLEAR 0x2 /* enum */
732
733 /* MC_CMD_FC_IN_TIMED_READ_SET msgrequest */
734 #define MC_CMD_FC_IN_TIMED_READ_SET_LEN 52
735 /*            MC_CMD_FC_IN_CMD_OFST 0 */
736 /*            MC_CMD_FC_IN_CMD_LEN 4 */
737 /*            MC_CMD_FC_IN_TIMED_READ_OP_OFST 4 */
738 /*            MC_CMD_FC_IN_TIMED_READ_OP_LEN 4 */
739 /* Host supplied handle (unique) */
740 #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_HANDLE_OFST 8
741 #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_HANDLE_LEN 4
742 /* Address into which to transfer data in host */
743 #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_DMA_ADDRESS_OFST 12
744 #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_DMA_ADDRESS_LEN 8
745 #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_DMA_ADDRESS_LO_OFST 12
746 #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_DMA_ADDRESS_HI_OFST 16
747 /* AOE address from which to transfer data */
748 #define MC_CMD_FC_IN_TIMED_READ_SET_AOE_ADDRESS_OFST 20
749 #define MC_CMD_FC_IN_TIMED_READ_SET_AOE_ADDRESS_LEN 8
750 #define MC_CMD_FC_IN_TIMED_READ_SET_AOE_ADDRESS_LO_OFST 20
751 #define MC_CMD_FC_IN_TIMED_READ_SET_AOE_ADDRESS_HI_OFST 24
752 /* Length of AOE transfer (total) */
753 #define MC_CMD_FC_IN_TIMED_READ_SET_AOE_LENGTH_OFST 28
754 #define MC_CMD_FC_IN_TIMED_READ_SET_AOE_LENGTH_LEN 4
755 /* Length of host transfer (total) */
756 #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_LENGTH_OFST 32
757 #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_LENGTH_LEN 4
758 /* Offset back from aoe_address to apply operation to */
759 #define MC_CMD_FC_IN_TIMED_READ_SET_OFFSET_OFST 36
760 #define MC_CMD_FC_IN_TIMED_READ_SET_OFFSET_LEN 4
761 /* Data to apply at offset */
762 #define MC_CMD_FC_IN_TIMED_READ_SET_DATA_OFST 40
763 #define MC_CMD_FC_IN_TIMED_READ_SET_DATA_LEN 4
764 #define MC_CMD_FC_IN_TIMED_READ_SET_FLAGS_OFST 44
765 #define MC_CMD_FC_IN_TIMED_READ_SET_FLAGS_LEN 4
766 #define MC_CMD_FC_IN_TIMED_READ_SET_INDIRECT_LBN 0
767 #define MC_CMD_FC_IN_TIMED_READ_SET_INDIRECT_WIDTH 1
768 #define MC_CMD_FC_IN_TIMED_READ_SET_DOUBLE_LBN 1
769 #define MC_CMD_FC_IN_TIMED_READ_SET_DOUBLE_WIDTH 1
770 #define MC_CMD_FC_IN_TIMED_READ_SET_EVENT_LBN 2
771 #define MC_CMD_FC_IN_TIMED_READ_SET_EVENT_WIDTH 1
772 #define MC_CMD_FC_IN_TIMED_READ_SET_PREREAD_LBN 3
773 #define MC_CMD_FC_IN_TIMED_READ_SET_PREREAD_WIDTH 2
774 #define MC_CMD_FC_IN_TIMED_READ_SET_NONE 0x0 /* enum */
775 #define MC_CMD_FC_IN_TIMED_READ_SET_READ 0x1 /* enum */
776 #define MC_CMD_FC_IN_TIMED_READ_SET_WRITE 0x2 /* enum */
777 #define MC_CMD_FC_IN_TIMED_READ_SET_READWRITE 0x3 /* enum */
778 /* Period at which reads are performed (100ms units) */
779 #define MC_CMD_FC_IN_TIMED_READ_SET_PERIOD_OFST 48
780 #define MC_CMD_FC_IN_TIMED_READ_SET_PERIOD_LEN 4
781
782 /* MC_CMD_FC_IN_TIMED_READ_GET msgrequest */
783 #define MC_CMD_FC_IN_TIMED_READ_GET_LEN 12
784 /*            MC_CMD_FC_IN_CMD_OFST 0 */
785 /*            MC_CMD_FC_IN_CMD_LEN 4 */
786 /*            MC_CMD_FC_IN_TIMED_READ_OP_OFST 4 */
787 /*            MC_CMD_FC_IN_TIMED_READ_OP_LEN 4 */
788 /* FC supplied handle */
789 #define MC_CMD_FC_IN_TIMED_READ_GET_FC_HANDLE_OFST 8
790 #define MC_CMD_FC_IN_TIMED_READ_GET_FC_HANDLE_LEN 4
791
792 /* MC_CMD_FC_IN_TIMED_READ_CLEAR msgrequest */
793 #define MC_CMD_FC_IN_TIMED_READ_CLEAR_LEN 12
794 /*            MC_CMD_FC_IN_CMD_OFST 0 */
795 /*            MC_CMD_FC_IN_CMD_LEN 4 */
796 /*            MC_CMD_FC_IN_TIMED_READ_OP_OFST 4 */
797 /*            MC_CMD_FC_IN_TIMED_READ_OP_LEN 4 */
798 /* FC supplied handle */
799 #define MC_CMD_FC_IN_TIMED_READ_CLEAR_FC_HANDLE_OFST 8
800 #define MC_CMD_FC_IN_TIMED_READ_CLEAR_FC_HANDLE_LEN 4
801
802 /* MC_CMD_FC_IN_LOG msgrequest */
803 #define MC_CMD_FC_IN_LOG_LEN 8
804 /*            MC_CMD_FC_IN_CMD_OFST 0 */
805 /*            MC_CMD_FC_IN_CMD_LEN 4 */
806 #define MC_CMD_FC_IN_LOG_OP_OFST 4
807 #define MC_CMD_FC_IN_LOG_OP_LEN 4
808 #define MC_CMD_FC_IN_LOG_ADDR_RANGE 0x0 /* enum */
809 #define MC_CMD_FC_IN_LOG_JTAG_UART 0x1 /* enum */
810
811 /* MC_CMD_FC_IN_LOG_ADDR_RANGE msgrequest */
812 #define MC_CMD_FC_IN_LOG_ADDR_RANGE_LEN 20
813 /*            MC_CMD_FC_IN_CMD_OFST 0 */
814 /*            MC_CMD_FC_IN_CMD_LEN 4 */
815 /*            MC_CMD_FC_IN_LOG_OP_OFST 4 */
816 /*            MC_CMD_FC_IN_LOG_OP_LEN 4 */
817 /* Partition offset into flash */
818 #define MC_CMD_FC_IN_LOG_ADDR_RANGE_OFFSET_OFST 8
819 #define MC_CMD_FC_IN_LOG_ADDR_RANGE_OFFSET_LEN 4
820 /* Partition length */
821 #define MC_CMD_FC_IN_LOG_ADDR_RANGE_LENGTH_OFST 12
822 #define MC_CMD_FC_IN_LOG_ADDR_RANGE_LENGTH_LEN 4
823 /* Partition erase size */
824 #define MC_CMD_FC_IN_LOG_ADDR_RANGE_ERASE_SIZE_OFST 16
825 #define MC_CMD_FC_IN_LOG_ADDR_RANGE_ERASE_SIZE_LEN 4
826
827 /* MC_CMD_FC_IN_LOG_JTAG_UART msgrequest */
828 #define MC_CMD_FC_IN_LOG_JTAG_UART_LEN 12
829 /*            MC_CMD_FC_IN_CMD_OFST 0 */
830 /*            MC_CMD_FC_IN_CMD_LEN 4 */
831 /*            MC_CMD_FC_IN_LOG_OP_OFST 4 */
832 /*            MC_CMD_FC_IN_LOG_OP_LEN 4 */
833 /* Enable/disable printing to JTAG UART */
834 #define MC_CMD_FC_IN_LOG_JTAG_UART_ENABLE_OFST 8
835 #define MC_CMD_FC_IN_LOG_JTAG_UART_ENABLE_LEN 4
836
837 /* MC_CMD_FC_IN_CLOCK msgrequest: Perform a clock operation */
838 #define MC_CMD_FC_IN_CLOCK_LEN 12
839 /*            MC_CMD_FC_IN_CMD_OFST 0 */
840 /*            MC_CMD_FC_IN_CMD_LEN 4 */
841 #define MC_CMD_FC_IN_CLOCK_OP_OFST 4
842 #define MC_CMD_FC_IN_CLOCK_OP_LEN 4
843 #define MC_CMD_FC_IN_CLOCK_GET_TIME 0x0 /* enum */
844 #define MC_CMD_FC_IN_CLOCK_SET_TIME 0x1 /* enum */
845 #define MC_CMD_FC_IN_CLOCK_ID_OFST 8
846 #define MC_CMD_FC_IN_CLOCK_ID_LEN 4
847 #define MC_CMD_FC_IN_CLOCK_STATS 0x0 /* enum */
848 #define MC_CMD_FC_IN_CLOCK_MAC 0x1 /* enum */
849
850 /* MC_CMD_FC_IN_CLOCK_GET_TIME msgrequest: Retrieve the clock value of the
851  * specified clock
852  */
853 #define MC_CMD_FC_IN_CLOCK_GET_TIME_LEN 12
854 /*            MC_CMD_FC_IN_CMD_OFST 0 */
855 /*            MC_CMD_FC_IN_CMD_LEN 4 */
856 /*            MC_CMD_FC_IN_CLOCK_OP_OFST 4 */
857 /*            MC_CMD_FC_IN_CLOCK_OP_LEN 4 */
858 /*            MC_CMD_FC_IN_CLOCK_ID_OFST 8 */
859 /*            MC_CMD_FC_IN_CLOCK_ID_LEN 4 */
860
861 /* MC_CMD_FC_IN_CLOCK_SET_TIME msgrequest: Set the clock value of the specified
862  * clock
863  */
864 #define MC_CMD_FC_IN_CLOCK_SET_TIME_LEN 24
865 /*            MC_CMD_FC_IN_CMD_OFST 0 */
866 /*            MC_CMD_FC_IN_CMD_LEN 4 */
867 /*            MC_CMD_FC_IN_CLOCK_OP_OFST 4 */
868 /*            MC_CMD_FC_IN_CLOCK_OP_LEN 4 */
869 /*            MC_CMD_FC_IN_CLOCK_ID_OFST 8 */
870 /*            MC_CMD_FC_IN_CLOCK_ID_LEN 4 */
871 #define MC_CMD_FC_IN_CLOCK_SET_TIME_SECONDS_OFST 12
872 #define MC_CMD_FC_IN_CLOCK_SET_TIME_SECONDS_LEN 8
873 #define MC_CMD_FC_IN_CLOCK_SET_TIME_SECONDS_LO_OFST 12
874 #define MC_CMD_FC_IN_CLOCK_SET_TIME_SECONDS_HI_OFST 16
875 #define MC_CMD_FC_IN_CLOCK_SET_TIME_NANOSECONDS_OFST 20
876 #define MC_CMD_FC_IN_CLOCK_SET_TIME_NANOSECONDS_LEN 4
877
878 /* MC_CMD_FC_IN_DDR msgrequest */
879 #define MC_CMD_FC_IN_DDR_LEN 12
880 /*            MC_CMD_FC_IN_CMD_OFST 0 */
881 /*            MC_CMD_FC_IN_CMD_LEN 4 */
882 #define MC_CMD_FC_IN_DDR_OP_OFST 4
883 #define MC_CMD_FC_IN_DDR_OP_LEN 4
884 #define MC_CMD_FC_IN_DDR_SET_SPD 0x0 /* enum */
885 #define MC_CMD_FC_IN_DDR_GET_STATUS 0x1 /* enum */
886 #define MC_CMD_FC_IN_DDR_SET_INFO 0x2 /* enum */
887 #define MC_CMD_FC_IN_DDR_BANK_OFST 8
888 #define MC_CMD_FC_IN_DDR_BANK_LEN 4
889 #define MC_CMD_FC_IN_DDR_BANK_B0 0x0 /* enum */
890 #define MC_CMD_FC_IN_DDR_BANK_B1 0x1 /* enum */
891 #define MC_CMD_FC_IN_DDR_BANK_T0 0x2 /* enum */
892 #define MC_CMD_FC_IN_DDR_BANK_T1 0x3 /* enum */
893 #define MC_CMD_FC_IN_DDR_NUM_BANKS 0x4 /* enum */
894
895 /* MC_CMD_FC_IN_DDR_SET_SPD msgrequest */
896 #define MC_CMD_FC_IN_DDR_SET_SPD_LEN 148
897 /*            MC_CMD_FC_IN_CMD_OFST 0 */
898 /*            MC_CMD_FC_IN_CMD_LEN 4 */
899 /*            MC_CMD_FC_IN_DDR_OP_OFST 4 */
900 /*            MC_CMD_FC_IN_DDR_OP_LEN 4 */
901 /* Affected bank */
902 /*            MC_CMD_FC_IN_DDR_BANK_OFST 8 */
903 /*            MC_CMD_FC_IN_DDR_BANK_LEN 4 */
904 /* Flags */
905 #define MC_CMD_FC_IN_DDR_FLAGS_OFST 12
906 #define MC_CMD_FC_IN_DDR_FLAGS_LEN 4
907 #define MC_CMD_FC_IN_DDR_SET_SPD_ACTIVE 0x1 /* enum */
908 /* 128-byte page of serial presence detect data read from module's EEPROM */
909 #define MC_CMD_FC_IN_DDR_SPD_OFST 16
910 #define MC_CMD_FC_IN_DDR_SPD_LEN 1
911 #define MC_CMD_FC_IN_DDR_SPD_NUM 128
912 /* Page index of the spd data copied into MC_CMD_FC_IN_DDR_SPD */
913 #define MC_CMD_FC_IN_DDR_SPD_PAGE_ID_OFST 144
914 #define MC_CMD_FC_IN_DDR_SPD_PAGE_ID_LEN 4
915
916 /* MC_CMD_FC_IN_DDR_SET_INFO msgrequest */
917 #define MC_CMD_FC_IN_DDR_SET_INFO_LEN 16
918 /*            MC_CMD_FC_IN_CMD_OFST 0 */
919 /*            MC_CMD_FC_IN_CMD_LEN 4 */
920 /*            MC_CMD_FC_IN_DDR_OP_OFST 4 */
921 /*            MC_CMD_FC_IN_DDR_OP_LEN 4 */
922 /* Affected bank */
923 /*            MC_CMD_FC_IN_DDR_BANK_OFST 8 */
924 /*            MC_CMD_FC_IN_DDR_BANK_LEN 4 */
925 /* Size of DDR */
926 #define MC_CMD_FC_IN_DDR_SIZE_OFST 12
927 #define MC_CMD_FC_IN_DDR_SIZE_LEN 4
928
929 /* MC_CMD_FC_IN_DDR_GET_STATUS msgrequest */
930 #define MC_CMD_FC_IN_DDR_GET_STATUS_LEN 12
931 /*            MC_CMD_FC_IN_CMD_OFST 0 */
932 /*            MC_CMD_FC_IN_CMD_LEN 4 */
933 /*            MC_CMD_FC_IN_DDR_OP_OFST 4 */
934 /*            MC_CMD_FC_IN_DDR_OP_LEN 4 */
935 /* Affected bank */
936 /*            MC_CMD_FC_IN_DDR_BANK_OFST 8 */
937 /*            MC_CMD_FC_IN_DDR_BANK_LEN 4 */
938
939 /* MC_CMD_FC_IN_TIMESTAMP msgrequest */
940 #define MC_CMD_FC_IN_TIMESTAMP_LEN 8
941 /*            MC_CMD_FC_IN_CMD_OFST 0 */
942 /*            MC_CMD_FC_IN_CMD_LEN 4 */
943 /* FC timestamp operation code */
944 #define MC_CMD_FC_IN_TIMESTAMP_OP_OFST 4
945 #define MC_CMD_FC_IN_TIMESTAMP_OP_LEN 4
946 /* enum: Read transmit timestamp(s) */
947 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT 0x0
948 /* enum: Read snapshot timestamps */
949 #define MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT 0x1
950 /* enum: Clear all transmit timestamps */
951 #define MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT 0x2
952
953 /* MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT msgrequest */
954 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_LEN 28
955 /*            MC_CMD_FC_IN_CMD_OFST 0 */
956 /*            MC_CMD_FC_IN_CMD_LEN 4 */
957 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_OP_OFST 4
958 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_OP_LEN 4
959 /* Control filtering of the returned timestamp and sequence number specified
960  * here
961  */
962 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_FILTER_OFST 8
963 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_FILTER_LEN 4
964 /* enum: Return most recent timestamp. No filtering */
965 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_LATEST 0x0
966 /* enum: Match timestamp against the PTP clock ID, port number and sequence
967  * number specified
968  */
969 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_MATCH 0x1
970 /* Clock identity of PTP packet for which timestamp required */
971 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_CLOCK_ID_OFST 12
972 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_CLOCK_ID_LEN 8
973 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_CLOCK_ID_LO_OFST 12
974 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_CLOCK_ID_HI_OFST 16
975 /* Port number of PTP packet for which timestamp required */
976 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_PORT_NUM_OFST 20
977 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_PORT_NUM_LEN 4
978 /* Sequence number of PTP packet for which timestamp required */
979 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_SEQ_NUM_OFST 24
980 #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_SEQ_NUM_LEN 4
981
982 /* MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT msgrequest */
983 #define MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT_LEN 8
984 /*            MC_CMD_FC_IN_CMD_OFST 0 */
985 /*            MC_CMD_FC_IN_CMD_LEN 4 */
986 #define MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT_OP_OFST 4
987 #define MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT_OP_LEN 4
988
989 /* MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT msgrequest */
990 #define MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT_LEN 8
991 /*            MC_CMD_FC_IN_CMD_OFST 0 */
992 /*            MC_CMD_FC_IN_CMD_LEN 4 */
993 #define MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT_OP_OFST 4
994 #define MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT_OP_LEN 4
995
996 /* MC_CMD_FC_IN_SPI msgrequest */
997 #define MC_CMD_FC_IN_SPI_LEN 8
998 /*            MC_CMD_FC_IN_CMD_OFST 0 */
999 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1000 /* Basic commands for SPI Flash. */
1001 #define MC_CMD_FC_IN_SPI_OP_OFST 4
1002 #define MC_CMD_FC_IN_SPI_OP_LEN 4
1003 /* enum: SPI Flash read */
1004 #define MC_CMD_FC_IN_SPI_READ 0x0
1005 /* enum: SPI Flash write */
1006 #define MC_CMD_FC_IN_SPI_WRITE 0x1
1007 /* enum: SPI Flash erase */
1008 #define MC_CMD_FC_IN_SPI_ERASE 0x2
1009
1010 /* MC_CMD_FC_IN_SPI_READ msgrequest */
1011 #define MC_CMD_FC_IN_SPI_READ_LEN 16
1012 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1013 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1014 #define MC_CMD_FC_IN_SPI_READ_OP_OFST 4
1015 #define MC_CMD_FC_IN_SPI_READ_OP_LEN 4
1016 #define MC_CMD_FC_IN_SPI_READ_ADDR_OFST 8
1017 #define MC_CMD_FC_IN_SPI_READ_ADDR_LEN 4
1018 #define MC_CMD_FC_IN_SPI_READ_NUMBYTES_OFST 12
1019 #define MC_CMD_FC_IN_SPI_READ_NUMBYTES_LEN 4
1020
1021 /* MC_CMD_FC_IN_SPI_WRITE msgrequest */
1022 #define MC_CMD_FC_IN_SPI_WRITE_LENMIN 16
1023 #define MC_CMD_FC_IN_SPI_WRITE_LENMAX 252
1024 #define MC_CMD_FC_IN_SPI_WRITE_LEN(num) (12+4*(num))
1025 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1026 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1027 #define MC_CMD_FC_IN_SPI_WRITE_OP_OFST 4
1028 #define MC_CMD_FC_IN_SPI_WRITE_OP_LEN 4
1029 #define MC_CMD_FC_IN_SPI_WRITE_ADDR_OFST 8
1030 #define MC_CMD_FC_IN_SPI_WRITE_ADDR_LEN 4
1031 #define MC_CMD_FC_IN_SPI_WRITE_BUFFER_OFST 12
1032 #define MC_CMD_FC_IN_SPI_WRITE_BUFFER_LEN 4
1033 #define MC_CMD_FC_IN_SPI_WRITE_BUFFER_MINNUM 1
1034 #define MC_CMD_FC_IN_SPI_WRITE_BUFFER_MAXNUM 60
1035
1036 /* MC_CMD_FC_IN_SPI_ERASE msgrequest */
1037 #define MC_CMD_FC_IN_SPI_ERASE_LEN 16
1038 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1039 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1040 #define MC_CMD_FC_IN_SPI_ERASE_OP_OFST 4
1041 #define MC_CMD_FC_IN_SPI_ERASE_OP_LEN 4
1042 #define MC_CMD_FC_IN_SPI_ERASE_ADDR_OFST 8
1043 #define MC_CMD_FC_IN_SPI_ERASE_ADDR_LEN 4
1044 #define MC_CMD_FC_IN_SPI_ERASE_NUMBYTES_OFST 12
1045 #define MC_CMD_FC_IN_SPI_ERASE_NUMBYTES_LEN 4
1046
1047 /* MC_CMD_FC_IN_DIAG msgrequest */
1048 #define MC_CMD_FC_IN_DIAG_LEN 8
1049 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1050 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1051 /* Operation code indicating component type */
1052 #define MC_CMD_FC_IN_DIAG_OP_OFST 4
1053 #define MC_CMD_FC_IN_DIAG_OP_LEN 4
1054 /* enum: Power noise generator. */
1055 #define MC_CMD_FC_IN_DIAG_POWER_NOISE 0x0
1056 /* enum: DDR soak test component. */
1057 #define MC_CMD_FC_IN_DIAG_DDR_SOAK 0x1
1058 /* enum: Diagnostics datapath control component. */
1059 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL 0x2
1060
1061 /* MC_CMD_FC_IN_DIAG_POWER_NOISE msgrequest */
1062 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_LEN 12
1063 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1064 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1065 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_OP_OFST 4
1066 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_OP_LEN 4
1067 /* Sub-opcode describing the operation to be carried out */
1068 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_SUB_OP_OFST 8
1069 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_SUB_OP_LEN 4
1070 /* enum: Read the configuration (the 32-bit values in each of the clock enable
1071  * count and toggle count registers)
1072  */
1073 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG 0x0
1074 /* enum: Write a new configuration to the clock enable count and toggle count
1075  * registers
1076  */
1077 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG 0x1
1078
1079 /* MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG msgrequest */
1080 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_LEN 12
1081 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1082 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1083 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_OP_OFST 4
1084 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_OP_LEN 4
1085 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_SUB_OP_OFST 8
1086 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_SUB_OP_LEN 4
1087
1088 /* MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG msgrequest */
1089 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_LEN 20
1090 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1091 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1092 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_OP_OFST 4
1093 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_OP_LEN 4
1094 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_SUB_OP_OFST 8
1095 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_SUB_OP_LEN 4
1096 /* The 32-bit value to be written to the toggle count register */
1097 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_TOGGLE_COUNT_OFST 12
1098 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_TOGGLE_COUNT_LEN 4
1099 /* The 32-bit value to be written to the clock enable count register */
1100 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_CLKEN_COUNT_OFST 16
1101 #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_CLKEN_COUNT_LEN 4
1102
1103 /* MC_CMD_FC_IN_DIAG_DDR_SOAK msgrequest */
1104 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_LEN 12
1105 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1106 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1107 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_OP_OFST 4
1108 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_OP_LEN 4
1109 /* Sub-opcode describing the operation to be carried out */
1110 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_SUB_OP_OFST 8
1111 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_SUB_OP_LEN 4
1112 /* enum: Starts DDR soak test on selected banks */
1113 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START 0x0
1114 /* enum: Read status of DDR soak test */
1115 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT 0x1
1116 /* enum: Stop test */
1117 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP 0x2
1118 /* enum: Set or clear bit that triggers fake errors. These cause subsequent
1119  * tests to fail until the bit is cleared.
1120  */
1121 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR 0x3
1122
1123 /* MC_CMD_FC_IN_DIAG_DDR_SOAK_START msgrequest */
1124 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_LEN 24
1125 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1126 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1127 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_OP_OFST 4
1128 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_OP_LEN 4
1129 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_SUB_OP_OFST 8
1130 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_SUB_OP_LEN 4
1131 /* Mask of DDR banks to be tested */
1132 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_BANK_MASK_OFST 12
1133 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_BANK_MASK_LEN 4
1134 /* Pattern to use in the soak test */
1135 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_TEST_PATTERN_OFST 16
1136 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_TEST_PATTERN_LEN 4
1137 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_ZEROS 0x0 /* enum */
1138 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_ONES 0x1 /* enum */
1139 /* Either multiple automatic tests until a STOP command is issued, or one
1140  * single test
1141  */
1142 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_TEST_TYPE_OFST 20
1143 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_TEST_TYPE_LEN 4
1144 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_ONGOING_TEST 0x0 /* enum */
1145 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_SINGLE_TEST 0x1 /* enum */
1146
1147 /* MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT msgrequest */
1148 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_LEN 16
1149 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1150 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1151 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_OP_OFST 4
1152 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_OP_LEN 4
1153 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_SUB_OP_OFST 8
1154 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_SUB_OP_LEN 4
1155 /* DDR bank to read status from */
1156 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_BANK_ID_OFST 12
1157 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_BANK_ID_LEN 4
1158 #define MC_CMD_FC_DDR_BANK0 0x0 /* enum */
1159 #define MC_CMD_FC_DDR_BANK1 0x1 /* enum */
1160 #define MC_CMD_FC_DDR_BANK2 0x2 /* enum */
1161 #define MC_CMD_FC_DDR_BANK3 0x3 /* enum */
1162 #define MC_CMD_FC_DDR_AOEMEM_MAX_BANKS 0x4 /* enum */
1163
1164 /* MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP msgrequest */
1165 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_LEN 16
1166 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1167 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1168 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_OP_OFST 4
1169 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_OP_LEN 4
1170 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_SUB_OP_OFST 8
1171 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_SUB_OP_LEN 4
1172 /* Mask of DDR banks to be tested */
1173 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_BANK_MASK_OFST 12
1174 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_BANK_MASK_LEN 4
1175
1176 /* MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR msgrequest */
1177 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_LEN 20
1178 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1179 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1180 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_OP_OFST 4
1181 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_OP_LEN 4
1182 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_SUB_OP_OFST 8
1183 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_SUB_OP_LEN 4
1184 /* Mask of DDR banks to set/clear error flag on */
1185 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_BANK_MASK_OFST 12
1186 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_BANK_MASK_LEN 4
1187 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_FLAG_ACTION_OFST 16
1188 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_FLAG_ACTION_LEN 4
1189 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_CLEAR 0x0 /* enum */
1190 #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_SET 0x1 /* enum */
1191
1192 /* MC_CMD_FC_IN_DIAG_DATAPATH_CTRL msgrequest */
1193 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_LEN 12
1194 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1195 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1196 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_OP_OFST 4
1197 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_OP_LEN 4
1198 /* Sub-opcode describing the operation to be carried out */
1199 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SUB_OP_OFST 8
1200 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SUB_OP_LEN 4
1201 /* enum: Set a known datapath configuration */
1202 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE 0x0
1203 /* enum: Apply raw config to datapath control registers */
1204 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG 0x1
1205
1206 /* MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE msgrequest */
1207 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_LEN 16
1208 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1209 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1210 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_OP_OFST 4
1211 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_OP_LEN 4
1212 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_SUB_OP_OFST 8
1213 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_SUB_OP_LEN 4
1214 /* Datapath configuration identifier */
1215 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_MODE_OFST 12
1216 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_MODE_LEN 4
1217 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_PASSTHROUGH 0x0 /* enum */
1218 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_SNAKE 0x1 /* enum */
1219
1220 /* MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG msgrequest */
1221 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_LEN 24
1222 /*            MC_CMD_FC_IN_CMD_OFST 0 */
1223 /*            MC_CMD_FC_IN_CMD_LEN 4 */
1224 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_OP_OFST 4
1225 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_OP_LEN 4
1226 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_SUB_OP_OFST 8
1227 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_SUB_OP_LEN 4
1228 /* Value to write into control register 1 */
1229 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL1_OFST 12
1230 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL1_LEN 4
1231 /* Value to write into control register 2 */
1232 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL2_OFST 16
1233 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL2_LEN 4
1234 /* Value to write into control register 3 */
1235 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL3_OFST 20
1236 #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL3_LEN 4
1237
1238 /* MC_CMD_FC_OUT msgresponse */
1239 #define MC_CMD_FC_OUT_LEN 0
1240
1241 /* MC_CMD_FC_OUT_NULL msgresponse */
1242 #define MC_CMD_FC_OUT_NULL_LEN 0
1243
1244 /* MC_CMD_FC_OUT_READ32 msgresponse */
1245 #define MC_CMD_FC_OUT_READ32_LENMIN 4
1246 #define MC_CMD_FC_OUT_READ32_LENMAX 252
1247 #define MC_CMD_FC_OUT_READ32_LEN(num) (0+4*(num))
1248 #define MC_CMD_FC_OUT_READ32_BUFFER_OFST 0
1249 #define MC_CMD_FC_OUT_READ32_BUFFER_LEN 4
1250 #define MC_CMD_FC_OUT_READ32_BUFFER_MINNUM 1
1251 #define MC_CMD_FC_OUT_READ32_BUFFER_MAXNUM 63
1252
1253 /* MC_CMD_FC_OUT_WRITE32 msgresponse */
1254 #define MC_CMD_FC_OUT_WRITE32_LEN 0
1255
1256 /* MC_CMD_FC_OUT_TRC_READ msgresponse */
1257 #define MC_CMD_FC_OUT_TRC_READ_LEN 16
1258 #define MC_CMD_FC_OUT_TRC_READ_DATA_OFST 0
1259 #define MC_CMD_FC_OUT_TRC_READ_DATA_LEN 4
1260 #define MC_CMD_FC_OUT_TRC_READ_DATA_NUM 4
1261
1262 /* MC_CMD_FC_OUT_TRC_WRITE msgresponse */
1263 #define MC_CMD_FC_OUT_TRC_WRITE_LEN 0
1264
1265 /* MC_CMD_FC_OUT_GET_VERSION msgresponse */
1266 #define MC_CMD_FC_OUT_GET_VERSION_LEN 12
1267 #define MC_CMD_FC_OUT_GET_VERSION_FIRMWARE_OFST 0
1268 #define MC_CMD_FC_OUT_GET_VERSION_FIRMWARE_LEN 4
1269 #define MC_CMD_FC_OUT_GET_VERSION_VERSION_OFST 4
1270 #define MC_CMD_FC_OUT_GET_VERSION_VERSION_LEN 8
1271 #define MC_CMD_FC_OUT_GET_VERSION_VERSION_LO_OFST 4
1272 #define MC_CMD_FC_OUT_GET_VERSION_VERSION_HI_OFST 8
1273
1274 /* MC_CMD_FC_OUT_TRC_RX_READ msgresponse */
1275 #define MC_CMD_FC_OUT_TRC_RX_READ_LEN 8
1276 #define MC_CMD_FC_OUT_TRC_RX_READ_DATA_OFST 0
1277 #define MC_CMD_FC_OUT_TRC_RX_READ_DATA_LEN 4
1278 #define MC_CMD_FC_OUT_TRC_RX_READ_DATA_NUM 2
1279
1280 /* MC_CMD_FC_OUT_TRC_RX_WRITE msgresponse */
1281 #define MC_CMD_FC_OUT_TRC_RX_WRITE_LEN 0
1282
1283 /* MC_CMD_FC_OUT_MAC_RECONFIGURE msgresponse */
1284 #define MC_CMD_FC_OUT_MAC_RECONFIGURE_LEN 0
1285
1286 /* MC_CMD_FC_OUT_MAC_SET_LINK msgresponse */
1287 #define MC_CMD_FC_OUT_MAC_SET_LINK_LEN 0
1288
1289 /* MC_CMD_FC_OUT_MAC_READ_STATUS msgresponse */
1290 #define MC_CMD_FC_OUT_MAC_READ_STATUS_LEN 4
1291 #define MC_CMD_FC_OUT_MAC_READ_STATUS_STATUS_OFST 0
1292 #define MC_CMD_FC_OUT_MAC_READ_STATUS_STATUS_LEN 4
1293
1294 /* MC_CMD_FC_OUT_MAC_GET_RX_STATS msgresponse */
1295 #define MC_CMD_FC_OUT_MAC_GET_RX_STATS_LEN ((((0-1+(64*MC_CMD_FC_MAC_RX_NSTATS))+1))>>3)
1296 #define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_OFST 0
1297 #define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_LEN 8
1298 #define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_LO_OFST 0
1299 #define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_HI_OFST 4
1300 #define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_NUM MC_CMD_FC_MAC_RX_NSTATS
1301 #define MC_CMD_FC_MAC_RX_STATS_OCTETS 0x0 /* enum */
1302 #define MC_CMD_FC_MAC_RX_OCTETS_OK 0x1 /* enum */
1303 #define MC_CMD_FC_MAC_RX_ALIGNMENT_ERRORS 0x2 /* enum */
1304 #define MC_CMD_FC_MAC_RX_PAUSE_MAC_CTRL_FRAMES 0x3 /* enum */
1305 #define MC_CMD_FC_MAC_RX_FRAMES_OK 0x4 /* enum */
1306 #define MC_CMD_FC_MAC_RX_CRC_ERRORS 0x5 /* enum */
1307 #define MC_CMD_FC_MAC_RX_VLAN_OK 0x6 /* enum */
1308 #define MC_CMD_FC_MAC_RX_ERRORS 0x7 /* enum */
1309 #define MC_CMD_FC_MAC_RX_UCAST_PKTS 0x8 /* enum */
1310 #define MC_CMD_FC_MAC_RX_MULTICAST_PKTS 0x9 /* enum */
1311 #define MC_CMD_FC_MAC_RX_BROADCAST_PKTS 0xa /* enum */
1312 #define MC_CMD_FC_MAC_RX_STATS_DROP_EVENTS 0xb /* enum */
1313 #define MC_CMD_FC_MAC_RX_STATS_PKTS 0xc /* enum */
1314 #define MC_CMD_FC_MAC_RX_STATS_UNDERSIZE_PKTS 0xd /* enum */
1315 #define MC_CMD_FC_MAC_RX_STATS_PKTS_64 0xe /* enum */
1316 #define MC_CMD_FC_MAC_RX_STATS_PKTS_65_127 0xf /* enum */
1317 #define MC_CMD_FC_MAC_RX_STATS_PKTS_128_255 0x10 /* enum */
1318 #define MC_CMD_FC_MAC_RX_STATS_PKTS_256_511 0x11 /* enum */
1319 #define MC_CMD_FC_MAC_RX_STATS_PKTS_512_1023 0x12 /* enum */
1320 #define MC_CMD_FC_MAC_RX_STATS_PKTS_1024_1518 0x13 /* enum */
1321 #define MC_CMD_FC_MAC_RX_STATS_PKTS_1519_MAX 0x14 /* enum */
1322 #define MC_CMD_FC_MAC_RX_STATS_OVERSIZE_PKTS 0x15 /* enum */
1323 #define MC_CMD_FC_MAC_RX_STATS_JABBERS 0x16 /* enum */
1324 #define MC_CMD_FC_MAC_RX_STATS_FRAGMENTS 0x17 /* enum */
1325 #define MC_CMD_FC_MAC_RX_MAC_CONTROL_FRAMES 0x18 /* enum */
1326 /* enum: (Last entry) */
1327 #define MC_CMD_FC_MAC_RX_NSTATS 0x19
1328
1329 /* MC_CMD_FC_OUT_MAC_GET_TX_STATS msgresponse */
1330 #define MC_CMD_FC_OUT_MAC_GET_TX_STATS_LEN ((((0-1+(64*MC_CMD_FC_MAC_TX_NSTATS))+1))>>3)
1331 #define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_OFST 0
1332 #define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_LEN 8
1333 #define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_LO_OFST 0
1334 #define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_HI_OFST 4
1335 #define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_NUM MC_CMD_FC_MAC_TX_NSTATS
1336 #define MC_CMD_FC_MAC_TX_STATS_OCTETS 0x0 /* enum */
1337 #define MC_CMD_FC_MAC_TX_OCTETS_OK 0x1 /* enum */
1338 #define MC_CMD_FC_MAC_TX_ALIGNMENT_ERRORS 0x2 /* enum */
1339 #define MC_CMD_FC_MAC_TX_PAUSE_MAC_CTRL_FRAMES 0x3 /* enum */
1340 #define MC_CMD_FC_MAC_TX_FRAMES_OK 0x4 /* enum */
1341 #define MC_CMD_FC_MAC_TX_CRC_ERRORS 0x5 /* enum */
1342 #define MC_CMD_FC_MAC_TX_VLAN_OK 0x6 /* enum */
1343 #define MC_CMD_FC_MAC_TX_ERRORS 0x7 /* enum */
1344 #define MC_CMD_FC_MAC_TX_UCAST_PKTS 0x8 /* enum */
1345 #define MC_CMD_FC_MAC_TX_MULTICAST_PKTS 0x9 /* enum */
1346 #define MC_CMD_FC_MAC_TX_BROADCAST_PKTS 0xa /* enum */
1347 #define MC_CMD_FC_MAC_TX_STATS_DROP_EVENTS 0xb /* enum */
1348 #define MC_CMD_FC_MAC_TX_STATS_PKTS 0xc /* enum */
1349 #define MC_CMD_FC_MAC_TX_STATS_UNDERSIZE_PKTS 0xd /* enum */
1350 #define MC_CMD_FC_MAC_TX_STATS_PKTS_64 0xe /* enum */
1351 #define MC_CMD_FC_MAC_TX_STATS_PKTS_65_127 0xf /* enum */
1352 #define MC_CMD_FC_MAC_TX_STATS_PKTS_128_255 0x10 /* enum */
1353 #define MC_CMD_FC_MAC_TX_STATS_PKTS_256_511 0x11 /* enum */
1354 #define MC_CMD_FC_MAC_TX_STATS_PKTS_512_1023 0x12 /* enum */
1355 #define MC_CMD_FC_MAC_TX_STATS_PKTS_1024_1518 0x13 /* enum */
1356 #define MC_CMD_FC_MAC_TX_STATS_PKTS_1519_TX_MTU 0x14 /* enum */
1357 #define MC_CMD_FC_MAC_TX_MAC_CONTROL_FRAMES 0x15 /* enum */
1358 /* enum: (Last entry) */
1359 #define MC_CMD_FC_MAC_TX_NSTATS 0x16
1360
1361 /* MC_CMD_FC_OUT_MAC_GET_STATS msgresponse */
1362 #define MC_CMD_FC_OUT_MAC_GET_STATS_LEN ((((0-1+(64*MC_CMD_FC_MAC_NSTATS_PER_BLOCK))+1))>>3)
1363 /* MAC Statistics */
1364 #define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_OFST 0
1365 #define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_LEN 8
1366 #define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_LO_OFST 0
1367 #define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_HI_OFST 4
1368 #define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_NUM MC_CMD_FC_MAC_NSTATS_PER_BLOCK
1369
1370 /* MC_CMD_FC_OUT_MAC msgresponse */
1371 #define MC_CMD_FC_OUT_MAC_LEN 0
1372
1373 /* MC_CMD_FC_OUT_SFP msgresponse */
1374 #define MC_CMD_FC_OUT_SFP_LEN 0
1375
1376 /* MC_CMD_FC_OUT_DDR_TEST_START msgresponse */
1377 #define MC_CMD_FC_OUT_DDR_TEST_START_LEN 0
1378
1379 /* MC_CMD_FC_OUT_DDR_TEST_POLL msgresponse */
1380 #define MC_CMD_FC_OUT_DDR_TEST_POLL_LEN 8
1381 #define MC_CMD_FC_OUT_DDR_TEST_POLL_STATUS_OFST 0
1382 #define MC_CMD_FC_OUT_DDR_TEST_POLL_STATUS_LEN 4
1383 #define MC_CMD_FC_OUT_DDR_TEST_POLL_CODE_LBN 0
1384 #define MC_CMD_FC_OUT_DDR_TEST_POLL_CODE_WIDTH 8
1385 /* enum: Test not yet initiated */
1386 #define MC_CMD_FC_OP_DDR_TEST_NONE 0x0
1387 /* enum: Test is in progress */
1388 #define MC_CMD_FC_OP_DDR_TEST_INPROGRESS 0x1
1389 /* enum: Timed completed */
1390 #define MC_CMD_FC_OP_DDR_TEST_SUCCESS 0x2
1391 /* enum: Test did not complete in specified time */
1392 #define MC_CMD_FC_OP_DDR_TEST_TIMER_EXPIRED 0x3
1393 #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_T0_LBN 11
1394 #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_T0_WIDTH 1
1395 #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_T1_LBN 10
1396 #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_T1_WIDTH 1
1397 #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_B0_LBN 9
1398 #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_B0_WIDTH 1
1399 #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_B1_LBN 8
1400 #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_B1_WIDTH 1
1401 /* Test result from FPGA */
1402 #define MC_CMD_FC_OUT_DDR_TEST_POLL_RESULT_OFST 4
1403 #define MC_CMD_FC_OUT_DDR_TEST_POLL_RESULT_LEN 4
1404 #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_T0_LBN 31
1405 #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_T0_WIDTH 1
1406 #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_T1_LBN 30
1407 #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_T1_WIDTH 1
1408 #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_B0_LBN 29
1409 #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_B0_WIDTH 1
1410 #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_B1_LBN 28
1411 #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_B1_WIDTH 1
1412 #define MC_CMD_FC_OUT_DDR_TEST_POLL_T0_LBN 15
1413 #define MC_CMD_FC_OUT_DDR_TEST_POLL_T0_WIDTH 5
1414 #define MC_CMD_FC_OUT_DDR_TEST_POLL_T1_LBN 10
1415 #define MC_CMD_FC_OUT_DDR_TEST_POLL_T1_WIDTH 5
1416 #define MC_CMD_FC_OUT_DDR_TEST_POLL_B0_LBN 5
1417 #define MC_CMD_FC_OUT_DDR_TEST_POLL_B0_WIDTH 5
1418 #define MC_CMD_FC_OUT_DDR_TEST_POLL_B1_LBN 0
1419 #define MC_CMD_FC_OUT_DDR_TEST_POLL_B1_WIDTH 5
1420 #define MC_CMD_FC_OUT_DDR_TEST_POLL_TEST_COMPLETE 0x0 /* enum */
1421 #define MC_CMD_FC_OUT_DDR_TEST_POLL_TEST_FAIL 0x1 /* enum */
1422 #define MC_CMD_FC_OUT_DDR_TEST_POLL_TEST_PASS 0x2 /* enum */
1423 #define MC_CMD_FC_OUT_DDR_TEST_POLL_CAL_FAIL 0x3 /* enum */
1424 #define MC_CMD_FC_OUT_DDR_TEST_POLL_CAL_SUCCESS 0x4 /* enum */
1425
1426 /* MC_CMD_FC_OUT_DDR_TEST msgresponse */
1427 #define MC_CMD_FC_OUT_DDR_TEST_LEN 0
1428
1429 /* MC_CMD_FC_OUT_GET_ASSERT msgresponse */
1430 #define MC_CMD_FC_OUT_GET_ASSERT_LEN 144
1431 /* Assertion status flag. */
1432 #define MC_CMD_FC_OUT_GET_ASSERT_GLOBAL_FLAGS_OFST 0
1433 #define MC_CMD_FC_OUT_GET_ASSERT_GLOBAL_FLAGS_LEN 4
1434 #define MC_CMD_FC_OUT_GET_ASSERT_STATE_LBN 8
1435 #define MC_CMD_FC_OUT_GET_ASSERT_STATE_WIDTH 8
1436 /* enum: No crash data available */
1437 #define MC_CMD_FC_GET_ASSERT_FLAGS_STATE_CLEAR 0x0
1438 /* enum: New crash data available */
1439 #define MC_CMD_FC_GET_ASSERT_FLAGS_STATE_NEW 0x1
1440 /* enum: Crash data has been sent */
1441 #define MC_CMD_FC_GET_ASSERT_FLAGS_STATE_NOTIFIED 0x2
1442 #define MC_CMD_FC_OUT_GET_ASSERT_TYPE_LBN 0
1443 #define MC_CMD_FC_OUT_GET_ASSERT_TYPE_WIDTH 8
1444 /* enum: No crash has been recorded. */
1445 #define MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_NONE 0x0
1446 /* enum: Crash due to exception. */
1447 #define MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_EXCEPTION 0x1
1448 /* enum: Crash due to assertion. */
1449 #define MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_ASSERTION 0x2
1450 /* Failing PC value */
1451 #define MC_CMD_FC_OUT_GET_ASSERT_SAVED_PC_OFFS_OFST 4
1452 #define MC_CMD_FC_OUT_GET_ASSERT_SAVED_PC_OFFS_LEN 4
1453 /* Saved GP regs */
1454 #define MC_CMD_FC_OUT_GET_ASSERT_GP_REGS_OFFS_OFST 8
1455 #define MC_CMD_FC_OUT_GET_ASSERT_GP_REGS_OFFS_LEN 4
1456 #define MC_CMD_FC_OUT_GET_ASSERT_GP_REGS_OFFS_NUM 31
1457 /* Exception Type */
1458 #define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_TYPE_OFFS_OFST 132
1459 #define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_TYPE_OFFS_LEN 4
1460 /* Instruction at which exception occurred */
1461 #define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_PC_ADDR_OFFS_OFST 136
1462 #define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_PC_ADDR_OFFS_LEN 4
1463 /* BAD Address that triggered address-based exception */
1464 #define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_BAD_ADDR_OFFS_OFST 140
1465 #define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_BAD_ADDR_OFFS_LEN 4
1466
1467 /* MC_CMD_FC_OUT_FPGA_BUILD msgresponse */
1468 #define MC_CMD_FC_OUT_FPGA_BUILD_LEN 32
1469 #define MC_CMD_FC_OUT_FPGA_BUILD_COMPONENT_INFO_OFST 0
1470 #define MC_CMD_FC_OUT_FPGA_BUILD_COMPONENT_INFO_LEN 4
1471 #define MC_CMD_FC_OUT_FPGA_BUILD_IS_APPLICATION_LBN 31
1472 #define MC_CMD_FC_OUT_FPGA_BUILD_IS_APPLICATION_WIDTH 1
1473 #define MC_CMD_FC_OUT_FPGA_BUILD_IS_LICENSED_LBN 30
1474 #define MC_CMD_FC_OUT_FPGA_BUILD_IS_LICENSED_WIDTH 1
1475 #define MC_CMD_FC_OUT_FPGA_BUILD_COMPONENT_ID_LBN 16
1476 #define MC_CMD_FC_OUT_FPGA_BUILD_COMPONENT_ID_WIDTH 14
1477 #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_MAJOR_LBN 12
1478 #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_MAJOR_WIDTH 4
1479 #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_MINOR_LBN 4
1480 #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_MINOR_WIDTH 8
1481 #define MC_CMD_FC_OUT_FPGA_BUILD_BUILD_NUM_LBN 0
1482 #define MC_CMD_FC_OUT_FPGA_BUILD_BUILD_NUM_WIDTH 4
1483 /* Build timestamp (seconds since epoch) */
1484 #define MC_CMD_FC_OUT_FPGA_BUILD_TIMESTAMP_OFST 4
1485 #define MC_CMD_FC_OUT_FPGA_BUILD_TIMESTAMP_LEN 4
1486 #define MC_CMD_FC_OUT_FPGA_BUILD_PARAMETERS_OFST 8
1487 #define MC_CMD_FC_OUT_FPGA_BUILD_PARAMETERS_LEN 4
1488 #define MC_CMD_FC_OUT_FPGA_BUILD_FPGA_TYPE_LBN 0
1489 #define MC_CMD_FC_OUT_FPGA_BUILD_FPGA_TYPE_WIDTH 8
1490 #define MC_CMD_FC_FPGA_TYPE_A7 0xa7 /* enum */
1491 #define MC_CMD_FC_FPGA_TYPE_A5 0xa5 /* enum */
1492 #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED1_LBN 8
1493 #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED1_WIDTH 10
1494 #define MC_CMD_FC_OUT_FPGA_BUILD_PTP_ENABLED_LBN 18
1495 #define MC_CMD_FC_OUT_FPGA_BUILD_PTP_ENABLED_WIDTH 1
1496 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM1_RLDRAM_DEF_LBN 19
1497 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM1_RLDRAM_DEF_WIDTH 1
1498 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM2_RLDRAM_DEF_LBN 20
1499 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM2_RLDRAM_DEF_WIDTH 1
1500 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM3_RLDRAM_DEF_LBN 21
1501 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM3_RLDRAM_DEF_WIDTH 1
1502 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM4_RLDRAM_DEF_LBN 22
1503 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM4_RLDRAM_DEF_WIDTH 1
1504 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T0_DDR3_DEF_LBN 23
1505 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T0_DDR3_DEF_WIDTH 1
1506 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T1_DDR3_DEF_LBN 24
1507 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T1_DDR3_DEF_WIDTH 1
1508 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_B0_DDR3_DEF_LBN 25
1509 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_B0_DDR3_DEF_WIDTH 1
1510 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_B1_DDR3_DEF_LBN 26
1511 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_B1_DDR3_DEF_WIDTH 1
1512 #define MC_CMD_FC_OUT_FPGA_BUILD_DDR3_ECC_ENABLED_LBN 27
1513 #define MC_CMD_FC_OUT_FPGA_BUILD_DDR3_ECC_ENABLED_WIDTH 1
1514 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T1_QDR_DEF_LBN 28
1515 #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T1_QDR_DEF_WIDTH 1
1516 #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED2_LBN 29
1517 #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED2_WIDTH 2
1518 #define MC_CMD_FC_OUT_FPGA_BUILD_CRC_APPEND_LBN 31
1519 #define MC_CMD_FC_OUT_FPGA_BUILD_CRC_APPEND_WIDTH 1
1520 #define MC_CMD_FC_OUT_FPGA_BUILD_IDENTIFIER_OFST 12
1521 #define MC_CMD_FC_OUT_FPGA_BUILD_IDENTIFIER_LEN 4
1522 #define MC_CMD_FC_OUT_FPGA_BUILD_CHANGESET_LBN 0
1523 #define MC_CMD_FC_OUT_FPGA_BUILD_CHANGESET_WIDTH 16
1524 #define MC_CMD_FC_OUT_FPGA_BUILD_BUILD_FLAG_LBN 16
1525 #define MC_CMD_FC_OUT_FPGA_BUILD_BUILD_FLAG_WIDTH 1
1526 #define MC_CMD_FC_FPGA_BUILD_FLAG_INTERNAL 0x0 /* enum */
1527 #define MC_CMD_FC_FPGA_BUILD_FLAG_RELEASE 0x1 /* enum */
1528 #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED3_LBN 17
1529 #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED3_WIDTH 15
1530 #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_HI_OFST 16
1531 #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_HI_LEN 4
1532 #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MINOR_LBN 0
1533 #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MINOR_WIDTH 16
1534 #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MAJOR_LBN 16
1535 #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MAJOR_WIDTH 16
1536 #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_LO_OFST 20
1537 #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_LO_LEN 4
1538 #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_BUILD_LBN 0
1539 #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_BUILD_WIDTH 16
1540 #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MICRO_LBN 16
1541 #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MICRO_WIDTH 16
1542 #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED4_OFST 16
1543 #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED4_LEN 8
1544 #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED4_LO_OFST 16
1545 #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED4_HI_OFST 20
1546 #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_LO_OFST 24
1547 #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_LO_LEN 4
1548 #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HI_OFST 28
1549 #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HI_LEN 4
1550 #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HIGH_LBN 0
1551 #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HIGH_WIDTH 16
1552
1553 /* MC_CMD_FC_OUT_FPGA_BUILD_V2 msgresponse */
1554 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_LEN 32
1555 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_INFO_OFST 0
1556 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_INFO_LEN 4
1557 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_APPLICATION_LBN 31
1558 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_APPLICATION_WIDTH 1
1559 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_LICENSED_LBN 30
1560 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_LICENSED_WIDTH 1
1561 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_ID_LBN 16
1562 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_ID_WIDTH 14
1563 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MAJOR_LBN 12
1564 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MAJOR_WIDTH 4
1565 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MINOR_LBN 4
1566 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MINOR_WIDTH 8
1567 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_NUM_LBN 0
1568 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_NUM_WIDTH 4
1569 /* Build timestamp (seconds since epoch) */
1570 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_TIMESTAMP_OFST 4
1571 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_TIMESTAMP_LEN 4
1572 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_PARAMETERS_OFST 8
1573 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_PARAMETERS_LEN 4
1574 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_PMA_PASSTHROUGH_LBN 31
1575 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_PMA_PASSTHROUGH_WIDTH 1
1576 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_QDR_DEF_LBN 29
1577 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_QDR_DEF_WIDTH 1
1578 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_QDR_DEF_LBN 28
1579 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_QDR_DEF_WIDTH 1
1580 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DDR3_ECC_ENABLED_LBN 27
1581 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DDR3_ECC_ENABLED_WIDTH 1
1582 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_DDR3_DEF_LBN 26
1583 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_DDR3_DEF_WIDTH 1
1584 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_DDR3_DEF_LBN 25
1585 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_DDR3_DEF_WIDTH 1
1586 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_TO_DDR3_DEF_LBN 24
1587 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_TO_DDR3_DEF_WIDTH 1
1588 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_T0_DDR3_DEF_LBN 23
1589 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_T0_DDR3_DEF_WIDTH 1
1590 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_RLDRAM_DEF_LBN 22
1591 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_RLDRAM_DEF_WIDTH 1
1592 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_RLDRAM_DEF_LBN 21
1593 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_RLDRAM_DEF_WIDTH 1
1594 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_RLDRAM_DEF_LBN 20
1595 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_RLDRAM_DEF_WIDTH 1
1596 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_RLDRAM_DEF_LBN 19
1597 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_RLDRAM_DEF_WIDTH 1
1598 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_LBN 18
1599 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_WIDTH 1
1600 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_10G 0x0 /* enum */
1601 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_40G 0x1 /* enum */
1602 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_LBN 17
1603 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_WIDTH 1
1604 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_10G 0x0 /* enum */
1605 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_40G 0x1 /* enum */
1606 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_LBN 16
1607 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_WIDTH 1
1608 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_10G 0x0 /* enum */
1609 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_40G 0x1 /* enum */
1610 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP7_DEF_LBN 15
1611 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP7_DEF_WIDTH 1
1612 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP6_DEF_LBN 14
1613 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP6_DEF_WIDTH 1
1614 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP5_DEF_LBN 13
1615 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP5_DEF_WIDTH 1
1616 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_DEF_LBN 12
1617 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_DEF_WIDTH 1
1618 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP3_DEF_LBN 11
1619 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP3_DEF_WIDTH 1
1620 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP2_DEF_LBN 10
1621 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP2_DEF_WIDTH 1
1622 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP1_DEF_LBN 9
1623 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP1_DEF_WIDTH 1
1624 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_DEF_LBN 8
1625 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_DEF_WIDTH 1
1626 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC3_DEF_LBN 7
1627 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC3_DEF_WIDTH 1
1628 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC2_DEF_LBN 6
1629 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC2_DEF_WIDTH 1
1630 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC1_DEF_LBN 5
1631 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC1_DEF_WIDTH 1
1632 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_DEF_LBN 4
1633 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_DEF_WIDTH 1
1634 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_FPGA_TYPE_LBN 0
1635 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_FPGA_TYPE_WIDTH 4
1636 #define MC_CMD_FC_FPGA_V2_TYPE_A3 0x0 /* enum */
1637 #define MC_CMD_FC_FPGA_V2_TYPE_A4 0x1 /* enum */
1638 #define MC_CMD_FC_FPGA_V2_TYPE_A5 0x2 /* enum */
1639 #define MC_CMD_FC_FPGA_V2_TYPE_A7 0x3 /* enum */
1640 #define MC_CMD_FC_FPGA_V2_TYPE_D3 0x8 /* enum */
1641 #define MC_CMD_FC_FPGA_V2_TYPE_D4 0x9 /* enum */
1642 #define MC_CMD_FC_FPGA_V2_TYPE_D5 0xa /* enum */
1643 #define MC_CMD_FC_FPGA_V2_TYPE_D7 0xb /* enum */
1644 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_IDENTIFIER_OFST 12
1645 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_IDENTIFIER_LEN 4
1646 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_CHANGESET_LBN 0
1647 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_CHANGESET_WIDTH 16
1648 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_FLAG_LBN 16
1649 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_FLAG_WIDTH 1
1650 /*               MC_CMD_FC_FPGA_BUILD_FLAG_INTERNAL 0x0 */
1651 /*               MC_CMD_FC_FPGA_BUILD_FLAG_RELEASE 0x1 */
1652 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_HI_OFST 16
1653 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_HI_LEN 4
1654 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MINOR_LBN 0
1655 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MINOR_WIDTH 16
1656 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MAJOR_LBN 16
1657 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MAJOR_WIDTH 16
1658 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_LO_OFST 20
1659 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_LO_LEN 4
1660 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_BUILD_LBN 0
1661 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_BUILD_WIDTH 16
1662 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MICRO_LBN 16
1663 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MICRO_WIDTH 16
1664 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_LO_OFST 24
1665 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_LO_LEN 4
1666 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HI_OFST 28
1667 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HI_LEN 4
1668 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HIGH_LBN 0
1669 #define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HIGH_WIDTH 16
1670
1671 /* MC_CMD_FC_OUT_FPGA_SERVICES msgresponse */
1672 #define MC_CMD_FC_OUT_FPGA_SERVICES_LEN 32
1673 #define MC_CMD_FC_OUT_FPGA_SERVICES_COMPONENT_INFO_OFST 0
1674 #define MC_CMD_FC_OUT_FPGA_SERVICES_COMPONENT_INFO_LEN 4
1675 #define MC_CMD_FC_OUT_FPGA_SERVICES_IS_APPLICATION_LBN 31
1676 #define MC_CMD_FC_OUT_FPGA_SERVICES_IS_APPLICATION_WIDTH 1
1677 #define MC_CMD_FC_OUT_FPGA_SERVICES_IS_LICENSED_LBN 30
1678 #define MC_CMD_FC_OUT_FPGA_SERVICES_IS_LICENSED_WIDTH 1
1679 #define MC_CMD_FC_OUT_FPGA_SERVICES_COMPONENT_ID_LBN 16
1680 #define MC_CMD_FC_OUT_FPGA_SERVICES_COMPONENT_ID_WIDTH 14
1681 #define MC_CMD_FC_OUT_FPGA_SERVICES_VERSION_MAJOR_LBN 12
1682 #define MC_CMD_FC_OUT_FPGA_SERVICES_VERSION_MAJOR_WIDTH 4
1683 #define MC_CMD_FC_OUT_FPGA_SERVICES_VERSION_MINOR_LBN 4
1684 #define MC_CMD_FC_OUT_FPGA_SERVICES_VERSION_MINOR_WIDTH 8
1685 #define MC_CMD_FC_OUT_FPGA_SERVICES_BUILD_NUM_LBN 0
1686 #define MC_CMD_FC_OUT_FPGA_SERVICES_BUILD_NUM_WIDTH 4
1687 /* Build timestamp (seconds since epoch) */
1688 #define MC_CMD_FC_OUT_FPGA_SERVICES_TIMESTAMP_OFST 4
1689 #define MC_CMD_FC_OUT_FPGA_SERVICES_TIMESTAMP_LEN 4
1690 #define MC_CMD_FC_OUT_FPGA_SERVICES_PARAMETERS_OFST 8
1691 #define MC_CMD_FC_OUT_FPGA_SERVICES_PARAMETERS_LEN 4
1692 #define MC_CMD_FC_OUT_FPGA_SERVICES_FC_FLASH_BOOTED_LBN 8
1693 #define MC_CMD_FC_OUT_FPGA_SERVICES_FC_FLASH_BOOTED_WIDTH 1
1694 #define MC_CMD_FC_OUT_FPGA_SERVICES_NIC0_DEF_LBN 27
1695 #define MC_CMD_FC_OUT_FPGA_SERVICES_NIC0_DEF_WIDTH 1
1696 #define MC_CMD_FC_OUT_FPGA_SERVICES_NIC1_DEF_LBN 28
1697 #define MC_CMD_FC_OUT_FPGA_SERVICES_NIC1_DEF_WIDTH 1
1698 #define MC_CMD_FC_OUT_FPGA_SERVICES_SFP0_DEF_LBN 29
1699 #define MC_CMD_FC_OUT_FPGA_SERVICES_SFP0_DEF_WIDTH 1
1700 #define MC_CMD_FC_OUT_FPGA_SERVICES_SFP1_DEF_LBN 30
1701 #define MC_CMD_FC_OUT_FPGA_SERVICES_SFP1_DEF_WIDTH 1
1702 #define MC_CMD_FC_OUT_FPGA_SERVICES_RESERVED_LBN 31
1703 #define MC_CMD_FC_OUT_FPGA_SERVICES_RESERVED_WIDTH 1
1704 #define MC_CMD_FC_OUT_FPGA_SERVICES_IDENTIFIER_OFST 12
1705 #define MC_CMD_FC_OUT_FPGA_SERVICES_IDENTIFIER_LEN 4
1706 #define MC_CMD_FC_OUT_FPGA_SERVICES_CHANGESET_LBN 0
1707 #define MC_CMD_FC_OUT_FPGA_SERVICES_CHANGESET_WIDTH 16
1708 #define MC_CMD_FC_OUT_FPGA_SERVICES_BUILD_FLAG_LBN 16
1709 #define MC_CMD_FC_OUT_FPGA_SERVICES_BUILD_FLAG_WIDTH 1
1710 #define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_OFST 16
1711 #define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_LEN 4
1712 #define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_WIDTH_LBN 0
1713 #define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_WIDTH_WIDTH 16
1714 #define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_COUNT_LBN 16
1715 #define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_COUNT_WIDTH 16
1716 #define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_OFST 20
1717 #define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_LEN 4
1718 #define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_WIDTH_LBN 0
1719 #define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_WIDTH_WIDTH 16
1720 #define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_COUNT_LBN 16
1721 #define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_COUNT_WIDTH 16
1722 #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_LO_OFST 24
1723 #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_LO_LEN 4
1724 #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HI_OFST 28
1725 #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HI_LEN 4
1726 #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HIGH_LBN 0
1727 #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HIGH_WIDTH 16
1728
1729 /* MC_CMD_FC_OUT_FPGA_SERVICES_V2 msgresponse */
1730 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_LEN 32
1731 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_INFO_OFST 0
1732 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_INFO_LEN 4
1733 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_APPLICATION_LBN 31
1734 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_APPLICATION_WIDTH 1
1735 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_LICENSED_LBN 30
1736 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_LICENSED_WIDTH 1
1737 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_ID_LBN 16
1738 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_ID_WIDTH 14
1739 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MAJOR_LBN 12
1740 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MAJOR_WIDTH 4
1741 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MINOR_LBN 4
1742 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MINOR_WIDTH 8
1743 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_NUM_LBN 0
1744 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_NUM_WIDTH 4
1745 /* Build timestamp (seconds since epoch) */
1746 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_TIMESTAMP_OFST 4
1747 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_TIMESTAMP_LEN 4
1748 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PARAMETERS_OFST 8
1749 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PARAMETERS_LEN 4
1750 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PTP_ENABLED_LBN 0
1751 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PTP_ENABLED_WIDTH 1
1752 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_FC_FLASH_BOOTED_LBN 8
1753 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_FC_FLASH_BOOTED_WIDTH 1
1754 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IDENTIFIER_OFST 12
1755 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IDENTIFIER_LEN 4
1756 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_CHANGESET_LBN 0
1757 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_CHANGESET_WIDTH 16
1758 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_FLAG_LBN 16
1759 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_FLAG_WIDTH 1
1760 /*               MC_CMD_FC_FPGA_BUILD_FLAG_INTERNAL 0x0 */
1761 /*               MC_CMD_FC_FPGA_BUILD_FLAG_RELEASE 0x1 */
1762 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_LO_OFST 24
1763 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_LO_LEN 4
1764 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HI_OFST 28
1765 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HI_LEN 4
1766 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HIGH_LBN 0
1767 #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HIGH_WIDTH 16
1768
1769 /* MC_CMD_FC_OUT_BSP_VERSION msgresponse */
1770 #define MC_CMD_FC_OUT_BSP_VERSION_LEN 4
1771 /* Qsys system ID */
1772 #define MC_CMD_FC_OUT_BSP_VERSION_SYSID_OFST 0
1773 #define MC_CMD_FC_OUT_BSP_VERSION_SYSID_LEN 4
1774 #define MC_CMD_FC_OUT_BSP_VERSION_VERSION_MAJOR_LBN 12
1775 #define MC_CMD_FC_OUT_BSP_VERSION_VERSION_MAJOR_WIDTH 4
1776 #define MC_CMD_FC_OUT_BSP_VERSION_VERSION_MINOR_LBN 4
1777 #define MC_CMD_FC_OUT_BSP_VERSION_VERSION_MINOR_WIDTH 8
1778 #define MC_CMD_FC_OUT_BSP_VERSION_BUILD_NUM_LBN 0
1779 #define MC_CMD_FC_OUT_BSP_VERSION_BUILD_NUM_WIDTH 4
1780
1781 /* MC_CMD_FC_OUT_READ_MAP_COUNT msgresponse */
1782 #define MC_CMD_FC_OUT_READ_MAP_COUNT_LEN 4
1783 /* Number of maps */
1784 #define MC_CMD_FC_OUT_READ_MAP_COUNT_NUM_MAPS_OFST 0
1785 #define MC_CMD_FC_OUT_READ_MAP_COUNT_NUM_MAPS_LEN 4
1786
1787 /* MC_CMD_FC_OUT_READ_MAP_INDEX msgresponse */
1788 #define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN 164
1789 /* Index of the map */
1790 #define MC_CMD_FC_OUT_READ_MAP_INDEX_INDEX_OFST 0
1791 #define MC_CMD_FC_OUT_READ_MAP_INDEX_INDEX_LEN 4
1792 /* Options for the map */
1793 #define MC_CMD_FC_OUT_READ_MAP_INDEX_OPTIONS_OFST 4
1794 #define MC_CMD_FC_OUT_READ_MAP_INDEX_OPTIONS_LEN 4
1795 #define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_8 0x0 /* enum */
1796 #define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_16 0x1 /* enum */
1797 #define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_32 0x2 /* enum */
1798 #define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_64 0x3 /* enum */
1799 #define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_MASK 0x3 /* enum */
1800 #define MC_CMD_FC_OUT_READ_MAP_INDEX_PATH_FC 0x4 /* enum */
1801 #define MC_CMD_FC_OUT_READ_MAP_INDEX_PATH_MEM 0x8 /* enum */
1802 #define MC_CMD_FC_OUT_READ_MAP_INDEX_PERM_READ 0x10 /* enum */
1803 #define MC_CMD_FC_OUT_READ_MAP_INDEX_PERM_WRITE 0x20 /* enum */
1804 #define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_FREE 0x0 /* enum */
1805 #define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_LICENSED 0x40 /* enum */
1806 /* Address of start of map */
1807 #define MC_CMD_FC_OUT_READ_MAP_INDEX_ADDRESS_OFST 8
1808 #define MC_CMD_FC_OUT_READ_MAP_INDEX_ADDRESS_LEN 8
1809 #define MC_CMD_FC_OUT_READ_MAP_INDEX_ADDRESS_LO_OFST 8
1810 #define MC_CMD_FC_OUT_READ_MAP_INDEX_ADDRESS_HI_OFST 12
1811 /* Length of address map */
1812 #define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN_OFST 16
1813 #define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN_LEN 8
1814 #define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN_LO_OFST 16
1815 #define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN_HI_OFST 20
1816 /* Component information field */
1817 #define MC_CMD_FC_OUT_READ_MAP_INDEX_COMP_INFO_OFST 24
1818 #define MC_CMD_FC_OUT_READ_MAP_INDEX_COMP_INFO_LEN 4
1819 /* License expiry data for map */
1820 #define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_DATE_OFST 28
1821 #define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_DATE_LEN 8
1822 #define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_DATE_LO_OFST 28
1823 #define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_DATE_HI_OFST 32
1824 /* Name of the component */
1825 #define MC_CMD_FC_OUT_READ_MAP_INDEX_NAME_OFST 36
1826 #define MC_CMD_FC_OUT_READ_MAP_INDEX_NAME_LEN 1
1827 #define MC_CMD_FC_OUT_READ_MAP_INDEX_NAME_NUM 128
1828
1829 /* MC_CMD_FC_OUT_READ_MAP msgresponse */
1830 #define MC_CMD_FC_OUT_READ_MAP_LEN 0
1831
1832 /* MC_CMD_FC_OUT_CAPABILITIES msgresponse */
1833 #define MC_CMD_FC_OUT_CAPABILITIES_LEN 8
1834 /* Number of internal ports */
1835 #define MC_CMD_FC_OUT_CAPABILITIES_INTERNAL_OFST 0
1836 #define MC_CMD_FC_OUT_CAPABILITIES_INTERNAL_LEN 4
1837 /* Number of external ports */
1838 #define MC_CMD_FC_OUT_CAPABILITIES_EXTERNAL_OFST 4
1839 #define MC_CMD_FC_OUT_CAPABILITIES_EXTERNAL_LEN 4
1840
1841 /* MC_CMD_FC_OUT_GLOBAL_FLAGS msgresponse */
1842 #define MC_CMD_FC_OUT_GLOBAL_FLAGS_LEN 4
1843 #define MC_CMD_FC_OUT_GLOBAL_FLAGS_FLAGS_OFST 0
1844 #define MC_CMD_FC_OUT_GLOBAL_FLAGS_FLAGS_LEN 4
1845
1846 /* MC_CMD_FC_OUT_IO_REL msgresponse */
1847 #define MC_CMD_FC_OUT_IO_REL_LEN 0
1848
1849 /* MC_CMD_FC_OUT_IO_REL_GET_ADDR msgresponse */
1850 #define MC_CMD_FC_OUT_IO_REL_GET_ADDR_LEN 8
1851 #define MC_CMD_FC_OUT_IO_REL_GET_ADDR_ADDR_HI_OFST 0
1852 #define MC_CMD_FC_OUT_IO_REL_GET_ADDR_ADDR_HI_LEN 4
1853 #define MC_CMD_FC_OUT_IO_REL_GET_ADDR_ADDR_LO_OFST 4
1854 #define MC_CMD_FC_OUT_IO_REL_GET_ADDR_ADDR_LO_LEN 4
1855
1856 /* MC_CMD_FC_OUT_IO_REL_READ32 msgresponse */
1857 #define MC_CMD_FC_OUT_IO_REL_READ32_LENMIN 4
1858 #define MC_CMD_FC_OUT_IO_REL_READ32_LENMAX 252
1859 #define MC_CMD_FC_OUT_IO_REL_READ32_LEN(num) (0+4*(num))
1860 #define MC_CMD_FC_OUT_IO_REL_READ32_BUFFER_OFST 0
1861 #define MC_CMD_FC_OUT_IO_REL_READ32_BUFFER_LEN 4
1862 #define MC_CMD_FC_OUT_IO_REL_READ32_BUFFER_MINNUM 1
1863 #define MC_CMD_FC_OUT_IO_REL_READ32_BUFFER_MAXNUM 63
1864
1865 /* MC_CMD_FC_OUT_IO_REL_WRITE32 msgresponse */
1866 #define MC_CMD_FC_OUT_IO_REL_WRITE32_LEN 0
1867
1868 /* MC_CMD_FC_OUT_UHLINK_PHY msgresponse */
1869 #define MC_CMD_FC_OUT_UHLINK_PHY_LEN 48
1870 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_SETTINGS_0_OFST 0
1871 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_SETTINGS_0_LEN 4
1872 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_VOD_LBN 0
1873 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_VOD_WIDTH 16
1874 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_1STPOSTTAP_LBN 16
1875 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_1STPOSTTAP_WIDTH 16
1876 /* Transceiver Transmit settings */
1877 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_SETTINGS_1_OFST 4
1878 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_SETTINGS_1_LEN 4
1879 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_PRETAP_LBN 0
1880 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_PRETAP_WIDTH 16
1881 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_2NDPOSTTAP_LBN 16
1882 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_2NDPOSTTAP_WIDTH 16
1883 /* Transceiver Receive settings */
1884 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_SETTINGS_OFST 8
1885 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_SETTINGS_LEN 4
1886 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_DC_GAIN_LBN 0
1887 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_DC_GAIN_WIDTH 16
1888 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_EQ_CONTROL_LBN 16
1889 #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_EQ_CONTROL_WIDTH 16
1890 /* Rx eye opening */
1891 #define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_OFST 12
1892 #define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_LEN 4
1893 #define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_WIDTH_LBN 0
1894 #define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_WIDTH_WIDTH 16
1895 #define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_HEIGHT_LBN 16
1896 #define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_HEIGHT_WIDTH 16
1897 /* PCS status word */
1898 #define MC_CMD_FC_OUT_UHLINK_PHY_PCS_STATUS_OFST 16
1899 #define MC_CMD_FC_OUT_UHLINK_PHY_PCS_STATUS_LEN 4
1900 /* Link status word */
1901 #define MC_CMD_FC_OUT_UHLINK_PHY_LINK_STATE_WORD_OFST 20
1902 #define MC_CMD_FC_OUT_UHLINK_PHY_LINK_STATE_WORD_LEN 4
1903 #define MC_CMD_FC_OUT_UHLINK_PHY_LINK_STATE_LBN 0
1904 #define MC_CMD_FC_OUT_UHLINK_PHY_LINK_STATE_WIDTH 1
1905 #define MC_CMD_FC_OUT_UHLINK_PHY_LINK_CONFIGURED_LBN 1
1906 #define MC_CMD_FC_OUT_UHLINK_PHY_LINK_CONFIGURED_WIDTH 1
1907 /* Current SFp parameters applied */
1908 #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_PARAMS_OFST 24
1909 #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_PARAMS_LEN 20
1910 /* Link speed is 100, 1000, 10000 */
1911 #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_SPEED_OFST 24
1912 #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_SPEED_LEN 4
1913 /* Length of copper cable - zero when not relevant */
1914 #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_COPPER_LEN_OFST 28
1915 #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_COPPER_LEN_LEN 4
1916 /* True if a dual speed SFP+ module */
1917 #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_DUAL_SPEED_OFST 32
1918 #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_DUAL_SPEED_LEN 4
1919 /* True if an SFP Module is present (other fields valid when true) */
1920 #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_PRESENT_OFST 36
1921 #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_PRESENT_LEN 4
1922 /* The type of the SFP+ Module */
1923 #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_TYPE_OFST 40
1924 #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_TYPE_LEN 4
1925 /* PHY config flags */
1926 #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_OFST 44
1927 #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_LEN 4
1928 #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_DFE_LBN 0
1929 #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_DFE_WIDTH 1
1930 #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_AEQ_LBN 1
1931 #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_AEQ_WIDTH 1
1932 #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_RX_TUNING_LBN 2
1933 #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_RX_TUNING_WIDTH 1
1934
1935 /* MC_CMD_FC_OUT_UHLINK_MAC msgresponse */
1936 #define MC_CMD_FC_OUT_UHLINK_MAC_LEN 20
1937 /* MAC configuration applied */
1938 #define MC_CMD_FC_OUT_UHLINK_MAC_CONFIG_OFST 0
1939 #define MC_CMD_FC_OUT_UHLINK_MAC_CONFIG_LEN 4
1940 /* MTU size */
1941 #define MC_CMD_FC_OUT_UHLINK_MAC_MTU_OFST 4
1942 #define MC_CMD_FC_OUT_UHLINK_MAC_MTU_LEN 4
1943 /* IF Mode status */
1944 #define MC_CMD_FC_OUT_UHLINK_MAC_IF_STATUS_OFST 8
1945 #define MC_CMD_FC_OUT_UHLINK_MAC_IF_STATUS_LEN 4
1946 /* MAC address configured */
1947 #define MC_CMD_FC_OUT_UHLINK_MAC_ADDR_OFST 12
1948 #define MC_CMD_FC_OUT_UHLINK_MAC_ADDR_LEN 8
1949 #define MC_CMD_FC_OUT_UHLINK_MAC_ADDR_LO_OFST 12
1950 #define MC_CMD_FC_OUT_UHLINK_MAC_ADDR_HI_OFST 16
1951
1952 /* MC_CMD_FC_OUT_UHLINK_RX_EYE msgresponse */
1953 #define MC_CMD_FC_OUT_UHLINK_RX_EYE_LEN ((((0-1+(32*MC_CMD_FC_UHLINK_RX_EYE_PER_BLOCK))+1))>>3)
1954 /* Rx Eye measurements */
1955 #define MC_CMD_FC_OUT_UHLINK_RX_EYE_RX_EYE_OFST 0
1956 #define MC_CMD_FC_OUT_UHLINK_RX_EYE_RX_EYE_LEN 4
1957 #define MC_CMD_FC_OUT_UHLINK_RX_EYE_RX_EYE_NUM MC_CMD_FC_UHLINK_RX_EYE_PER_BLOCK
1958
1959 /* MC_CMD_FC_OUT_UHLINK_DUMP_RX_EYE_PLOT msgresponse */
1960 #define MC_CMD_FC_OUT_UHLINK_DUMP_RX_EYE_PLOT_LEN 0
1961
1962 /* MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT msgresponse */
1963 #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_LEN ((((32-1+(64*MC_CMD_FC_UHLINK_RX_EYE_PLOT_ROWS_PER_BLOCK))+1))>>3)
1964 /* Has the eye plot dump completed and data returned is valid? */
1965 #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_VALID_OFST 0
1966 #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_VALID_LEN 4
1967 /* Rx Eye binary plot */
1968 #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_OFST 4
1969 #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_LEN 8
1970 #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_LO_OFST 4
1971 #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_HI_OFST 8
1972 #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_NUM MC_CMD_FC_UHLINK_RX_EYE_PLOT_ROWS_PER_BLOCK
1973
1974 /* MC_CMD_FC_OUT_UHLINK_RX_TUNE msgresponse */
1975 #define MC_CMD_FC_OUT_UHLINK_RX_TUNE_LEN 0
1976
1977 /* MC_CMD_FC_OUT_UHLINK_LOOPBACK_SET msgresponse */
1978 #define MC_CMD_FC_OUT_UHLINK_LOOPBACK_SET_LEN 0
1979
1980 /* MC_CMD_FC_OUT_UHLINK_LOOPBACK_GET msgresponse */
1981 #define MC_CMD_FC_OUT_UHLINK_LOOPBACK_GET_LEN 4
1982 #define MC_CMD_FC_OUT_UHLINK_LOOPBACK_GET_STATE_OFST 0
1983 #define MC_CMD_FC_OUT_UHLINK_LOOPBACK_GET_STATE_LEN 4
1984
1985 /* MC_CMD_FC_OUT_UHLINK msgresponse */
1986 #define MC_CMD_FC_OUT_UHLINK_LEN 0
1987
1988 /* MC_CMD_FC_OUT_SET_LINK msgresponse */
1989 #define MC_CMD_FC_OUT_SET_LINK_LEN 0
1990
1991 /* MC_CMD_FC_OUT_LICENSE msgresponse */
1992 #define MC_CMD_FC_OUT_LICENSE_LEN 12
1993 /* Count of valid keys */
1994 #define MC_CMD_FC_OUT_LICENSE_VALID_KEYS_OFST 0
1995 #define MC_CMD_FC_OUT_LICENSE_VALID_KEYS_LEN 4
1996 /* Count of invalid keys */
1997 #define MC_CMD_FC_OUT_LICENSE_INVALID_KEYS_OFST 4
1998 #define MC_CMD_FC_OUT_LICENSE_INVALID_KEYS_LEN 4
1999 /* Count of blacklisted keys */
2000 #define MC_CMD_FC_OUT_LICENSE_BLACKLISTED_KEYS_OFST 8
2001 #define MC_CMD_FC_OUT_LICENSE_BLACKLISTED_KEYS_LEN 4
2002
2003 /* MC_CMD_FC_OUT_STARTUP msgresponse */
2004 #define MC_CMD_FC_OUT_STARTUP_LEN 4
2005 /* Capabilities of the FPGA/FC */
2006 #define MC_CMD_FC_OUT_STARTUP_CAPABILITIES_OFST 0
2007 #define MC_CMD_FC_OUT_STARTUP_CAPABILITIES_LEN 4
2008 #define MC_CMD_FC_OUT_STARTUP_CAN_ACCESS_FLASH_LBN 0
2009 #define MC_CMD_FC_OUT_STARTUP_CAN_ACCESS_FLASH_WIDTH 1
2010
2011 /* MC_CMD_FC_OUT_DMA_READ msgresponse */
2012 #define MC_CMD_FC_OUT_DMA_READ_LENMIN 1
2013 #define MC_CMD_FC_OUT_DMA_READ_LENMAX 252
2014 #define MC_CMD_FC_OUT_DMA_READ_LEN(num) (0+1*(num))
2015 /* The data read */
2016 #define MC_CMD_FC_OUT_DMA_READ_DATA_OFST 0
2017 #define MC_CMD_FC_OUT_DMA_READ_DATA_LEN 1
2018 #define MC_CMD_FC_OUT_DMA_READ_DATA_MINNUM 1
2019 #define MC_CMD_FC_OUT_DMA_READ_DATA_MAXNUM 252
2020
2021 /* MC_CMD_FC_OUT_TIMED_READ_SET msgresponse */
2022 #define MC_CMD_FC_OUT_TIMED_READ_SET_LEN 4
2023 /* Timer handle */
2024 #define MC_CMD_FC_OUT_TIMED_READ_SET_FC_HANDLE_OFST 0
2025 #define MC_CMD_FC_OUT_TIMED_READ_SET_FC_HANDLE_LEN 4
2026
2027 /* MC_CMD_FC_OUT_TIMED_READ_GET msgresponse */
2028 #define MC_CMD_FC_OUT_TIMED_READ_GET_LEN 52
2029 /* Host supplied handle (unique) */
2030 #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_HANDLE_OFST 0
2031 #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_HANDLE_LEN 4
2032 /* Address into which to transfer data in host */
2033 #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_DMA_ADDRESS_OFST 4
2034 #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_DMA_ADDRESS_LEN 8
2035 #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_DMA_ADDRESS_LO_OFST 4
2036 #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_DMA_ADDRESS_HI_OFST 8
2037 /* AOE address from which to transfer data */
2038 #define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_ADDRESS_OFST 12
2039 #define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_ADDRESS_LEN 8
2040 #define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_ADDRESS_LO_OFST 12
2041 #define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_ADDRESS_HI_OFST 16
2042 /* Length of AOE transfer (total) */
2043 #define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_LENGTH_OFST 20
2044 #define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_LENGTH_LEN 4
2045 /* Length of host transfer (total) */
2046 #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_LENGTH_OFST 24
2047 #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_LENGTH_LEN 4
2048 /* See FLAGS entry for MC_CMD_FC_IN_TIMED_READ_SET */
2049 #define MC_CMD_FC_OUT_TIMED_READ_GET_FLAGS_OFST 28
2050 #define MC_CMD_FC_OUT_TIMED_READ_GET_FLAGS_LEN 4
2051 #define MC_CMD_FC_OUT_TIMED_READ_GET_PERIOD_OFST 32
2052 #define MC_CMD_FC_OUT_TIMED_READ_GET_PERIOD_LEN 4
2053 /* When active, start read time */
2054 #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_START_OFST 36
2055 #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_START_LEN 8
2056 #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_START_LO_OFST 36
2057 #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_START_HI_OFST 40
2058 /* When active, end read time */
2059 #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_END_OFST 44
2060 #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_END_LEN 8
2061 #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_END_LO_OFST 44
2062 #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_END_HI_OFST 48
2063
2064 /* MC_CMD_FC_OUT_LOG_ADDR_RANGE msgresponse */
2065 #define MC_CMD_FC_OUT_LOG_ADDR_RANGE_LEN 0
2066
2067 /* MC_CMD_FC_OUT_LOG msgresponse */
2068 #define MC_CMD_FC_OUT_LOG_LEN 0
2069
2070 /* MC_CMD_FC_OUT_CLOCK_GET_TIME msgresponse */
2071 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_LEN 24
2072 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_CLOCK_ID_OFST 0
2073 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_CLOCK_ID_LEN 4
2074 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_SECONDS_OFST 4
2075 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_SECONDS_LEN 8
2076 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_SECONDS_LO_OFST 4
2077 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_SECONDS_HI_OFST 8
2078 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_NANOSECONDS_OFST 12
2079 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_NANOSECONDS_LEN 4
2080 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_RANGE_OFST 16
2081 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_RANGE_LEN 4
2082 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_PRECISION_OFST 20
2083 #define MC_CMD_FC_OUT_CLOCK_GET_TIME_PRECISION_LEN 4
2084
2085 /* MC_CMD_FC_OUT_CLOCK_SET_TIME msgresponse */
2086 #define MC_CMD_FC_OUT_CLOCK_SET_TIME_LEN 0
2087
2088 /* MC_CMD_FC_OUT_DDR_SET_SPD msgresponse */
2089 #define MC_CMD_FC_OUT_DDR_SET_SPD_LEN 0
2090
2091 /* MC_CMD_FC_OUT_DDR_SET_INFO msgresponse */
2092 #define MC_CMD_FC_OUT_DDR_SET_INFO_LEN 0
2093
2094 /* MC_CMD_FC_OUT_DDR_GET_STATUS msgresponse */
2095 #define MC_CMD_FC_OUT_DDR_GET_STATUS_LEN 4
2096 #define MC_CMD_FC_OUT_DDR_GET_STATUS_FLAGS_OFST 0
2097 #define MC_CMD_FC_OUT_DDR_GET_STATUS_FLAGS_LEN 4
2098 #define MC_CMD_FC_OUT_DDR_GET_STATUS_READY_LBN 0
2099 #define MC_CMD_FC_OUT_DDR_GET_STATUS_READY_WIDTH 1
2100 #define MC_CMD_FC_OUT_DDR_GET_STATUS_CALIBRATED_LBN 1
2101 #define MC_CMD_FC_OUT_DDR_GET_STATUS_CALIBRATED_WIDTH 1
2102
2103 /* MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT msgresponse */
2104 #define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_LEN 8
2105 #define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_SECONDS_OFST 0
2106 #define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_SECONDS_LEN 4
2107 #define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_NANOSECONDS_OFST 4
2108 #define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_NANOSECONDS_LEN 4
2109
2110 /* MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT msgresponse */
2111 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_LENMIN 8
2112 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_LENMAX 248
2113 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_LEN(num) (0+8*(num))
2114 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_SECONDS_OFST 0
2115 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_SECONDS_LEN 4
2116 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_NANOSECONDS_OFST 4
2117 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_NANOSECONDS_LEN 4
2118 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_OFST 0
2119 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_LEN 8
2120 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_LO_OFST 0
2121 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_HI_OFST 4
2122 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_MINNUM 0
2123 #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_MAXNUM 31
2124
2125 /* MC_CMD_FC_OUT_SPI_READ msgresponse */
2126 #define MC_CMD_FC_OUT_SPI_READ_LENMIN 4
2127 #define MC_CMD_FC_OUT_SPI_READ_LENMAX 252
2128 #define MC_CMD_FC_OUT_SPI_READ_LEN(num) (0+4*(num))
2129 #define MC_CMD_FC_OUT_SPI_READ_BUFFER_OFST 0
2130 #define MC_CMD_FC_OUT_SPI_READ_BUFFER_LEN 4
2131 #define MC_CMD_FC_OUT_SPI_READ_BUFFER_MINNUM 1
2132 #define MC_CMD_FC_OUT_SPI_READ_BUFFER_MAXNUM 63
2133
2134 /* MC_CMD_FC_OUT_SPI_WRITE msgresponse */
2135 #define MC_CMD_FC_OUT_SPI_WRITE_LEN 0
2136
2137 /* MC_CMD_FC_OUT_SPI_ERASE msgresponse */
2138 #define MC_CMD_FC_OUT_SPI_ERASE_LEN 0
2139
2140 /* MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG msgresponse */
2141 #define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_LEN 8
2142 /* The 32-bit value read from the toggle count register */
2143 #define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_TOGGLE_COUNT_OFST 0
2144 #define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_TOGGLE_COUNT_LEN 4
2145 /* The 32-bit value read from the clock enable count register */
2146 #define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_CLKEN_COUNT_OFST 4
2147 #define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_CLKEN_COUNT_LEN 4
2148
2149 /* MC_CMD_FC_OUT_DIAG_POWER_NOISE_WRITE_CONFIG msgresponse */
2150 #define MC_CMD_FC_OUT_DIAG_POWER_NOISE_WRITE_CONFIG_LEN 0
2151
2152 /* MC_CMD_FC_OUT_DIAG_DDR_SOAK_START msgresponse */
2153 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_START_LEN 0
2154
2155 /* MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT msgresponse */
2156 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_LEN 8
2157 /* DDR soak test status word; bits [4:0] are relevant. */
2158 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_STATUS_OFST 0
2159 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_STATUS_LEN 4
2160 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_PASSED_LBN 0
2161 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_PASSED_WIDTH 1
2162 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_FAILED_LBN 1
2163 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_FAILED_WIDTH 1
2164 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_COMPLETED_LBN 2
2165 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_COMPLETED_WIDTH 1
2166 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_TIMEOUT_LBN 3
2167 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_TIMEOUT_WIDTH 1
2168 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_PNF_LBN 4
2169 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_PNF_WIDTH 1
2170 /* DDR soak test error count */
2171 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_ERR_COUNT_OFST 4
2172 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_ERR_COUNT_LEN 4
2173
2174 /* MC_CMD_FC_OUT_DIAG_DDR_SOAK_STOP msgresponse */
2175 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_STOP_LEN 0
2176
2177 /* MC_CMD_FC_OUT_DIAG_DDR_SOAK_ERROR msgresponse */
2178 #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_ERROR_LEN 0
2179
2180 /* MC_CMD_FC_OUT_DIAG_DATAPATH_CTRL_SET_MODE msgresponse */
2181 #define MC_CMD_FC_OUT_DIAG_DATAPATH_CTRL_SET_MODE_LEN 0
2182
2183 /* MC_CMD_FC_OUT_DIAG_DATAPATH_CTRL_RAW_CONFIG msgresponse */
2184 #define MC_CMD_FC_OUT_DIAG_DATAPATH_CTRL_RAW_CONFIG_LEN 0
2185
2186
2187 /***********************************/
2188 /* MC_CMD_AOE
2189  * AOE operations on MC
2190  */
2191 #define MC_CMD_AOE 0xa
2192
2193 /* MC_CMD_AOE_IN msgrequest */
2194 #define MC_CMD_AOE_IN_LEN 4
2195 #define MC_CMD_AOE_IN_OP_HDR_OFST 0
2196 #define MC_CMD_AOE_IN_OP_HDR_LEN 4
2197 #define MC_CMD_AOE_IN_OP_LBN 0
2198 #define MC_CMD_AOE_IN_OP_WIDTH 8
2199 /* enum: FPGA and CPLD information */
2200 #define MC_CMD_AOE_OP_INFO 0x1
2201 /* enum: Currents and voltages read from MCP3424s; DEBUG */
2202 #define MC_CMD_AOE_OP_CURRENTS 0x2
2203 /* enum: Temperatures at locations around the PCB; DEBUG */
2204 #define MC_CMD_AOE_OP_TEMPERATURES 0x3
2205 /* enum: Set CPLD to idle */
2206 #define MC_CMD_AOE_OP_CPLD_IDLE 0x4
2207 /* enum: Read from CPLD register */
2208 #define MC_CMD_AOE_OP_CPLD_READ 0x5
2209 /* enum: Write to CPLD register */
2210 #define MC_CMD_AOE_OP_CPLD_WRITE 0x6
2211 /* enum: Execute CPLD instruction */
2212 #define MC_CMD_AOE_OP_CPLD_INSTRUCTION 0x7
2213 /* enum: Reprogram the CPLD on the AOE device */
2214 #define MC_CMD_AOE_OP_CPLD_REPROGRAM 0x8
2215 /* enum: AOE power control */
2216 #define MC_CMD_AOE_OP_POWER 0x9
2217 /* enum: AOE image loading */
2218 #define MC_CMD_AOE_OP_LOAD 0xa
2219 /* enum: Fan monitoring */
2220 #define MC_CMD_AOE_OP_FAN_CONTROL 0xb
2221 /* enum: Fan failures since last reset */
2222 #define MC_CMD_AOE_OP_FAN_FAILURES 0xc
2223 /* enum: Get generic AOE MAC statistics */
2224 #define MC_CMD_AOE_OP_MAC_STATS 0xd
2225 /* enum: Retrieve PHY specific information */
2226 #define MC_CMD_AOE_OP_GET_PHY_MEDIA_INFO 0xe
2227 /* enum: Write a number of JTAG primitive commands, return will give data */
2228 #define MC_CMD_AOE_OP_JTAG_WRITE 0xf
2229 /* enum: Control access to the FPGA via the Siena JTAG Chain */
2230 #define MC_CMD_AOE_OP_FPGA_ACCESS 0x10
2231 /* enum: Set the MTU offset between Siena and AOE MACs */
2232 #define MC_CMD_AOE_OP_SET_MTU_OFFSET 0x11
2233 /* enum: How link state is handled */
2234 #define MC_CMD_AOE_OP_LINK_STATE 0x12
2235 /* enum: How Siena MAC statistics are reported (deprecated - use
2236  * MC_CMD_AOE_OP_ASIC_STATS)
2237  */
2238 #define MC_CMD_AOE_OP_SIENA_STATS 0x13
2239 /* enum: How native ASIC MAC statistics are reported - replaces the deprecated
2240  * command MC_CMD_AOE_OP_SIENA_STATS
2241  */
2242 #define MC_CMD_AOE_OP_ASIC_STATS 0x13
2243 /* enum: DDR memory information */
2244 #define MC_CMD_AOE_OP_DDR 0x14
2245 /* enum: FC control */
2246 #define MC_CMD_AOE_OP_FC 0x15
2247 /* enum: DDR ECC status reads */
2248 #define MC_CMD_AOE_OP_DDR_ECC_STATUS 0x16
2249 /* enum: Commands for MC-SPI Master emulation */
2250 #define MC_CMD_AOE_OP_MC_SPI_MASTER 0x17
2251 /* enum: Commands for FC boot control */
2252 #define MC_CMD_AOE_OP_FC_BOOT 0x18
2253 /* enum: Get number of internal ports */
2254 #define MC_CMD_AOE_OP_GET_ASIC_PORTS 0x19
2255 /* enum: Get FC assert information and register dump */
2256 #define MC_CMD_AOE_OP_GET_FC_ASSERT_INFO 0x1a
2257
2258 /* MC_CMD_AOE_OUT msgresponse */
2259 #define MC_CMD_AOE_OUT_LEN 0
2260
2261 /* MC_CMD_AOE_IN_INFO msgrequest */
2262 #define MC_CMD_AOE_IN_INFO_LEN 4
2263 #define MC_CMD_AOE_IN_CMD_OFST 0
2264 #define MC_CMD_AOE_IN_CMD_LEN 4
2265
2266 /* MC_CMD_AOE_IN_CURRENTS msgrequest */
2267 #define MC_CMD_AOE_IN_CURRENTS_LEN 4
2268 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2269 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2270
2271 /* MC_CMD_AOE_IN_TEMPERATURES msgrequest */
2272 #define MC_CMD_AOE_IN_TEMPERATURES_LEN 4
2273 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2274 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2275
2276 /* MC_CMD_AOE_IN_CPLD_IDLE msgrequest */
2277 #define MC_CMD_AOE_IN_CPLD_IDLE_LEN 4
2278 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2279 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2280
2281 /* MC_CMD_AOE_IN_CPLD_READ msgrequest */
2282 #define MC_CMD_AOE_IN_CPLD_READ_LEN 12
2283 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2284 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2285 #define MC_CMD_AOE_IN_CPLD_READ_REGISTER_OFST 4
2286 #define MC_CMD_AOE_IN_CPLD_READ_REGISTER_LEN 4
2287 #define MC_CMD_AOE_IN_CPLD_READ_WIDTH_OFST 8
2288 #define MC_CMD_AOE_IN_CPLD_READ_WIDTH_LEN 4
2289
2290 /* MC_CMD_AOE_IN_CPLD_WRITE msgrequest */
2291 #define MC_CMD_AOE_IN_CPLD_WRITE_LEN 16
2292 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2293 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2294 #define MC_CMD_AOE_IN_CPLD_WRITE_REGISTER_OFST 4
2295 #define MC_CMD_AOE_IN_CPLD_WRITE_REGISTER_LEN 4
2296 #define MC_CMD_AOE_IN_CPLD_WRITE_WIDTH_OFST 8
2297 #define MC_CMD_AOE_IN_CPLD_WRITE_WIDTH_LEN 4
2298 #define MC_CMD_AOE_IN_CPLD_WRITE_VALUE_OFST 12
2299 #define MC_CMD_AOE_IN_CPLD_WRITE_VALUE_LEN 4
2300
2301 /* MC_CMD_AOE_IN_CPLD_INSTRUCTION msgrequest */
2302 #define MC_CMD_AOE_IN_CPLD_INSTRUCTION_LEN 8
2303 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2304 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2305 #define MC_CMD_AOE_IN_CPLD_INSTRUCTION_INSTRUCTION_OFST 4
2306 #define MC_CMD_AOE_IN_CPLD_INSTRUCTION_INSTRUCTION_LEN 4
2307
2308 /* MC_CMD_AOE_IN_CPLD_REPROGRAM msgrequest */
2309 #define MC_CMD_AOE_IN_CPLD_REPROGRAM_LEN 8
2310 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2311 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2312 #define MC_CMD_AOE_IN_CPLD_REPROGRAM_OP_OFST 4
2313 #define MC_CMD_AOE_IN_CPLD_REPROGRAM_OP_LEN 4
2314 /* enum: Reprogram CPLD, poll for completion */
2315 #define MC_CMD_AOE_IN_CPLD_REPROGRAM_REPROGRAM 0x1
2316 /* enum: Reprogram CPLD, send event on completion */
2317 #define MC_CMD_AOE_IN_CPLD_REPROGRAM_REPROGRAM_EVENT 0x3
2318 /* enum: Get status of reprogramming operation */
2319 #define MC_CMD_AOE_IN_CPLD_REPROGRAM_STATUS 0x4
2320
2321 /* MC_CMD_AOE_IN_POWER msgrequest */
2322 #define MC_CMD_AOE_IN_POWER_LEN 8
2323 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2324 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2325 /* Turn on or off AOE power */
2326 #define MC_CMD_AOE_IN_POWER_OP_OFST 4
2327 #define MC_CMD_AOE_IN_POWER_OP_LEN 4
2328 /* enum: Turn off FPGA power */
2329 #define MC_CMD_AOE_IN_POWER_OFF 0x0
2330 /* enum: Turn on FPGA power */
2331 #define MC_CMD_AOE_IN_POWER_ON 0x1
2332 /* enum: Clear peak power measurement */
2333 #define MC_CMD_AOE_IN_POWER_CLEAR 0x2
2334 /* enum: Show current power in sensors output */
2335 #define MC_CMD_AOE_IN_POWER_SHOW_CURRENT 0x3
2336 /* enum: Show peak power in sensors output */
2337 #define MC_CMD_AOE_IN_POWER_SHOW_PEAK 0x4
2338 /* enum: Show current DDR current */
2339 #define MC_CMD_AOE_IN_POWER_DDR_LAST 0x5
2340 /* enum: Show peak DDR current */
2341 #define MC_CMD_AOE_IN_POWER_DDR_PEAK 0x6
2342 /* enum: Clear peak DDR current */
2343 #define MC_CMD_AOE_IN_POWER_DDR_CLEAR 0x7
2344
2345 /* MC_CMD_AOE_IN_LOAD msgrequest */
2346 #define MC_CMD_AOE_IN_LOAD_LEN 8
2347 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2348 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2349 /* Image to be loaded (0 - main or 1 - diagnostic) to load in normal sequence
2350  */
2351 #define MC_CMD_AOE_IN_LOAD_IMAGE_OFST 4
2352 #define MC_CMD_AOE_IN_LOAD_IMAGE_LEN 4
2353
2354 /* MC_CMD_AOE_IN_FAN_CONTROL msgrequest */
2355 #define MC_CMD_AOE_IN_FAN_CONTROL_LEN 8
2356 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2357 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2358 /* If non zero report measured fan RPM rather than nominal */
2359 #define MC_CMD_AOE_IN_FAN_CONTROL_REAL_RPM_OFST 4
2360 #define MC_CMD_AOE_IN_FAN_CONTROL_REAL_RPM_LEN 4
2361
2362 /* MC_CMD_AOE_IN_FAN_FAILURES msgrequest */
2363 #define MC_CMD_AOE_IN_FAN_FAILURES_LEN 4
2364 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2365 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2366
2367 /* MC_CMD_AOE_IN_MAC_STATS msgrequest */
2368 #define MC_CMD_AOE_IN_MAC_STATS_LEN 24
2369 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2370 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2371 /* AOE port */
2372 #define MC_CMD_AOE_IN_MAC_STATS_PORT_OFST 4
2373 #define MC_CMD_AOE_IN_MAC_STATS_PORT_LEN 4
2374 /* Host memory address for statistics */
2375 #define MC_CMD_AOE_IN_MAC_STATS_DMA_ADDR_OFST 8
2376 #define MC_CMD_AOE_IN_MAC_STATS_DMA_ADDR_LEN 8
2377 #define MC_CMD_AOE_IN_MAC_STATS_DMA_ADDR_LO_OFST 8
2378 #define MC_CMD_AOE_IN_MAC_STATS_DMA_ADDR_HI_OFST 12
2379 #define MC_CMD_AOE_IN_MAC_STATS_CMD_OFST 16
2380 #define MC_CMD_AOE_IN_MAC_STATS_CMD_LEN 4
2381 #define MC_CMD_AOE_IN_MAC_STATS_DMA_LBN 0
2382 #define MC_CMD_AOE_IN_MAC_STATS_DMA_WIDTH 1
2383 #define MC_CMD_AOE_IN_MAC_STATS_CLEAR_LBN 1
2384 #define MC_CMD_AOE_IN_MAC_STATS_CLEAR_WIDTH 1
2385 #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_CHANGE_LBN 2
2386 #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_CHANGE_WIDTH 1
2387 #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_ENABLE_LBN 3
2388 #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_ENABLE_WIDTH 1
2389 #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_CLEAR_LBN 4
2390 #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_CLEAR_WIDTH 1
2391 #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_NOEVENT_LBN 5
2392 #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_NOEVENT_WIDTH 1
2393 #define MC_CMD_AOE_IN_MAC_STATS_PERIOD_MS_LBN 16
2394 #define MC_CMD_AOE_IN_MAC_STATS_PERIOD_MS_WIDTH 16
2395 /* Length of DMA data (optional) */
2396 #define MC_CMD_AOE_IN_MAC_STATS_DMA_LEN_OFST 20
2397 #define MC_CMD_AOE_IN_MAC_STATS_DMA_LEN_LEN 4
2398
2399 /* MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO msgrequest */
2400 #define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_LEN 12
2401 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2402 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2403 /* AOE port */
2404 #define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_PORT_OFST 4
2405 #define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_PORT_LEN 4
2406 #define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_PAGE_OFST 8
2407 #define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_PAGE_LEN 4
2408
2409 /* MC_CMD_AOE_IN_JTAG_WRITE msgrequest */
2410 #define MC_CMD_AOE_IN_JTAG_WRITE_LENMIN 12
2411 #define MC_CMD_AOE_IN_JTAG_WRITE_LENMAX 252
2412 #define MC_CMD_AOE_IN_JTAG_WRITE_LEN(num) (8+4*(num))
2413 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2414 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2415 #define MC_CMD_AOE_IN_JTAG_WRITE_DATALEN_OFST 4
2416 #define MC_CMD_AOE_IN_JTAG_WRITE_DATALEN_LEN 4
2417 #define MC_CMD_AOE_IN_JTAG_WRITE_DATA_OFST 8
2418 #define MC_CMD_AOE_IN_JTAG_WRITE_DATA_LEN 4
2419 #define MC_CMD_AOE_IN_JTAG_WRITE_DATA_MINNUM 1
2420 #define MC_CMD_AOE_IN_JTAG_WRITE_DATA_MAXNUM 61
2421
2422 /* MC_CMD_AOE_IN_FPGA_ACCESS msgrequest */
2423 #define MC_CMD_AOE_IN_FPGA_ACCESS_LEN 8
2424 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2425 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2426 /* Enable or disable access */
2427 #define MC_CMD_AOE_IN_FPGA_ACCESS_OP_OFST 4
2428 #define MC_CMD_AOE_IN_FPGA_ACCESS_OP_LEN 4
2429 /* enum: Enable access */
2430 #define MC_CMD_AOE_IN_FPGA_ACCESS_ENABLE 0x1
2431 /* enum: Disable access */
2432 #define MC_CMD_AOE_IN_FPGA_ACCESS_DISABLE 0x2
2433
2434 /* MC_CMD_AOE_IN_SET_MTU_OFFSET msgrequest */
2435 #define MC_CMD_AOE_IN_SET_MTU_OFFSET_LEN 12
2436 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2437 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2438 /* AOE port - when not ALL_EXTERNAL or ALL_INTERNAL specifies port number */
2439 #define MC_CMD_AOE_IN_SET_MTU_OFFSET_PORT_OFST 4
2440 #define MC_CMD_AOE_IN_SET_MTU_OFFSET_PORT_LEN 4
2441 /* enum: Apply to all external ports */
2442 #define MC_CMD_AOE_IN_SET_MTU_OFFSET_ALL_EXTERNAL 0x8000
2443 /* enum: Apply to all internal ports */
2444 #define MC_CMD_AOE_IN_SET_MTU_OFFSET_ALL_INTERNAL 0x4000
2445 /* The MTU offset to be applied to the external ports */
2446 #define MC_CMD_AOE_IN_SET_MTU_OFFSET_OFFSET_OFST 8
2447 #define MC_CMD_AOE_IN_SET_MTU_OFFSET_OFFSET_LEN 4
2448
2449 /* MC_CMD_AOE_IN_LINK_STATE msgrequest */
2450 #define MC_CMD_AOE_IN_LINK_STATE_LEN 8
2451 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2452 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2453 #define MC_CMD_AOE_IN_LINK_STATE_MODE_OFST 4
2454 #define MC_CMD_AOE_IN_LINK_STATE_MODE_LEN 4
2455 #define MC_CMD_AOE_IN_LINK_STATE_CONFIG_MODE_LBN 0
2456 #define MC_CMD_AOE_IN_LINK_STATE_CONFIG_MODE_WIDTH 8
2457 /* enum: AOE and associated external port */
2458 #define MC_CMD_AOE_IN_LINK_STATE_SIMPLE_SEPARATE 0x0
2459 /* enum: AOE and OR of all external ports */
2460 #define MC_CMD_AOE_IN_LINK_STATE_SIMPLE_COMBINED 0x1
2461 /* enum: Individual ports */
2462 #define MC_CMD_AOE_IN_LINK_STATE_DIAGNOSTIC 0x2
2463 /* enum: Configure link state mode on given AOE port */
2464 #define MC_CMD_AOE_IN_LINK_STATE_CUSTOM 0x3
2465 #define MC_CMD_AOE_IN_LINK_STATE_OPERATION_LBN 8
2466 #define MC_CMD_AOE_IN_LINK_STATE_OPERATION_WIDTH 8
2467 /* enum: No-op */
2468 #define MC_CMD_AOE_IN_LINK_STATE_OP_NONE 0x0
2469 /* enum: logical OR of all SFP ports link status */
2470 #define MC_CMD_AOE_IN_LINK_STATE_OP_OR 0x1
2471 /* enum: logical AND of all SFP ports link status */
2472 #define MC_CMD_AOE_IN_LINK_STATE_OP_AND 0x2
2473 #define MC_CMD_AOE_IN_LINK_STATE_SFP_MASK_LBN 16
2474 #define MC_CMD_AOE_IN_LINK_STATE_SFP_MASK_WIDTH 16
2475
2476 /* MC_CMD_AOE_IN_GET_ASIC_PORTS msgrequest */
2477 #define MC_CMD_AOE_IN_GET_ASIC_PORTS_LEN 4
2478 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2479 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2480
2481 /* MC_CMD_AOE_IN_GET_FC_ASSERT_INFO msgrequest */
2482 #define MC_CMD_AOE_IN_GET_FC_ASSERT_INFO_LEN 4
2483 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2484 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2485
2486 /* MC_CMD_AOE_IN_SIENA_STATS msgrequest */
2487 #define MC_CMD_AOE_IN_SIENA_STATS_LEN 8
2488 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2489 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2490 /* How MAC statistics are reported */
2491 #define MC_CMD_AOE_IN_SIENA_STATS_MODE_OFST 4
2492 #define MC_CMD_AOE_IN_SIENA_STATS_MODE_LEN 4
2493 /* enum: Statistics from Siena (default) */
2494 #define MC_CMD_AOE_IN_SIENA_STATS_STATS_SIENA 0x0
2495 /* enum: Statistics from AOE external ports */
2496 #define MC_CMD_AOE_IN_SIENA_STATS_STATS_AOE 0x1
2497
2498 /* MC_CMD_AOE_IN_ASIC_STATS msgrequest */
2499 #define MC_CMD_AOE_IN_ASIC_STATS_LEN 8
2500 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2501 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2502 /* How MAC statistics are reported */
2503 #define MC_CMD_AOE_IN_ASIC_STATS_MODE_OFST 4
2504 #define MC_CMD_AOE_IN_ASIC_STATS_MODE_LEN 4
2505 /* enum: Statistics from the ASIC (default) */
2506 #define MC_CMD_AOE_IN_ASIC_STATS_STATS_ASIC 0x0
2507 /* enum: Statistics from AOE external ports */
2508 #define MC_CMD_AOE_IN_ASIC_STATS_STATS_AOE 0x1
2509
2510 /* MC_CMD_AOE_IN_DDR msgrequest */
2511 #define MC_CMD_AOE_IN_DDR_LEN 12
2512 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2513 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2514 #define MC_CMD_AOE_IN_DDR_BANK_OFST 4
2515 #define MC_CMD_AOE_IN_DDR_BANK_LEN 4
2516 /*            Enum values, see field(s): */
2517 /*               MC_CMD_FC/MC_CMD_FC_IN_DDR/MC_CMD_FC_IN_DDR_BANK */
2518 /* Page index of SPD data */
2519 #define MC_CMD_AOE_IN_DDR_SPD_PAGE_ID_OFST 8
2520 #define MC_CMD_AOE_IN_DDR_SPD_PAGE_ID_LEN 4
2521
2522 /* MC_CMD_AOE_IN_FC msgrequest */
2523 #define MC_CMD_AOE_IN_FC_LEN 4
2524 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2525 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2526
2527 /* MC_CMD_AOE_IN_DDR_ECC_STATUS msgrequest */
2528 #define MC_CMD_AOE_IN_DDR_ECC_STATUS_LEN 8
2529 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2530 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2531 #define MC_CMD_AOE_IN_DDR_ECC_STATUS_BANK_OFST 4
2532 #define MC_CMD_AOE_IN_DDR_ECC_STATUS_BANK_LEN 4
2533 /*            Enum values, see field(s): */
2534 /*               MC_CMD_FC/MC_CMD_FC_IN_DDR/MC_CMD_FC_IN_DDR_BANK */
2535
2536 /* MC_CMD_AOE_IN_MC_SPI_MASTER msgrequest */
2537 #define MC_CMD_AOE_IN_MC_SPI_MASTER_LEN 8
2538 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2539 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2540 /* Basic commands for MC SPI Master emulation. */
2541 #define MC_CMD_AOE_IN_MC_SPI_MASTER_OP_OFST 4
2542 #define MC_CMD_AOE_IN_MC_SPI_MASTER_OP_LEN 4
2543 /* enum: MC SPI read */
2544 #define MC_CMD_AOE_IN_MC_SPI_MASTER_READ 0x0
2545 /* enum: MC SPI write */
2546 #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE 0x1
2547
2548 /* MC_CMD_AOE_IN_MC_SPI_MASTER_READ msgrequest */
2549 #define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_LEN 12
2550 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2551 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2552 #define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_OP_OFST 4
2553 #define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_OP_LEN 4
2554 #define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_OFFSET_OFST 8
2555 #define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_OFFSET_LEN 4
2556
2557 /* MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE msgrequest */
2558 #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_LEN 16
2559 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2560 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2561 #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_OP_OFST 4
2562 #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_OP_LEN 4
2563 #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_OFFSET_OFST 8
2564 #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_OFFSET_LEN 4
2565 #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_DATA_OFST 12
2566 #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_DATA_LEN 4
2567
2568 /* MC_CMD_AOE_IN_FC_BOOT msgrequest */
2569 #define MC_CMD_AOE_IN_FC_BOOT_LEN 8
2570 /*            MC_CMD_AOE_IN_CMD_OFST 0 */
2571 /*            MC_CMD_AOE_IN_CMD_LEN 4 */
2572 /* FC boot control flags */
2573 #define MC_CMD_AOE_IN_FC_BOOT_CONTROL_OFST 4
2574 #define MC_CMD_AOE_IN_FC_BOOT_CONTROL_LEN 4
2575 #define MC_CMD_AOE_IN_FC_BOOT_CONTROL_BOOT_ENABLE_LBN 0
2576 #define MC_CMD_AOE_IN_FC_BOOT_CONTROL_BOOT_ENABLE_WIDTH 1
2577
2578 /* MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO msgresponse */
2579 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_LEN 144
2580 /* Assertion status flag. */
2581 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_GLOBAL_FLAGS_OFST 0
2582 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_GLOBAL_FLAGS_LEN 4
2583 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_STATE_LBN 8
2584 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_STATE_WIDTH 8
2585 /* enum: No crash data available */
2586 /*               MC_CMD_FC_GET_ASSERT_FLAGS_STATE_CLEAR 0x0 */
2587 /* enum: New crash data available */
2588 /*               MC_CMD_FC_GET_ASSERT_FLAGS_STATE_NEW 0x1 */
2589 /* enum: Crash data has been sent */
2590 /*               MC_CMD_FC_GET_ASSERT_FLAGS_STATE_NOTIFIED 0x2 */
2591 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_TYPE_LBN 0
2592 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_TYPE_WIDTH 8
2593 /* enum: No crash has been recorded. */
2594 /*               MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_NONE 0x0 */
2595 /* enum: Crash due to exception. */
2596 /*               MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_EXCEPTION 0x1 */
2597 /* enum: Crash due to assertion. */
2598 /*               MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_ASSERTION 0x2 */
2599 /* Failing PC value */
2600 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_SAVED_PC_OFFS_OFST 4
2601 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_SAVED_PC_OFFS_LEN 4
2602 /* Saved GP regs */
2603 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_GP_REGS_OFFS_OFST 8
2604 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_GP_REGS_OFFS_LEN 4
2605 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_GP_REGS_OFFS_NUM 31
2606 /* Exception Type */
2607 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_EXCEPTION_TYPE_OFFS_OFST 132
2608 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_EXCEPTION_TYPE_OFFS_LEN 4
2609 /* Instruction at which exception occurred */
2610 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_EXCEPTION_PC_ADDR_OFFS_OFST 136
2611 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_EXCEPTION_PC_ADDR_OFFS_LEN 4
2612 /* BAD Address that triggered address-based exception */
2613 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_EXCEPTION_BAD_ADDR_OFFS_OFST 140
2614 #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_EXCEPTION_BAD_ADDR_OFFS_LEN 4
2615
2616 /* MC_CMD_AOE_OUT_INFO msgresponse */
2617 #define MC_CMD_AOE_OUT_INFO_LEN 44
2618 /* JTAG IDCODE of CPLD */
2619 #define MC_CMD_AOE_OUT_INFO_CPLD_IDCODE_OFST 0
2620 #define MC_CMD_AOE_OUT_INFO_CPLD_IDCODE_LEN 4
2621 /* Version of CPLD */
2622 #define MC_CMD_AOE_OUT_INFO_CPLD_VERSION_OFST 4
2623 #define MC_CMD_AOE_OUT_INFO_CPLD_VERSION_LEN 4
2624 /* JTAG IDCODE of FPGA */
2625 #define MC_CMD_AOE_OUT_INFO_FPGA_IDCODE_OFST 8
2626 #define MC_CMD_AOE_OUT_INFO_FPGA_IDCODE_LEN 4
2627 /* JTAG USERCODE of FPGA */
2628 #define MC_CMD_AOE_OUT_INFO_FPGA_VERSION_OFST 12
2629 #define MC_CMD_AOE_OUT_INFO_FPGA_VERSION_LEN 4
2630 /* FPGA type - read from CPLD straps */
2631 #define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_OFST 16
2632 #define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_LEN 4
2633 #define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_A5_C2 0x1 /* enum */
2634 #define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_A7_C2 0x2 /* enum */
2635 /* FPGA state (debug) */
2636 #define MC_CMD_AOE_OUT_INFO_FPGA_STATE_OFST 20
2637 #define MC_CMD_AOE_OUT_INFO_FPGA_STATE_LEN 4
2638 /* FPGA image - partition from which loaded */
2639 #define MC_CMD_AOE_OUT_INFO_FPGA_IMAGE_OFST 24
2640 #define MC_CMD_AOE_OUT_INFO_FPGA_IMAGE_LEN 4
2641 /* FC state */
2642 #define MC_CMD_AOE_OUT_INFO_FC_STATE_OFST 28
2643 #define MC_CMD_AOE_OUT_INFO_FC_STATE_LEN 4
2644 /* enum: Set if watchdog working */
2645 #define MC_CMD_AOE_OUT_INFO_WATCHDOG 0x1
2646 /* enum: Set if MC-FC communications working */
2647 #define MC_CMD_AOE_OUT_INFO_COMMS 0x2
2648 /* Random pieces of information */
2649 #define MC_CMD_AOE_OUT_INFO_FLAGS_OFST 32
2650 #define MC_CMD_AOE_OUT_INFO_FLAGS_LEN 4
2651 /* enum: Power to FPGA supplied by PEG connector, not PCIe bus */
2652 #define MC_CMD_AOE_OUT_INFO_PEG_POWER 0x1
2653 /* enum: CPLD apparently good */
2654 #define MC_CMD_AOE_OUT_INFO_CPLD_GOOD 0x2
2655 /* enum: FPGA working normally */
2656 #define MC_CMD_AOE_OUT_INFO_FPGA_GOOD 0x4
2657 /* enum: FPGA is powered */
2658 #define MC_CMD_AOE_OUT_INFO_FPGA_POWER 0x8
2659 /* enum: Board has incompatible SODIMMs fitted */
2660 #define MC_CMD_AOE_OUT_INFO_BAD_SODIMM 0x10
2661 /* enum: Board has ByteBlaster connected */
2662 #define MC_CMD_AOE_OUT_INFO_HAS_BYTEBLASTER 0x20
2663 /* enum: FPGA Boot flash has an invalid header. */
2664 #define MC_CMD_AOE_OUT_INFO_FPGA_BAD_BOOT_HDR 0x40
2665 /* enum: FPGA Application flash is accessible. */
2666 #define MC_CMD_AOE_OUT_INFO_FPGA_APP_FLASH_GOOD 0x80
2667 /* Revision of Modena and Sorrento boards. Sorrento can be R1_2 or R1_3. */
2668 #define MC_CMD_AOE_OUT_INFO_BOARD_REVISION_OFST 36
2669 #define MC_CMD_AOE_OUT_INFO_BOARD_REVISION_LEN 4
2670 #define MC_CMD_AOE_OUT_INFO_UNKNOWN 0x0 /* enum */
2671 #define MC_CMD_AOE_OUT_INFO_R1_0 0x10 /* enum */
2672 #define MC_CMD_AOE_OUT_INFO_R1_1 0x11 /* enum */
2673 #define MC_CMD_AOE_OUT_INFO_R1_2 0x12 /* enum */
2674 #define MC_CMD_AOE_OUT_INFO_R1_3 0x13 /* enum */
2675 /* Result of FC booting - not valid while a ByteBlaster is connected. */
2676 #define MC_CMD_AOE_OUT_INFO_FC_BOOT_RESULT_OFST 40
2677 #define MC_CMD_AOE_OUT_INFO_FC_BOOT_RESULT_LEN 4
2678 /* enum: No error */
2679 #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_NO_ERROR 0x0
2680 /* enum: Bad address set in CPLD */
2681 #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_ADDRESS 0x1
2682 /* enum: Bad header */
2683 #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_MAGIC 0x2
2684 /* enum: Bad text section details */
2685 #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_TEXT 0x3
2686 /* enum: Bad checksum */
2687 #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_CHECKSUM 0x4
2688 /* enum: Bad BSP */
2689 #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_BSP 0x5
2690 /* enum: Flash mode is invalid */
2691 #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_INVALID_FLASH_MODE 0x6
2692 /* enum: FC application loaded and execution attempted */
2693 #define MC_CMD_AOE_OUT_INFO_FC_BOOT_APP_EXECUTE 0x80
2694 /* enum: FC application Started */
2695 #define MC_CMD_AOE_OUT_INFO_FC_BOOT_APP_STARTED 0x81
2696 /* enum: No bootrom in FPGA */
2697 #define MC_CMD_AOE_OUT_INFO_FC_BOOT_NO_BOOTROM 0xff
2698
2699 /* MC_CMD_AOE_OUT_CURRENTS msgresponse */
2700 #define MC_CMD_AOE_OUT_CURRENTS_LEN 68
2701 /* Set of currents and voltages (mA or mV as appropriate) */
2702 #define MC_CMD_AOE_OUT_CURRENTS_VALUES_OFST 0
2703 #define MC_CMD_AOE_OUT_CURRENTS_VALUES_LEN 4
2704 #define MC_CMD_AOE_OUT_CURRENTS_VALUES_NUM 17
2705 #define MC_CMD_AOE_OUT_CURRENTS_I_2V5 0x0 /* enum */
2706 #define MC_CMD_AOE_OUT_CURRENTS_I_1V8 0x1 /* enum */
2707 #define MC_CMD_AOE_OUT_CURRENTS_I_GXB 0x2 /* enum */
2708 #define MC_CMD_AOE_OUT_CURRENTS_I_PGM 0x3 /* enum */
2709 #define MC_CMD_AOE_OUT_CURRENTS_I_XCVR 0x4 /* enum */
2710 #define MC_CMD_AOE_OUT_CURRENTS_I_1V5 0x5 /* enum */
2711 #define MC_CMD_AOE_OUT_CURRENTS_V_3V3 0x6 /* enum */
2712 #define MC_CMD_AOE_OUT_CURRENTS_V_1V5 0x7 /* enum */
2713 #define MC_CMD_AOE_OUT_CURRENTS_I_IN 0x8 /* enum */
2714 #define MC_CMD_AOE_OUT_CURRENTS_I_OUT 0x9 /* enum */
2715 #define MC_CMD_AOE_OUT_CURRENTS_V_IN 0xa /* enum */
2716 #define MC_CMD_AOE_OUT_CURRENTS_I_OUT_DDR1 0xb /* enum */
2717 #define MC_CMD_AOE_OUT_CURRENTS_V_OUT_DDR1 0xc /* enum */
2718 #define MC_CMD_AOE_OUT_CURRENTS_I_OUT_DDR2 0xd /* enum */
2719 #define MC_CMD_AOE_OUT_CURRENTS_V_OUT_DDR2 0xe /* enum */
2720 #define MC_CMD_AOE_OUT_CURRENTS_I_OUT_DDR3 0xf /* enum */
2721 #define MC_CMD_AOE_OUT_CURRENTS_V_OUT_DDR3 0x10 /* enum */
2722
2723 /* MC_CMD_AOE_OUT_TEMPERATURES msgresponse */
2724 #define MC_CMD_AOE_OUT_TEMPERATURES_LEN 40
2725 /* Set of temperatures */
2726 #define MC_CMD_AOE_OUT_TEMPERATURES_VALUES_OFST 0
2727 #define MC_CMD_AOE_OUT_TEMPERATURES_VALUES_LEN 4
2728 #define MC_CMD_AOE_OUT_TEMPERATURES_VALUES_NUM 10
2729 /* enum: The first set of enum values are for Modena code. */
2730 #define MC_CMD_AOE_OUT_TEMPERATURES_MAIN_0 0x0
2731 #define MC_CMD_AOE_OUT_TEMPERATURES_MAIN_1 0x1 /* enum */
2732 #define MC_CMD_AOE_OUT_TEMPERATURES_IND_0 0x2 /* enum */
2733 #define MC_CMD_AOE_OUT_TEMPERATURES_IND_1 0x3 /* enum */
2734 #define MC_CMD_AOE_OUT_TEMPERATURES_VCCIO1 0x4 /* enum */
2735 #define MC_CMD_AOE_OUT_TEMPERATURES_VCCIO2 0x5 /* enum */
2736 #define MC_CMD_AOE_OUT_TEMPERATURES_VCCIO3 0x6 /* enum */
2737 #define MC_CMD_AOE_OUT_TEMPERATURES_PSU 0x7 /* enum */
2738 #define MC_CMD_AOE_OUT_TEMPERATURES_FPGA 0x8 /* enum */
2739 #define MC_CMD_AOE_OUT_TEMPERATURES_SIENA 0x9 /* enum */
2740 /* enum: The second set of enum values are for Sorrento code. */
2741 #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_MAIN_0 0x0
2742 #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_MAIN_1 0x1 /* enum */
2743 #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_IND_0 0x2 /* enum */
2744 #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_IND_1 0x3 /* enum */
2745 #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_SODIMM_0 0x4 /* enum */
2746 #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_SODIMM_1 0x5 /* enum */
2747 #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_FPGA 0x6 /* enum */
2748 #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_PHY0 0x7 /* enum */
2749 #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_PHY1 0x8 /* enum */
2750
2751 /* MC_CMD_AOE_OUT_CPLD_READ msgresponse */
2752 #define MC_CMD_AOE_OUT_CPLD_READ_LEN 4
2753 /* The value read from the CPLD */
2754 #define MC_CMD_AOE_OUT_CPLD_READ_VALUE_OFST 0
2755 #define MC_CMD_AOE_OUT_CPLD_READ_VALUE_LEN 4
2756
2757 /* MC_CMD_AOE_OUT_FAN_FAILURES msgresponse */
2758 #define MC_CMD_AOE_OUT_FAN_FAILURES_LENMIN 4
2759 #define MC_CMD_AOE_OUT_FAN_FAILURES_LENMAX 252
2760 #define MC_CMD_AOE_OUT_FAN_FAILURES_LEN(num) (0+4*(num))
2761 /* Failure counts for each fan */
2762 #define MC_CMD_AOE_OUT_FAN_FAILURES_COUNT_OFST 0
2763 #define MC_CMD_AOE_OUT_FAN_FAILURES_COUNT_LEN 4
2764 #define MC_CMD_AOE_OUT_FAN_FAILURES_COUNT_MINNUM 1
2765 #define MC_CMD_AOE_OUT_FAN_FAILURES_COUNT_MAXNUM 63
2766
2767 /* MC_CMD_AOE_OUT_CPLD_REPROGRAM msgresponse */
2768 #define MC_CMD_AOE_OUT_CPLD_REPROGRAM_LEN 4
2769 /* Results of status command (only) */
2770 #define MC_CMD_AOE_OUT_CPLD_REPROGRAM_STATUS_OFST 0
2771 #define MC_CMD_AOE_OUT_CPLD_REPROGRAM_STATUS_LEN 4
2772
2773 /* MC_CMD_AOE_OUT_POWER_OFF msgresponse */
2774 #define MC_CMD_AOE_OUT_POWER_OFF_LEN 0
2775
2776 /* MC_CMD_AOE_OUT_POWER_ON msgresponse */
2777 #define MC_CMD_AOE_OUT_POWER_ON_LEN 0
2778
2779 /* MC_CMD_AOE_OUT_LOAD msgresponse */
2780 #define MC_CMD_AOE_OUT_LOAD_LEN 0
2781
2782 /* MC_CMD_AOE_OUT_MAC_STATS_DMA msgresponse */
2783 #define MC_CMD_AOE_OUT_MAC_STATS_DMA_LEN 0
2784
2785 /* MC_CMD_AOE_OUT_MAC_STATS_NO_DMA msgresponse: See MC_CMD_MAC_STATS_OUT_NO_DMA
2786  * for details
2787  */
2788 #define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_LEN (((MC_CMD_MAC_NSTATS*64))>>3)
2789 #define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_OFST 0
2790 #define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_LEN 8
2791 #define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_LO_OFST 0
2792 #define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_HI_OFST 4
2793 #define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_NUM MC_CMD_MAC_NSTATS
2794
2795 /* MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO msgresponse */
2796 #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_LENMIN 5
2797 #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_LENMAX 252
2798 #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_LEN(num) (4+1*(num))
2799 /* in bytes */
2800 #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATALEN_OFST 0
2801 #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATALEN_LEN 4
2802 #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATA_OFST 4
2803 #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATA_LEN 1
2804 #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATA_MINNUM 1
2805 #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATA_MAXNUM 248
2806
2807 /* MC_CMD_AOE_OUT_JTAG_WRITE msgresponse */
2808 #define MC_CMD_AOE_OUT_JTAG_WRITE_LENMIN 12
2809 #define MC_CMD_AOE_OUT_JTAG_WRITE_LENMAX 252
2810 #define MC_CMD_AOE_OUT_JTAG_WRITE_LEN(num) (8+4*(num))
2811 /* Used to align the in and out data blocks so the MC can re-use the cmd */
2812 #define MC_CMD_AOE_OUT_JTAG_WRITE_DATALEN_OFST 0
2813 #define MC_CMD_AOE_OUT_JTAG_WRITE_DATALEN_LEN 4
2814 /* out bytes */
2815 #define MC_CMD_AOE_OUT_JTAG_WRITE_PAD_OFST 4
2816 #define MC_CMD_AOE_OUT_JTAG_WRITE_PAD_LEN 4
2817 #define MC_CMD_AOE_OUT_JTAG_WRITE_DATA_OFST 8
2818 #define MC_CMD_AOE_OUT_JTAG_WRITE_DATA_LEN 4
2819 #define MC_CMD_AOE_OUT_JTAG_WRITE_DATA_MINNUM 1
2820 #define MC_CMD_AOE_OUT_JTAG_WRITE_DATA_MAXNUM 61
2821
2822 /* MC_CMD_AOE_OUT_FPGA_ACCESS msgresponse */
2823 #define MC_CMD_AOE_OUT_FPGA_ACCESS_LEN 0
2824
2825 /* MC_CMD_AOE_OUT_DDR msgresponse */
2826 #define MC_CMD_AOE_OUT_DDR_LENMIN 17
2827 #define MC_CMD_AOE_OUT_DDR_LENMAX 252
2828 #define MC_CMD_AOE_OUT_DDR_LEN(num) (16+1*(num))
2829 /* Information on the module. */
2830 #define MC_CMD_AOE_OUT_DDR_FLAGS_OFST 0
2831 #define MC_CMD_AOE_OUT_DDR_FLAGS_LEN 4
2832 #define MC_CMD_AOE_OUT_DDR_PRESENT_LBN 0
2833 #define MC_CMD_AOE_OUT_DDR_PRESENT_WIDTH 1
2834 #define MC_CMD_AOE_OUT_DDR_POWERED_LBN 1
2835 #define MC_CMD_AOE_OUT_DDR_POWERED_WIDTH 1
2836 #define MC_CMD_AOE_OUT_DDR_OPERATIONAL_LBN 2
2837 #define MC_CMD_AOE_OUT_DDR_OPERATIONAL_WIDTH 1
2838 #define MC_CMD_AOE_OUT_DDR_NOT_REACHABLE_LBN 3
2839 #define MC_CMD_AOE_OUT_DDR_NOT_REACHABLE_WIDTH 1
2840 /* Memory size, in MB. */
2841 #define MC_CMD_AOE_OUT_DDR_CAPACITY_OFST 4
2842 #define MC_CMD_AOE_OUT_DDR_CAPACITY_LEN 4
2843 /* The memory type, as reported from SPD information */
2844 #define MC_CMD_AOE_OUT_DDR_TYPE_OFST 8
2845 #define MC_CMD_AOE_OUT_DDR_TYPE_LEN 4
2846 /* Nominal voltage of the module (as applied) */
2847 #define MC_CMD_AOE_OUT_DDR_VOLTAGE_OFST 12
2848 #define MC_CMD_AOE_OUT_DDR_VOLTAGE_LEN 4
2849 /* SPD data read from the module */
2850 #define MC_CMD_AOE_OUT_DDR_SPD_OFST 16
2851 #define MC_CMD_AOE_OUT_DDR_SPD_LEN 1
2852 #define MC_CMD_AOE_OUT_DDR_SPD_MINNUM 1
2853 #define MC_CMD_AOE_OUT_DDR_SPD_MAXNUM 236
2854
2855 /* MC_CMD_AOE_OUT_SET_MTU_OFFSET msgresponse */
2856 #define MC_CMD_AOE_OUT_SET_MTU_OFFSET_LEN 0
2857
2858 /* MC_CMD_AOE_OUT_LINK_STATE msgresponse */
2859 #define MC_CMD_AOE_OUT_LINK_STATE_LEN 0
2860
2861 /* MC_CMD_AOE_OUT_SIENA_STATS msgresponse */
2862 #define MC_CMD_AOE_OUT_SIENA_STATS_LEN 0
2863
2864 /* MC_CMD_AOE_OUT_ASIC_STATS msgresponse */
2865 #define MC_CMD_AOE_OUT_ASIC_STATS_LEN 0
2866
2867 /* MC_CMD_AOE_OUT_FC msgresponse */
2868 #define MC_CMD_AOE_OUT_FC_LEN 0
2869
2870 /* MC_CMD_AOE_OUT_GET_ASIC_PORTS msgresponse */
2871 #define MC_CMD_AOE_OUT_GET_ASIC_PORTS_LEN 4
2872 /* get the number of internal ports */
2873 #define MC_CMD_AOE_OUT_GET_ASIC_PORTS_COUNT_PORTS_OFST 0
2874 #define MC_CMD_AOE_OUT_GET_ASIC_PORTS_COUNT_PORTS_LEN 4
2875
2876 /* MC_CMD_AOE_OUT_DDR_ECC_STATUS msgresponse */
2877 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_LEN 8
2878 /* Flags describing status info on the module. */
2879 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_FLAGS_OFST 0
2880 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_FLAGS_LEN 4
2881 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_VALID_LBN 0
2882 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_VALID_WIDTH 1
2883 /* DDR ECC status on the module. */
2884 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_STATUS_OFST 4
2885 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_STATUS_LEN 4
2886 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_SBE_LBN 0
2887 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_SBE_WIDTH 1
2888 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_DBE_LBN 1
2889 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_DBE_WIDTH 1
2890 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_CORDROP_LBN 2
2891 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_CORDROP_WIDTH 1
2892 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_SBE_COUNT_LBN 8
2893 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_SBE_COUNT_WIDTH 8
2894 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_DBE_COUNT_LBN 16
2895 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_DBE_COUNT_WIDTH 8
2896 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_CORDROP_COUNT_LBN 24
2897 #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_CORDROP_COUNT_WIDTH 8
2898
2899 /* MC_CMD_AOE_OUT_MC_SPI_MASTER_READ msgresponse */
2900 #define MC_CMD_AOE_OUT_MC_SPI_MASTER_READ_LEN 4
2901 #define MC_CMD_AOE_OUT_MC_SPI_MASTER_READ_DATA_OFST 0
2902 #define MC_CMD_AOE_OUT_MC_SPI_MASTER_READ_DATA_LEN 4
2903
2904 /* MC_CMD_AOE_OUT_MC_SPI_MASTER_WRITE msgresponse */
2905 #define MC_CMD_AOE_OUT_MC_SPI_MASTER_WRITE_LEN 0
2906
2907 /* MC_CMD_AOE_OUT_MC_SPI_MASTER msgresponse */
2908 #define MC_CMD_AOE_OUT_MC_SPI_MASTER_LEN 0
2909
2910 /* MC_CMD_AOE_OUT_FC_BOOT msgresponse */
2911 #define MC_CMD_AOE_OUT_FC_BOOT_LEN 0
2912
2913 #endif /* _SIENA_MC_DRIVER_PCOL_AOE_H */
2914 /*! \cidoxg_end */