The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/sfxge/common/efx_regs_mcdi_aoe.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

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

Cache object: 2bfba513207412916b736fb7e6ac742f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.