19ed106d0SAndrew Rybchenko /*- 2*4d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 39ed106d0SAndrew Rybchenko * 49ed106d0SAndrew Rybchenko * Copyright 2008-2018 Solarflare Communications Inc. All rights reserved. 59ed106d0SAndrew Rybchenko * 69ed106d0SAndrew Rybchenko * Redistribution and use in source and binary forms, with or without 79ed106d0SAndrew Rybchenko * modification, are permitted provided that the following conditions 89ed106d0SAndrew Rybchenko * are met: 99ed106d0SAndrew Rybchenko * 1. Redistributions of source code must retain the above copyright 109ed106d0SAndrew Rybchenko * notice, this list of conditions and the following disclaimer. 119ed106d0SAndrew Rybchenko * 2. Redistributions in binary form must reproduce the above copyright 129ed106d0SAndrew Rybchenko * notice, this list of conditions and the following disclaimer in the 139ed106d0SAndrew Rybchenko * documentation and/or other materials provided with the distribution. 149ed106d0SAndrew Rybchenko * 159ed106d0SAndrew Rybchenko * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS AND 169ed106d0SAndrew Rybchenko * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 179ed106d0SAndrew Rybchenko * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 189ed106d0SAndrew Rybchenko * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 199ed106d0SAndrew Rybchenko * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 209ed106d0SAndrew Rybchenko * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 219ed106d0SAndrew Rybchenko * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 229ed106d0SAndrew Rybchenko * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 239ed106d0SAndrew Rybchenko * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 249ed106d0SAndrew Rybchenko * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 259ed106d0SAndrew Rybchenko * SUCH DAMAGE. 269ed106d0SAndrew Rybchenko */ 279ed106d0SAndrew Rybchenko 289ed106d0SAndrew Rybchenko #ifndef _SYS_EFX_REGS_MCDI_AOE_H 299ed106d0SAndrew Rybchenko #define _SYS_EFX_REGS_MCDI_AOE_H 309ed106d0SAndrew Rybchenko 319ed106d0SAndrew Rybchenko /***********************************/ 329ed106d0SAndrew Rybchenko /* MC_CMD_FC 339ed106d0SAndrew Rybchenko * Perform an FC operation 349ed106d0SAndrew Rybchenko */ 359ed106d0SAndrew Rybchenko #define MC_CMD_FC 0x9 369ed106d0SAndrew Rybchenko 379ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN msgrequest */ 389ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LEN 4 399ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_OP_HDR_OFST 0 409ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_OP_HDR_LEN 4 419ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_OP_LBN 0 429ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_OP_WIDTH 8 439ed106d0SAndrew Rybchenko /* enum: NULL MCDI command to FC. */ 449ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_NULL 0x1 459ed106d0SAndrew Rybchenko /* enum: Unused opcode */ 469ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UNUSED 0x2 479ed106d0SAndrew Rybchenko /* enum: MAC driver commands */ 489ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_MAC 0x3 499ed106d0SAndrew Rybchenko /* enum: Read FC memory */ 509ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_READ32 0x4 519ed106d0SAndrew Rybchenko /* enum: Write to FC memory */ 529ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_WRITE32 0x5 539ed106d0SAndrew Rybchenko /* enum: Read FC memory */ 549ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_TRC_READ 0x6 559ed106d0SAndrew Rybchenko /* enum: Write to FC memory */ 569ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_TRC_WRITE 0x7 579ed106d0SAndrew Rybchenko /* enum: FC firmware Version */ 589ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_GET_VERSION 0x8 599ed106d0SAndrew Rybchenko /* enum: Read FC memory */ 609ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_TRC_RX_READ 0x9 619ed106d0SAndrew Rybchenko /* enum: Write to FC memory */ 629ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_TRC_RX_WRITE 0xa 639ed106d0SAndrew Rybchenko /* enum: SFP parameters */ 649ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_SFP 0xb 659ed106d0SAndrew Rybchenko /* enum: DDR3 test */ 669ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_DDR_TEST 0xc 679ed106d0SAndrew Rybchenko /* enum: Get Crash context from FC */ 689ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_GET_ASSERT 0xd 699ed106d0SAndrew Rybchenko /* enum: Get FPGA Build registers */ 709ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_FPGA_BUILD 0xe 719ed106d0SAndrew Rybchenko /* enum: Read map support commands */ 729ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_READ_MAP 0xf 739ed106d0SAndrew Rybchenko /* enum: FC Capabilities */ 749ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_CAPABILITIES 0x10 759ed106d0SAndrew Rybchenko /* enum: FC Global flags */ 769ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_GLOBAL_FLAGS 0x11 779ed106d0SAndrew Rybchenko /* enum: FC IO using relative addressing modes */ 789ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_IO_REL 0x12 799ed106d0SAndrew Rybchenko /* enum: FPGA link information */ 809ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK 0x13 819ed106d0SAndrew Rybchenko /* enum: Configure loopbacks and link on FPGA ports */ 829ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_SET_LINK 0x14 839ed106d0SAndrew Rybchenko /* enum: Licensing operations relating to AOE */ 849ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_LICENSE 0x15 859ed106d0SAndrew Rybchenko /* enum: Startup information to the FC */ 869ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_STARTUP 0x16 879ed106d0SAndrew Rybchenko /* enum: Configure a DMA read */ 889ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_DMA 0x17 899ed106d0SAndrew Rybchenko /* enum: Configure a timed read */ 909ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_TIMED_READ 0x18 919ed106d0SAndrew Rybchenko /* enum: Control UART logging */ 929ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_LOG 0x19 939ed106d0SAndrew Rybchenko /* enum: Get the value of a given clock_id */ 949ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_CLOCK 0x1a 959ed106d0SAndrew Rybchenko /* enum: DDR3/QDR3 parameters */ 969ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_DDR 0x1b 979ed106d0SAndrew Rybchenko /* enum: PTP and timestamp control */ 989ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_TIMESTAMP 0x1c 999ed106d0SAndrew Rybchenko /* enum: Commands for SPI Flash interface */ 1009ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_SPI 0x1d 1019ed106d0SAndrew Rybchenko /* enum: Commands for diagnostic components */ 1029ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_DIAG 0x1e 1039ed106d0SAndrew Rybchenko /* enum: External AOE port. */ 1049ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_PORT_EXT_OFST 0x0 1059ed106d0SAndrew Rybchenko /* enum: Internal AOE port. */ 1069ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_PORT_INT_OFST 0x40 1079ed106d0SAndrew Rybchenko 1089ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_NULL msgrequest */ 1099ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_NULL_LEN 4 1109ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CMD_OFST 0 1119ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CMD_LEN 4 1129ed106d0SAndrew Rybchenko 1139ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_PHY msgrequest */ 1149ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_PHY_LEN 5 1159ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 1169ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 1179ed106d0SAndrew Rybchenko /* FC PHY driver operation code */ 1189ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_PHY_OP_OFST 4 1199ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_PHY_OP_LEN 1 1209ed106d0SAndrew Rybchenko /* enum: PHY init handler */ 1219ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_INIT 0x1 1229ed106d0SAndrew Rybchenko /* enum: PHY reconfigure handler */ 1239ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_RECONFIGURE 0x2 1249ed106d0SAndrew Rybchenko /* enum: PHY reboot handler */ 1259ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_REBOOT 0x3 1269ed106d0SAndrew Rybchenko /* enum: PHY get_supported_cap handler */ 1279ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_GET_SUPPORTED_CAP 0x4 1289ed106d0SAndrew Rybchenko /* enum: PHY get_config handler */ 1299ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_GET_CONFIG 0x5 1309ed106d0SAndrew Rybchenko /* enum: PHY get_media_info handler */ 1319ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_GET_MEDIA_INFO 0x6 1329ed106d0SAndrew Rybchenko /* enum: PHY set_led handler */ 1339ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_SET_LED 0x7 1349ed106d0SAndrew Rybchenko /* enum: PHY lasi_interrupt handler */ 1359ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_LASI_INTERRUPT 0x8 1369ed106d0SAndrew Rybchenko /* enum: PHY check_link handler */ 1379ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_CHECK_LINK 0x9 1389ed106d0SAndrew Rybchenko /* enum: PHY fill_stats handler */ 1399ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_FILL_STATS 0xa 1409ed106d0SAndrew Rybchenko /* enum: PHY bpx_link_state_changed handler */ 1419ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_BPX_LINK_STATE_CHANGED 0xb 1429ed106d0SAndrew Rybchenko /* enum: PHY get_state handler */ 1439ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_GET_STATE 0xc 1449ed106d0SAndrew Rybchenko /* enum: PHY start_bist handler */ 1459ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_START_BIST 0xd 1469ed106d0SAndrew Rybchenko /* enum: PHY poll_bist handler */ 1479ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_POLL_BIST 0xe 1489ed106d0SAndrew Rybchenko /* enum: PHY nvram_test handler */ 1499ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_NVRAM_TEST 0xf 1509ed106d0SAndrew Rybchenko /* enum: PHY relinquish handler */ 1519ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_RELINQUISH_SPI 0x10 1529ed106d0SAndrew Rybchenko /* enum: PHY read connection from FC - may be not required */ 1539ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_GET_CONNECTION 0x11 1549ed106d0SAndrew Rybchenko /* enum: PHY read flags from FC - may be not required */ 1559ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_PHY_OP_GET_FLAGS 0x12 1569ed106d0SAndrew Rybchenko 1579ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_PHY_INIT msgrequest */ 1589ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_PHY_INIT_LEN 4 1599ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_PHY_CMD_OFST 0 1609ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_PHY_CMD_LEN 4 1619ed106d0SAndrew Rybchenko 1629ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC msgrequest */ 1639ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_LEN 8 1649ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 1659ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 1669ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_HEADER_OFST 4 1679ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_HEADER_LEN 4 1689ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_OP_LBN 0 1699ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_OP_WIDTH 8 1709ed106d0SAndrew Rybchenko /* enum: MAC reconfigure handler */ 1719ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_MAC_OP_RECONFIGURE 0x1 1729ed106d0SAndrew Rybchenko /* enum: MAC Set command - same as MC_CMD_SET_MAC */ 1739ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_MAC_OP_SET_LINK 0x2 1749ed106d0SAndrew Rybchenko /* enum: MAC statistics */ 1759ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_MAC_OP_GET_STATS 0x3 1769ed106d0SAndrew Rybchenko /* enum: MAC RX statistics */ 1779ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_MAC_OP_GET_RX_STATS 0x6 1789ed106d0SAndrew Rybchenko /* enum: MAC TX statistics */ 1799ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_MAC_OP_GET_TX_STATS 0x7 1809ed106d0SAndrew Rybchenko /* enum: MAC Read status */ 1819ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_MAC_OP_READ_STATUS 0x8 1829ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_PORT_TYPE_LBN 8 1839ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_PORT_TYPE_WIDTH 8 1849ed106d0SAndrew Rybchenko /* enum: External FPGA port. */ 1859ed106d0SAndrew Rybchenko #define MC_CMD_FC_PORT_EXT 0x0 1869ed106d0SAndrew Rybchenko /* enum: Internal Siena-facing FPGA ports. */ 1879ed106d0SAndrew Rybchenko #define MC_CMD_FC_PORT_INT 0x1 1889ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_PORT_IDX_LBN 16 1899ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_PORT_IDX_WIDTH 8 1909ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_CMD_FORMAT_LBN 24 1919ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_CMD_FORMAT_WIDTH 8 1929ed106d0SAndrew Rybchenko /* enum: Default FC command format; the fields PORT_TYPE and PORT_IDX are 1939ed106d0SAndrew Rybchenko * irrelevant. Port number is derived from pci_fn; passed in FC header. 1949ed106d0SAndrew Rybchenko */ 1959ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_MAC_CMD_FORMAT_DEFAULT 0x0 1969ed106d0SAndrew Rybchenko /* enum: Override default port number. Port number determined by fields 1979ed106d0SAndrew Rybchenko * PORT_TYPE and PORT_IDX. 1989ed106d0SAndrew Rybchenko */ 1999ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_MAC_CMD_FORMAT_PORT_OVERRIDE 0x1 2009ed106d0SAndrew Rybchenko 2019ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_RECONFIGURE msgrequest */ 2029ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_RECONFIGURE_LEN 8 2039ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 2049ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 2059ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_HEADER_OFST 4 */ 2069ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_HEADER_LEN 4 */ 2079ed106d0SAndrew Rybchenko 2089ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_SET_LINK msgrequest */ 2099ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_LEN 32 2109ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 2119ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 2129ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_HEADER_OFST 4 */ 2139ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_HEADER_LEN 4 */ 2149ed106d0SAndrew Rybchenko /* MTU size */ 2159ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_MTU_OFST 8 2169ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_MTU_LEN 4 2179ed106d0SAndrew Rybchenko /* Drain Tx FIFO */ 2189ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_DRAIN_OFST 12 2199ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_DRAIN_LEN 4 2209ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_ADDR_OFST 16 2219ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_ADDR_LEN 8 2229ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_ADDR_LO_OFST 16 2239ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_ADDR_HI_OFST 20 2249ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_OFST 24 2259ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_LEN 4 2269ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_UNICAST_LBN 0 2279ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_UNICAST_WIDTH 1 2289ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_BRDCAST_LBN 1 2299ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_BRDCAST_WIDTH 1 2309ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_FCNTL_OFST 28 2319ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_SET_LINK_FCNTL_LEN 4 2329ed106d0SAndrew Rybchenko 2339ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_READ_STATUS msgrequest */ 2349ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_READ_STATUS_LEN 8 2359ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 2369ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 2379ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_HEADER_OFST 4 */ 2389ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_HEADER_LEN 4 */ 2399ed106d0SAndrew Rybchenko 2409ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_GET_RX_STATS msgrequest */ 2419ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_RX_STATS_LEN 8 2429ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 2439ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 2449ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_HEADER_OFST 4 */ 2459ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_HEADER_LEN 4 */ 2469ed106d0SAndrew Rybchenko 2479ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_GET_TX_STATS msgrequest */ 2489ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_TX_STATS_LEN 8 2499ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 2509ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 2519ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_HEADER_OFST 4 */ 2529ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_HEADER_LEN 4 */ 2539ed106d0SAndrew Rybchenko 2549ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_GET_STATS msgrequest */ 2559ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_LEN 20 2569ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 2579ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 2589ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_HEADER_OFST 4 */ 2599ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_MAC_HEADER_LEN 4 */ 2609ed106d0SAndrew Rybchenko /* MC Statistics index */ 2619ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_STATS_INDEX_OFST 8 2629ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_STATS_INDEX_LEN 4 2639ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_FLAGS_OFST 12 2649ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_FLAGS_LEN 4 2659ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_CLEAR_ALL_LBN 0 2669ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_CLEAR_ALL_WIDTH 1 2679ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_CLEAR_LBN 1 2689ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_CLEAR_WIDTH 1 2699ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_UPDATE_LBN 2 2709ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_UPDATE_WIDTH 1 2719ed106d0SAndrew Rybchenko /* Number of statistics to read */ 2729ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_NUM_OFST 16 2739ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAC_GET_STATS_NUM_LEN 4 2749ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_NSTATS_PER_BLOCK 0x1e /* enum */ 2759ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_NBYTES_PER_STAT 0x8 /* enum */ 2769ed106d0SAndrew Rybchenko 2779ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_READ32 msgrequest */ 2789ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ32_LEN 16 2799ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 2809ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 2819ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ32_ADDR_HI_OFST 4 2829ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ32_ADDR_HI_LEN 4 2839ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ32_ADDR_LO_OFST 8 2849ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ32_ADDR_LO_LEN 4 2859ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ32_NUMWORDS_OFST 12 2869ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ32_NUMWORDS_LEN 4 2879ed106d0SAndrew Rybchenko 2889ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_WRITE32 msgrequest */ 2899ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_WRITE32_LENMIN 16 2909ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_WRITE32_LENMAX 252 2919ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_WRITE32_LEN(num) (12+4*(num)) 2929ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 2939ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 2949ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_WRITE32_ADDR_HI_OFST 4 2959ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_WRITE32_ADDR_HI_LEN 4 2969ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_WRITE32_ADDR_LO_OFST 8 2979ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_WRITE32_ADDR_LO_LEN 4 2989ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_WRITE32_BUFFER_OFST 12 2999ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_WRITE32_BUFFER_LEN 4 3009ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_WRITE32_BUFFER_MINNUM 1 3019ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_WRITE32_BUFFER_MAXNUM 60 3029ed106d0SAndrew Rybchenko 3039ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TRC_READ msgrequest */ 3049ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_READ_LEN 12 3059ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 3069ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 3079ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_READ_TRC_OFST 4 3089ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_READ_TRC_LEN 4 3099ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_READ_CHANNEL_OFST 8 3109ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_READ_CHANNEL_LEN 4 3119ed106d0SAndrew Rybchenko 3129ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TRC_WRITE msgrequest */ 3139ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_WRITE_LEN 28 3149ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 3159ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 3169ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_WRITE_TRC_OFST 4 3179ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_WRITE_TRC_LEN 4 3189ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_WRITE_CHANNEL_OFST 8 3199ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_WRITE_CHANNEL_LEN 4 3209ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_WRITE_DATA_OFST 12 3219ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_WRITE_DATA_LEN 4 3229ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_WRITE_DATA_NUM 4 3239ed106d0SAndrew Rybchenko 3249ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_GET_VERSION msgrequest */ 3259ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GET_VERSION_LEN 4 3269ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 3279ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 3289ed106d0SAndrew Rybchenko 3299ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TRC_RX_READ msgrequest */ 3309ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_READ_LEN 12 3319ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 3329ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 3339ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_READ_TRC_OFST 4 3349ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_READ_TRC_LEN 4 3359ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_READ_CHANNEL_OFST 8 3369ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_READ_CHANNEL_LEN 4 3379ed106d0SAndrew Rybchenko 3389ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TRC_RX_WRITE msgrequest */ 3399ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_WRITE_LEN 20 3409ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 3419ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 3429ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_WRITE_TRC_OFST 4 3439ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_WRITE_TRC_LEN 4 3449ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_WRITE_CHANNEL_OFST 8 3459ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_WRITE_CHANNEL_LEN 4 3469ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_WRITE_DATA_OFST 12 3479ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_WRITE_DATA_LEN 4 3489ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TRC_RX_WRITE_DATA_NUM 2 3499ed106d0SAndrew Rybchenko 3509ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_SFP msgrequest */ 3519ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_LEN 28 3529ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 3539ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 3549ed106d0SAndrew Rybchenko /* Link speed is 100, 1000, 10000, 40000 */ 3559ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_SPEED_OFST 4 3569ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_SPEED_LEN 4 3579ed106d0SAndrew Rybchenko /* Length of copper cable - zero when not relevant (e.g. if cable is fibre) */ 3589ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_COPPER_LEN_OFST 8 3599ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_COPPER_LEN_LEN 4 3609ed106d0SAndrew Rybchenko /* Not relevant for cards with QSFP modules. For older cards, true if module is 3619ed106d0SAndrew Rybchenko * a dual speed SFP+ module. 3629ed106d0SAndrew Rybchenko */ 3639ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_DUAL_SPEED_OFST 12 3649ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_DUAL_SPEED_LEN 4 3659ed106d0SAndrew Rybchenko /* True if an SFP Module is present (other fields valid when true) */ 3669ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_PRESENT_OFST 16 3679ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_PRESENT_LEN 4 3689ed106d0SAndrew Rybchenko /* The type of the SFP+ Module. For later cards with QSFP modules, this field 3699ed106d0SAndrew Rybchenko * is unused and the type is communicated by other means. 3709ed106d0SAndrew Rybchenko */ 3719ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_TYPE_OFST 20 3729ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_TYPE_LEN 4 3739ed106d0SAndrew Rybchenko /* Capabilities corresponding to 1 bits. */ 3749ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_CAPS_OFST 24 3759ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SFP_CAPS_LEN 4 3769ed106d0SAndrew Rybchenko 3779ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_TEST msgrequest */ 3789ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_LEN 8 3799ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 3809ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 3819ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_HEADER_OFST 4 3829ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_HEADER_LEN 4 3839ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_OP_LBN 0 3849ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_OP_WIDTH 8 3859ed106d0SAndrew Rybchenko /* enum: DRAM Test Start */ 3869ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_DDR_TEST_START 0x1 3879ed106d0SAndrew Rybchenko /* enum: DRAM Test Poll */ 3889ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_DDR_TEST_POLL 0x2 3899ed106d0SAndrew Rybchenko 3909ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_TEST_START msgrequest */ 3919ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_START_LEN 12 3929ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 3939ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 3949ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_TEST_HEADER_OFST 4 */ 3959ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_TEST_HEADER_LEN 4 */ 3969ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_START_MASK_OFST 8 3979ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_START_MASK_LEN 4 3989ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_START_T0_LBN 0 3999ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_START_T0_WIDTH 1 4009ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_START_T1_LBN 1 4019ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_START_T1_WIDTH 1 4029ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_START_B0_LBN 2 4039ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_START_B0_WIDTH 1 4049ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_START_B1_LBN 3 4059ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_START_B1_WIDTH 1 4069ed106d0SAndrew Rybchenko 4079ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_TEST_POLL msgrequest */ 4089ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_POLL_LEN 12 4099ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_CMD_OFST 0 4109ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_CMD_LEN 4 4119ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_TEST_HEADER_OFST 4 */ 4129ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_TEST_HEADER_LEN 4 */ 4139ed106d0SAndrew Rybchenko /* Clear previous test result and prepare for restarting DDR test */ 4149ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_POLL_CLEAR_RESULT_FOR_DDR_TEST_OFST 8 4159ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_TEST_POLL_CLEAR_RESULT_FOR_DDR_TEST_LEN 4 4169ed106d0SAndrew Rybchenko 4179ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_GET_ASSERT msgrequest */ 4189ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GET_ASSERT_LEN 4 4199ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 4209ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 4219ed106d0SAndrew Rybchenko 4229ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_FPGA_BUILD msgrequest */ 4239ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_FPGA_BUILD_LEN 8 4249ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 4259ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 4269ed106d0SAndrew Rybchenko /* FPGA build info operation code */ 4279ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_FPGA_BUILD_OP_OFST 4 4289ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_FPGA_BUILD_OP_LEN 4 4299ed106d0SAndrew Rybchenko /* enum: Get the build registers */ 4309ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_FPGA_BUILD_BUILD 0x1 4319ed106d0SAndrew Rybchenko /* enum: Get the services registers */ 4329ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_FPGA_BUILD_SERVICES 0x2 4339ed106d0SAndrew Rybchenko /* enum: Get the BSP version */ 4349ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_FPGA_BUILD_BSP_VERSION 0x3 4359ed106d0SAndrew Rybchenko /* enum: Get build register for V2 (SFA974X) */ 4369ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_FPGA_BUILD_BUILD_V2 0x4 4379ed106d0SAndrew Rybchenko /* enum: GEt the services register for V2 (SFA974X) */ 4389ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_FPGA_BUILD_SERVICES_V2 0x5 4399ed106d0SAndrew Rybchenko 4409ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_READ_MAP msgrequest */ 4419ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ_MAP_LEN 8 4429ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 4439ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 4449ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ_MAP_HEADER_OFST 4 4459ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ_MAP_HEADER_LEN 4 4469ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ_MAP_OP_LBN 0 4479ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ_MAP_OP_WIDTH 8 4489ed106d0SAndrew Rybchenko /* enum: Get the number of map regions */ 4499ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_READ_MAP_COUNT 0x1 4509ed106d0SAndrew Rybchenko /* enum: Get the specified map */ 4519ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_READ_MAP_INDEX 0x2 4529ed106d0SAndrew Rybchenko 4539ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_READ_MAP_COUNT msgrequest */ 4549ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ_MAP_COUNT_LEN 8 4559ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 4569ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 4579ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_READ_MAP_HEADER_OFST 4 */ 4589ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_READ_MAP_HEADER_LEN 4 */ 4599ed106d0SAndrew Rybchenko 4609ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_READ_MAP_INDEX msgrequest */ 4619ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_READ_MAP_INDEX_LEN 12 4629ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 4639ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 4649ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_READ_MAP_HEADER_OFST 4 */ 4659ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_READ_MAP_HEADER_LEN 4 */ 4669ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAP_INDEX_OFST 8 4679ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_MAP_INDEX_LEN 4 4689ed106d0SAndrew Rybchenko 4699ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CAPABILITIES msgrequest */ 4709ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CAPABILITIES_LEN 4 4719ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 4729ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 4739ed106d0SAndrew Rybchenko 4749ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_GLOBAL_FLAGS msgrequest */ 4759ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_LEN 8 4769ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 4779ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 4789ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_FLAGS_OFST 4 4799ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_FLAGS_LEN 4 4809ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_RX_TUNING_CABLE_PLUGGED_IN_LBN 0 4819ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_RX_TUNING_CABLE_PLUGGED_IN_WIDTH 1 4829ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_RX_TUNING_LINK_MONITORING_LBN 1 4839ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_RX_TUNING_LINK_MONITORING_WIDTH 1 4849ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_DFE_ENABLE_LBN 2 4859ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_DFE_ENABLE_WIDTH 1 4869ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_1D_EYE_ENABLE_LBN 3 4879ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_1D_EYE_ENABLE_WIDTH 1 4889ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_1D_TUNING_ENABLE_LBN 4 4899ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_1D_TUNING_ENABLE_WIDTH 1 4909ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_OFFCAL_ENABLE_LBN 5 4919ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_GLOBAL_FLAGS_OFFCAL_ENABLE_WIDTH 1 4929ed106d0SAndrew Rybchenko 4939ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_IO_REL msgrequest */ 4949ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_LEN 8 4959ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 4969ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 4979ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_HEADER_OFST 4 4989ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_HEADER_LEN 4 4999ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_OP_LBN 0 5009ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_OP_WIDTH 8 5019ed106d0SAndrew Rybchenko /* enum: Get the base address that the FC applies to relative commands */ 5029ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_GET_ADDR 0x1 5039ed106d0SAndrew Rybchenko /* enum: Read data */ 5049ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_READ32 0x2 5059ed106d0SAndrew Rybchenko /* enum: Write data */ 5069ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_WRITE32 0x3 5079ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_COMP_TYPE_LBN 8 5089ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_COMP_TYPE_WIDTH 8 5099ed106d0SAndrew Rybchenko /* enum: Application address space */ 5109ed106d0SAndrew Rybchenko #define MC_CMD_FC_COMP_TYPE_APP_ADDR_SPACE 0x1 5119ed106d0SAndrew Rybchenko /* enum: Flash address space */ 5129ed106d0SAndrew Rybchenko #define MC_CMD_FC_COMP_TYPE_FLASH 0x2 5139ed106d0SAndrew Rybchenko 5149ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_IO_REL_GET_ADDR msgrequest */ 5159ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_GET_ADDR_LEN 8 5169ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 5179ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 5189ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_IO_REL_HEADER_OFST 4 */ 5199ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_IO_REL_HEADER_LEN 4 */ 5209ed106d0SAndrew Rybchenko 5219ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_IO_REL_READ32 msgrequest */ 5229ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_READ32_LEN 20 5239ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 5249ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 5259ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_IO_REL_HEADER_OFST 4 */ 5269ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_IO_REL_HEADER_LEN 4 */ 5279ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_READ32_ADDR_HI_OFST 8 5289ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_READ32_ADDR_HI_LEN 4 5299ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_READ32_ADDR_LO_OFST 12 5309ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_READ32_ADDR_LO_LEN 4 5319ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_READ32_NUMWORDS_OFST 16 5329ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_READ32_NUMWORDS_LEN 4 5339ed106d0SAndrew Rybchenko 5349ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_IO_REL_WRITE32 msgrequest */ 5359ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_WRITE32_LENMIN 20 5369ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_WRITE32_LENMAX 252 5379ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_WRITE32_LEN(num) (16+4*(num)) 5389ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 5399ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 5409ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_IO_REL_HEADER_OFST 4 */ 5419ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_IO_REL_HEADER_LEN 4 */ 5429ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_WRITE32_ADDR_HI_OFST 8 5439ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_WRITE32_ADDR_HI_LEN 4 5449ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_WRITE32_ADDR_LO_OFST 12 5459ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_WRITE32_ADDR_LO_LEN 4 5469ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_WRITE32_BUFFER_OFST 16 5479ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_WRITE32_BUFFER_LEN 4 5489ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_WRITE32_BUFFER_MINNUM 1 5499ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_IO_REL_WRITE32_BUFFER_MAXNUM 59 5509ed106d0SAndrew Rybchenko 5519ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK msgrequest */ 5529ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_UHLINK_LEN 8 5539ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 5549ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 5559ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 5569ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 5579ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_UHLINK_OP_LBN 0 5589ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_UHLINK_OP_WIDTH 8 5599ed106d0SAndrew Rybchenko /* enum: Get PHY configuration info */ 5609ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_PHY 0x1 5619ed106d0SAndrew Rybchenko /* enum: Get MAC configuration info */ 5629ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_MAC 0x2 5639ed106d0SAndrew Rybchenko /* enum: Get Rx eye table */ 5649ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_RX_EYE 0x3 5659ed106d0SAndrew Rybchenko /* enum: Get Rx eye plot */ 5669ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_DUMP_RX_EYE_PLOT 0x4 5679ed106d0SAndrew Rybchenko /* enum: Get Rx eye plot */ 5689ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT 0x5 5699ed106d0SAndrew Rybchenko /* enum: Retune Rx settings */ 5709ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_RX_TUNE 0x6 5719ed106d0SAndrew Rybchenko /* enum: Set loopback mode on fpga port */ 5729ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET 0x7 5739ed106d0SAndrew Rybchenko /* enum: Get loopback mode config state on fpga port */ 5749ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_LOOPBACK_GET 0x8 5759ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_UHLINK_PORT_TYPE_LBN 8 5769ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_UHLINK_PORT_TYPE_WIDTH 8 5779ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_UHLINK_PORT_IDX_LBN 16 5789ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_UHLINK_PORT_IDX_WIDTH 8 5799ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_UHLINK_CMD_FORMAT_LBN 24 5809ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_UHLINK_CMD_FORMAT_WIDTH 8 5819ed106d0SAndrew Rybchenko /* enum: Default FC command format; the fields PORT_TYPE and PORT_IDX are 5829ed106d0SAndrew Rybchenko * irrelevant. Port number is derived from pci_fn; passed in FC header. 5839ed106d0SAndrew Rybchenko */ 5849ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_CMD_FORMAT_DEFAULT 0x0 5859ed106d0SAndrew Rybchenko /* enum: Override default port number. Port number determined by fields 5869ed106d0SAndrew Rybchenko * PORT_TYPE and PORT_IDX. 5879ed106d0SAndrew Rybchenko */ 5889ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_CMD_FORMAT_PORT_OVERRIDE 0x1 5899ed106d0SAndrew Rybchenko 5909ed106d0SAndrew Rybchenko /* MC_CMD_FC_OP_UHLINK_PHY msgrequest */ 5919ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_PHY_LEN 8 5929ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 5939ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 5949ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */ 5959ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */ 5969ed106d0SAndrew Rybchenko 5979ed106d0SAndrew Rybchenko /* MC_CMD_FC_OP_UHLINK_MAC msgrequest */ 5989ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_MAC_LEN 8 5999ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 6009ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 6019ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */ 6029ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */ 6039ed106d0SAndrew Rybchenko 6049ed106d0SAndrew Rybchenko /* MC_CMD_FC_OP_UHLINK_RX_EYE msgrequest */ 6059ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_RX_EYE_LEN 12 6069ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 6079ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 6089ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */ 6099ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */ 6109ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_RX_EYE_INDEX_OFST 8 6119ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_RX_EYE_INDEX_LEN 4 6129ed106d0SAndrew Rybchenko #define MC_CMD_FC_UHLINK_RX_EYE_PER_BLOCK 0x30 /* enum */ 6139ed106d0SAndrew Rybchenko 6149ed106d0SAndrew Rybchenko /* MC_CMD_FC_OP_UHLINK_DUMP_RX_EYE_PLOT msgrequest */ 6159ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_DUMP_RX_EYE_PLOT_LEN 8 6169ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 6179ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 6189ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */ 6199ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */ 6209ed106d0SAndrew Rybchenko 6219ed106d0SAndrew Rybchenko /* MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT msgrequest */ 6229ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_LEN 20 6239ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 6249ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 6259ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */ 6269ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */ 6279ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_DC_GAIN_OFST 8 6289ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_DC_GAIN_LEN 4 6299ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_EQ_CONTROL_OFST 12 6309ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_EQ_CONTROL_LEN 4 6319ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_INDEX_OFST 16 6329ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_INDEX_LEN 4 6339ed106d0SAndrew Rybchenko #define MC_CMD_FC_UHLINK_RX_EYE_PLOT_ROWS_PER_BLOCK 0x1e /* enum */ 6349ed106d0SAndrew Rybchenko 6359ed106d0SAndrew Rybchenko /* MC_CMD_FC_OP_UHLINK_RX_TUNE msgrequest */ 6369ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_RX_TUNE_LEN 8 6379ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 6389ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 6399ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */ 6409ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */ 6419ed106d0SAndrew Rybchenko 6429ed106d0SAndrew Rybchenko /* MC_CMD_FC_OP_UHLINK_LOOPBACK_SET msgrequest */ 6439ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_LEN 16 6449ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 6459ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 6469ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */ 6479ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */ 6489ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_TYPE_OFST 8 6499ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_TYPE_LEN 4 6509ed106d0SAndrew Rybchenko #define MC_CMD_FC_UHLINK_LOOPBACK_TYPE_PCS_SERIAL 0x0 /* enum */ 6519ed106d0SAndrew Rybchenko #define MC_CMD_FC_UHLINK_LOOPBACK_TYPE_PMA_PRE_CDR 0x1 /* enum */ 6529ed106d0SAndrew Rybchenko #define MC_CMD_FC_UHLINK_LOOPBACK_TYPE_PMA_POST_CDR 0x2 /* enum */ 6539ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_STATE_OFST 12 6549ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_STATE_LEN 4 6559ed106d0SAndrew Rybchenko #define MC_CMD_FC_UHLINK_LOOPBACK_STATE_OFF 0x0 /* enum */ 6569ed106d0SAndrew Rybchenko #define MC_CMD_FC_UHLINK_LOOPBACK_STATE_ON 0x1 /* enum */ 6579ed106d0SAndrew Rybchenko 6589ed106d0SAndrew Rybchenko /* MC_CMD_FC_OP_UHLINK_LOOPBACK_GET msgrequest */ 6599ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_LOOPBACK_GET_LEN 12 6609ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 6619ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 6629ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */ 6639ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_UHLINK_HEADER_LEN 4 */ 6649ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_LOOPBACK_GET_TYPE_OFST 8 6659ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_UHLINK_LOOPBACK_GET_TYPE_LEN 4 6669ed106d0SAndrew Rybchenko 6679ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_SET_LINK msgrequest */ 6689ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_LEN 16 6699ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 6709ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 6719ed106d0SAndrew Rybchenko /* See MC_CMD_GET_LOOPBACK_MODES/MC_CMD_GET_LOOPBACK_MODES_OUT/100M */ 6729ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_MODE_OFST 4 6739ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_MODE_LEN 4 6749ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_SPEED_OFST 8 6759ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_SPEED_LEN 4 6769ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_FLAGS_OFST 12 6779ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_FLAGS_LEN 4 6789ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_LOWPOWER_LBN 0 6799ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_LOWPOWER_WIDTH 1 6809ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_POWEROFF_LBN 1 6819ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_POWEROFF_WIDTH 1 6829ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_TXDIS_LBN 2 6839ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SET_LINK_TXDIS_WIDTH 1 6849ed106d0SAndrew Rybchenko 6859ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_LICENSE msgrequest */ 6869ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LICENSE_LEN 8 6879ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 6889ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 6899ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LICENSE_OP_OFST 4 6909ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LICENSE_OP_LEN 4 6919ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LICENSE_UPDATE_LICENSE 0x0 /* enum */ 6929ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LICENSE_GET_KEY_STATS 0x1 /* enum */ 6939ed106d0SAndrew Rybchenko 6949ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_STARTUP msgrequest */ 6959ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_STARTUP_LEN 40 6969ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 6979ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 6989ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_STARTUP_BASE_OFST 4 6999ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_STARTUP_BASE_LEN 4 7009ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_STARTUP_LENGTH_OFST 8 7019ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_STARTUP_LENGTH_LEN 4 7029ed106d0SAndrew Rybchenko /* Length of identifier */ 7039ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_STARTUP_IDLENGTH_OFST 12 7049ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_STARTUP_IDLENGTH_LEN 4 7059ed106d0SAndrew Rybchenko /* Identifier for AOE FPGA */ 7069ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_STARTUP_ID_OFST 16 7079ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_STARTUP_ID_LEN 1 7089ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_STARTUP_ID_NUM 24 7099ed106d0SAndrew Rybchenko 7109ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DMA msgrequest */ 7119ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_LEN 8 7129ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 7139ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 7149ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_OP_OFST 4 7159ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_OP_LEN 4 7169ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_STOP 0x0 /* enum */ 7179ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_READ 0x1 /* enum */ 7189ed106d0SAndrew Rybchenko 7199ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DMA_STOP msgrequest */ 7209ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_STOP_LEN 12 7219ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 7229ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 7239ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DMA_OP_OFST 4 */ 7249ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DMA_OP_LEN 4 */ 7259ed106d0SAndrew Rybchenko /* FC supplied handle */ 7269ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_STOP_FC_HANDLE_OFST 8 7279ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_STOP_FC_HANDLE_LEN 4 7289ed106d0SAndrew Rybchenko 7299ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DMA_READ msgrequest */ 7309ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_READ_LEN 16 7319ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 7329ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 7339ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DMA_OP_OFST 4 */ 7349ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DMA_OP_LEN 4 */ 7359ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_READ_OFFSET_OFST 8 7369ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_READ_OFFSET_LEN 4 7379ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_READ_LENGTH_OFST 12 7389ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DMA_READ_LENGTH_LEN 4 7399ed106d0SAndrew Rybchenko 7409ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMED_READ msgrequest */ 7419ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_LEN 8 7429ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 7439ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 7449ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_OP_OFST 4 7459ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_OP_LEN 4 7469ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET 0x0 /* enum */ 7479ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_GET 0x1 /* enum */ 7489ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_CLEAR 0x2 /* enum */ 7499ed106d0SAndrew Rybchenko 7509ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMED_READ_SET msgrequest */ 7519ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_LEN 52 7529ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 7539ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 7549ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMED_READ_OP_OFST 4 */ 7559ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMED_READ_OP_LEN 4 */ 7569ed106d0SAndrew Rybchenko /* Host supplied handle (unique) */ 7579ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_HANDLE_OFST 8 7589ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_HANDLE_LEN 4 7599ed106d0SAndrew Rybchenko /* Address into which to transfer data in host */ 7609ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_DMA_ADDRESS_OFST 12 7619ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_DMA_ADDRESS_LEN 8 7629ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_DMA_ADDRESS_LO_OFST 12 7639ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_DMA_ADDRESS_HI_OFST 16 7649ed106d0SAndrew Rybchenko /* AOE address from which to transfer data */ 7659ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_AOE_ADDRESS_OFST 20 7669ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_AOE_ADDRESS_LEN 8 7679ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_AOE_ADDRESS_LO_OFST 20 7689ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_AOE_ADDRESS_HI_OFST 24 7699ed106d0SAndrew Rybchenko /* Length of AOE transfer (total) */ 7709ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_AOE_LENGTH_OFST 28 7719ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_AOE_LENGTH_LEN 4 7729ed106d0SAndrew Rybchenko /* Length of host transfer (total) */ 7739ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_LENGTH_OFST 32 7749ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_HOST_LENGTH_LEN 4 7759ed106d0SAndrew Rybchenko /* Offset back from aoe_address to apply operation to */ 7769ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_OFFSET_OFST 36 7779ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_OFFSET_LEN 4 7789ed106d0SAndrew Rybchenko /* Data to apply at offset */ 7799ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_DATA_OFST 40 7809ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_DATA_LEN 4 7819ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_FLAGS_OFST 44 7829ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_FLAGS_LEN 4 7839ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_INDIRECT_LBN 0 7849ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_INDIRECT_WIDTH 1 7859ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_DOUBLE_LBN 1 7869ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_DOUBLE_WIDTH 1 7879ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_EVENT_LBN 2 7889ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_EVENT_WIDTH 1 7899ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_PREREAD_LBN 3 7909ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_PREREAD_WIDTH 2 7919ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_NONE 0x0 /* enum */ 7929ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_READ 0x1 /* enum */ 7939ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_WRITE 0x2 /* enum */ 7949ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_READWRITE 0x3 /* enum */ 7959ed106d0SAndrew Rybchenko /* Period at which reads are performed (100ms units) */ 7969ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_PERIOD_OFST 48 7979ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_SET_PERIOD_LEN 4 7989ed106d0SAndrew Rybchenko 7999ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMED_READ_GET msgrequest */ 8009ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_GET_LEN 12 8019ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 8029ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 8039ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMED_READ_OP_OFST 4 */ 8049ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMED_READ_OP_LEN 4 */ 8059ed106d0SAndrew Rybchenko /* FC supplied handle */ 8069ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_GET_FC_HANDLE_OFST 8 8079ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_GET_FC_HANDLE_LEN 4 8089ed106d0SAndrew Rybchenko 8099ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMED_READ_CLEAR msgrequest */ 8109ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_CLEAR_LEN 12 8119ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 8129ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 8139ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMED_READ_OP_OFST 4 */ 8149ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMED_READ_OP_LEN 4 */ 8159ed106d0SAndrew Rybchenko /* FC supplied handle */ 8169ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_CLEAR_FC_HANDLE_OFST 8 8179ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMED_READ_CLEAR_FC_HANDLE_LEN 4 8189ed106d0SAndrew Rybchenko 8199ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_LOG msgrequest */ 8209ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_LEN 8 8219ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 8229ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 8239ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_OP_OFST 4 8249ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_OP_LEN 4 8259ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_ADDR_RANGE 0x0 /* enum */ 8269ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_JTAG_UART 0x1 /* enum */ 8279ed106d0SAndrew Rybchenko 8289ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_LOG_ADDR_RANGE msgrequest */ 8299ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_ADDR_RANGE_LEN 20 8309ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 8319ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 8329ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_LOG_OP_OFST 4 */ 8339ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_LOG_OP_LEN 4 */ 8349ed106d0SAndrew Rybchenko /* Partition offset into flash */ 8359ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_ADDR_RANGE_OFFSET_OFST 8 8369ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_ADDR_RANGE_OFFSET_LEN 4 8379ed106d0SAndrew Rybchenko /* Partition length */ 8389ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_ADDR_RANGE_LENGTH_OFST 12 8399ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_ADDR_RANGE_LENGTH_LEN 4 8409ed106d0SAndrew Rybchenko /* Partition erase size */ 8419ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_ADDR_RANGE_ERASE_SIZE_OFST 16 8429ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_ADDR_RANGE_ERASE_SIZE_LEN 4 8439ed106d0SAndrew Rybchenko 8449ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_LOG_JTAG_UART msgrequest */ 8459ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_JTAG_UART_LEN 12 8469ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 8479ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 8489ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_LOG_OP_OFST 4 */ 8499ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_LOG_OP_LEN 4 */ 8509ed106d0SAndrew Rybchenko /* Enable/disable printing to JTAG UART */ 8519ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_JTAG_UART_ENABLE_OFST 8 8529ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_LOG_JTAG_UART_ENABLE_LEN 4 8539ed106d0SAndrew Rybchenko 8546da6b6c7SAndrew Rybchenko /* MC_CMD_FC_IN_CLOCK msgrequest: Perform a clock operation */ 8559ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_LEN 12 8569ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 8579ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 8589ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_OP_OFST 4 8599ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_OP_LEN 4 8609ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_GET_TIME 0x0 /* enum */ 8619ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_SET_TIME 0x1 /* enum */ 8629ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_ID_OFST 8 8639ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_ID_LEN 4 8649ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_STATS 0x0 /* enum */ 8659ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_MAC 0x1 /* enum */ 8669ed106d0SAndrew Rybchenko 8676da6b6c7SAndrew Rybchenko /* MC_CMD_FC_IN_CLOCK_GET_TIME msgrequest: Retrieve the clock value of the 8686da6b6c7SAndrew Rybchenko * specified clock 8696da6b6c7SAndrew Rybchenko */ 8709ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_GET_TIME_LEN 12 8719ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 8729ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 8739ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CLOCK_OP_OFST 4 */ 8749ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CLOCK_OP_LEN 4 */ 8759ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CLOCK_ID_OFST 8 */ 8769ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CLOCK_ID_LEN 4 */ 8779ed106d0SAndrew Rybchenko 8786da6b6c7SAndrew Rybchenko /* MC_CMD_FC_IN_CLOCK_SET_TIME msgrequest: Set the clock value of the specified 8796da6b6c7SAndrew Rybchenko * clock 8806da6b6c7SAndrew Rybchenko */ 8819ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_SET_TIME_LEN 24 8829ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 8839ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 8849ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CLOCK_OP_OFST 4 */ 8859ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CLOCK_OP_LEN 4 */ 8869ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CLOCK_ID_OFST 8 */ 8879ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CLOCK_ID_LEN 4 */ 8889ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_SET_TIME_SECONDS_OFST 12 8899ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_SET_TIME_SECONDS_LEN 8 8909ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_SET_TIME_SECONDS_LO_OFST 12 8919ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_SET_TIME_SECONDS_HI_OFST 16 8929ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_SET_TIME_NANOSECONDS_OFST 20 8939ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_CLOCK_SET_TIME_NANOSECONDS_LEN 4 8949ed106d0SAndrew Rybchenko 8959ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR msgrequest */ 8969ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_LEN 12 8979ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 8989ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 8999ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_OP_OFST 4 9009ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_OP_LEN 4 9019ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_SET_SPD 0x0 /* enum */ 9029ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_GET_STATUS 0x1 /* enum */ 9039ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_SET_INFO 0x2 /* enum */ 9049ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_BANK_OFST 8 9059ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_BANK_LEN 4 9069ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_BANK_B0 0x0 /* enum */ 9079ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_BANK_B1 0x1 /* enum */ 9089ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_BANK_T0 0x2 /* enum */ 9099ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_BANK_T1 0x3 /* enum */ 9109ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_NUM_BANKS 0x4 /* enum */ 9119ed106d0SAndrew Rybchenko 9129ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_SET_SPD msgrequest */ 9139ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_SET_SPD_LEN 148 9149ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 9159ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 9169ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_OP_OFST 4 */ 9179ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_OP_LEN 4 */ 9189ed106d0SAndrew Rybchenko /* Affected bank */ 9199ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_BANK_OFST 8 */ 9209ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_BANK_LEN 4 */ 9219ed106d0SAndrew Rybchenko /* Flags */ 9229ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_FLAGS_OFST 12 9239ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_FLAGS_LEN 4 9249ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_SET_SPD_ACTIVE 0x1 /* enum */ 9259ed106d0SAndrew Rybchenko /* 128-byte page of serial presence detect data read from module's EEPROM */ 9269ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_SPD_OFST 16 9279ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_SPD_LEN 1 9289ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_SPD_NUM 128 9299ed106d0SAndrew Rybchenko /* Page index of the spd data copied into MC_CMD_FC_IN_DDR_SPD */ 9309ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_SPD_PAGE_ID_OFST 144 9319ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_SPD_PAGE_ID_LEN 4 9329ed106d0SAndrew Rybchenko 9339ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_SET_INFO msgrequest */ 9349ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_SET_INFO_LEN 16 9359ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 9369ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 9379ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_OP_OFST 4 */ 9389ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_OP_LEN 4 */ 9399ed106d0SAndrew Rybchenko /* Affected bank */ 9409ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_BANK_OFST 8 */ 9419ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_BANK_LEN 4 */ 9429ed106d0SAndrew Rybchenko /* Size of DDR */ 9439ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_SIZE_OFST 12 9449ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_SIZE_LEN 4 9459ed106d0SAndrew Rybchenko 9469ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_GET_STATUS msgrequest */ 9479ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DDR_GET_STATUS_LEN 12 9489ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 9499ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 9509ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_OP_OFST 4 */ 9519ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_OP_LEN 4 */ 9529ed106d0SAndrew Rybchenko /* Affected bank */ 9539ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_BANK_OFST 8 */ 9549ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DDR_BANK_LEN 4 */ 9559ed106d0SAndrew Rybchenko 9569ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMESTAMP msgrequest */ 9579ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_LEN 8 9589ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 9599ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 9609ed106d0SAndrew Rybchenko /* FC timestamp operation code */ 9619ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_OP_OFST 4 9629ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_OP_LEN 4 9639ed106d0SAndrew Rybchenko /* enum: Read transmit timestamp(s) */ 9649ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT 0x0 9659ed106d0SAndrew Rybchenko /* enum: Read snapshot timestamps */ 9669ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT 0x1 9679ed106d0SAndrew Rybchenko /* enum: Clear all transmit timestamps */ 9689ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT 0x2 9699ed106d0SAndrew Rybchenko 9709ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT msgrequest */ 9719ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_LEN 28 9729ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 9739ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 9749ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_OP_OFST 4 9759ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_OP_LEN 4 9769ed106d0SAndrew Rybchenko /* Control filtering of the returned timestamp and sequence number specified 9779ed106d0SAndrew Rybchenko * here 9789ed106d0SAndrew Rybchenko */ 9799ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_FILTER_OFST 8 9809ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_FILTER_LEN 4 9819ed106d0SAndrew Rybchenko /* enum: Return most recent timestamp. No filtering */ 9829ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_LATEST 0x0 9839ed106d0SAndrew Rybchenko /* enum: Match timestamp against the PTP clock ID, port number and sequence 9849ed106d0SAndrew Rybchenko * number specified 9859ed106d0SAndrew Rybchenko */ 9869ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_MATCH 0x1 9879ed106d0SAndrew Rybchenko /* Clock identity of PTP packet for which timestamp required */ 9889ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_CLOCK_ID_OFST 12 9899ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_CLOCK_ID_LEN 8 9909ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_CLOCK_ID_LO_OFST 12 9919ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_CLOCK_ID_HI_OFST 16 9929ed106d0SAndrew Rybchenko /* Port number of PTP packet for which timestamp required */ 9939ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_PORT_NUM_OFST 20 9949ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_PORT_NUM_LEN 4 9959ed106d0SAndrew Rybchenko /* Sequence number of PTP packet for which timestamp required */ 9969ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_SEQ_NUM_OFST 24 9979ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_SEQ_NUM_LEN 4 9989ed106d0SAndrew Rybchenko 9999ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT msgrequest */ 10009ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT_LEN 8 10019ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 10029ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 10039ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT_OP_OFST 4 10049ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT_OP_LEN 4 10059ed106d0SAndrew Rybchenko 10069ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT msgrequest */ 10079ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT_LEN 8 10089ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 10099ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 10109ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT_OP_OFST 4 10119ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT_OP_LEN 4 10129ed106d0SAndrew Rybchenko 10139ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_SPI msgrequest */ 10149ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_LEN 8 10159ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 10169ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 10179ed106d0SAndrew Rybchenko /* Basic commands for SPI Flash. */ 10189ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_OP_OFST 4 10199ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_OP_LEN 4 10209ed106d0SAndrew Rybchenko /* enum: SPI Flash read */ 10219ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_READ 0x0 10229ed106d0SAndrew Rybchenko /* enum: SPI Flash write */ 10239ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_WRITE 0x1 10249ed106d0SAndrew Rybchenko /* enum: SPI Flash erase */ 10259ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_ERASE 0x2 10269ed106d0SAndrew Rybchenko 10279ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_SPI_READ msgrequest */ 10289ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_READ_LEN 16 10299ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 10309ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 10319ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_READ_OP_OFST 4 10329ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_READ_OP_LEN 4 10339ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_READ_ADDR_OFST 8 10349ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_READ_ADDR_LEN 4 10359ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_READ_NUMBYTES_OFST 12 10369ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_READ_NUMBYTES_LEN 4 10379ed106d0SAndrew Rybchenko 10389ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_SPI_WRITE msgrequest */ 10399ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_WRITE_LENMIN 16 10409ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_WRITE_LENMAX 252 10419ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_WRITE_LEN(num) (12+4*(num)) 10429ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 10439ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 10449ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_WRITE_OP_OFST 4 10459ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_WRITE_OP_LEN 4 10469ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_WRITE_ADDR_OFST 8 10479ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_WRITE_ADDR_LEN 4 10489ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_WRITE_BUFFER_OFST 12 10499ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_WRITE_BUFFER_LEN 4 10509ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_WRITE_BUFFER_MINNUM 1 10519ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_WRITE_BUFFER_MAXNUM 60 10529ed106d0SAndrew Rybchenko 10539ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_SPI_ERASE msgrequest */ 10549ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_ERASE_LEN 16 10559ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 10569ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 10579ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_ERASE_OP_OFST 4 10589ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_ERASE_OP_LEN 4 10599ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_ERASE_ADDR_OFST 8 10609ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_ERASE_ADDR_LEN 4 10619ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_ERASE_NUMBYTES_OFST 12 10629ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_SPI_ERASE_NUMBYTES_LEN 4 10639ed106d0SAndrew Rybchenko 10649ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DIAG msgrequest */ 10659ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_LEN 8 10669ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 10679ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 10689ed106d0SAndrew Rybchenko /* Operation code indicating component type */ 10699ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_OP_OFST 4 10709ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_OP_LEN 4 10719ed106d0SAndrew Rybchenko /* enum: Power noise generator. */ 10729ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE 0x0 10739ed106d0SAndrew Rybchenko /* enum: DDR soak test component. */ 10749ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK 0x1 10759ed106d0SAndrew Rybchenko /* enum: Diagnostics datapath control component. */ 10769ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL 0x2 10779ed106d0SAndrew Rybchenko 10789ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DIAG_POWER_NOISE msgrequest */ 10799ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_LEN 12 10809ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 10819ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 10829ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_OP_OFST 4 10839ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_OP_LEN 4 10849ed106d0SAndrew Rybchenko /* Sub-opcode describing the operation to be carried out */ 10859ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_SUB_OP_OFST 8 10869ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_SUB_OP_LEN 4 10879ed106d0SAndrew Rybchenko /* enum: Read the configuration (the 32-bit values in each of the clock enable 10889ed106d0SAndrew Rybchenko * count and toggle count registers) 10899ed106d0SAndrew Rybchenko */ 10909ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG 0x0 10919ed106d0SAndrew Rybchenko /* enum: Write a new configuration to the clock enable count and toggle count 10929ed106d0SAndrew Rybchenko * registers 10939ed106d0SAndrew Rybchenko */ 10949ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG 0x1 10959ed106d0SAndrew Rybchenko 10969ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG msgrequest */ 10979ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_LEN 12 10989ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 10999ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 11009ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_OP_OFST 4 11019ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_OP_LEN 4 11029ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_SUB_OP_OFST 8 11039ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_SUB_OP_LEN 4 11049ed106d0SAndrew Rybchenko 11059ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG msgrequest */ 11069ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_LEN 20 11079ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 11089ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 11099ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_OP_OFST 4 11109ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_OP_LEN 4 11119ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_SUB_OP_OFST 8 11129ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_SUB_OP_LEN 4 11139ed106d0SAndrew Rybchenko /* The 32-bit value to be written to the toggle count register */ 11149ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_TOGGLE_COUNT_OFST 12 11159ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_TOGGLE_COUNT_LEN 4 11169ed106d0SAndrew Rybchenko /* The 32-bit value to be written to the clock enable count register */ 11179ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_CLKEN_COUNT_OFST 16 11189ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_CLKEN_COUNT_LEN 4 11199ed106d0SAndrew Rybchenko 11209ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DIAG_DDR_SOAK msgrequest */ 11219ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_LEN 12 11229ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 11239ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 11249ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_OP_OFST 4 11259ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_OP_LEN 4 11269ed106d0SAndrew Rybchenko /* Sub-opcode describing the operation to be carried out */ 11279ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_SUB_OP_OFST 8 11289ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_SUB_OP_LEN 4 11299ed106d0SAndrew Rybchenko /* enum: Starts DDR soak test on selected banks */ 11309ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START 0x0 11319ed106d0SAndrew Rybchenko /* enum: Read status of DDR soak test */ 11329ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT 0x1 11339ed106d0SAndrew Rybchenko /* enum: Stop test */ 11349ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP 0x2 11359ed106d0SAndrew Rybchenko /* enum: Set or clear bit that triggers fake errors. These cause subsequent 11369ed106d0SAndrew Rybchenko * tests to fail until the bit is cleared. 11379ed106d0SAndrew Rybchenko */ 11389ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR 0x3 11399ed106d0SAndrew Rybchenko 11409ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DIAG_DDR_SOAK_START msgrequest */ 11419ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_LEN 24 11429ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 11439ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 11449ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_OP_OFST 4 11459ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_OP_LEN 4 11469ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_SUB_OP_OFST 8 11479ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_SUB_OP_LEN 4 11489ed106d0SAndrew Rybchenko /* Mask of DDR banks to be tested */ 11499ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_BANK_MASK_OFST 12 11509ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_BANK_MASK_LEN 4 11519ed106d0SAndrew Rybchenko /* Pattern to use in the soak test */ 11529ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_TEST_PATTERN_OFST 16 11539ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_TEST_PATTERN_LEN 4 11549ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_ZEROS 0x0 /* enum */ 11559ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_ONES 0x1 /* enum */ 11569ed106d0SAndrew Rybchenko /* Either multiple automatic tests until a STOP command is issued, or one 11579ed106d0SAndrew Rybchenko * single test 11589ed106d0SAndrew Rybchenko */ 11599ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_TEST_TYPE_OFST 20 11609ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_TEST_TYPE_LEN 4 11619ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_ONGOING_TEST 0x0 /* enum */ 11629ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_SINGLE_TEST 0x1 /* enum */ 11639ed106d0SAndrew Rybchenko 11649ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT msgrequest */ 11659ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_LEN 16 11669ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 11679ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 11689ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_OP_OFST 4 11699ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_OP_LEN 4 11709ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_SUB_OP_OFST 8 11719ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_SUB_OP_LEN 4 11729ed106d0SAndrew Rybchenko /* DDR bank to read status from */ 11739ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_BANK_ID_OFST 12 11749ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_BANK_ID_LEN 4 11759ed106d0SAndrew Rybchenko #define MC_CMD_FC_DDR_BANK0 0x0 /* enum */ 11769ed106d0SAndrew Rybchenko #define MC_CMD_FC_DDR_BANK1 0x1 /* enum */ 11779ed106d0SAndrew Rybchenko #define MC_CMD_FC_DDR_BANK2 0x2 /* enum */ 11789ed106d0SAndrew Rybchenko #define MC_CMD_FC_DDR_BANK3 0x3 /* enum */ 11799ed106d0SAndrew Rybchenko #define MC_CMD_FC_DDR_AOEMEM_MAX_BANKS 0x4 /* enum */ 11809ed106d0SAndrew Rybchenko 11819ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP msgrequest */ 11829ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_LEN 16 11839ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 11849ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 11859ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_OP_OFST 4 11869ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_OP_LEN 4 11879ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_SUB_OP_OFST 8 11889ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_SUB_OP_LEN 4 11899ed106d0SAndrew Rybchenko /* Mask of DDR banks to be tested */ 11909ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_BANK_MASK_OFST 12 11919ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_BANK_MASK_LEN 4 11929ed106d0SAndrew Rybchenko 11939ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR msgrequest */ 11949ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_LEN 20 11959ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 11969ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 11979ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_OP_OFST 4 11989ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_OP_LEN 4 11999ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_SUB_OP_OFST 8 12009ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_SUB_OP_LEN 4 12019ed106d0SAndrew Rybchenko /* Mask of DDR banks to set/clear error flag on */ 12029ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_BANK_MASK_OFST 12 12039ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_BANK_MASK_LEN 4 12049ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_FLAG_ACTION_OFST 16 12059ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_FLAG_ACTION_LEN 4 12069ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_CLEAR 0x0 /* enum */ 12079ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_SET 0x1 /* enum */ 12089ed106d0SAndrew Rybchenko 12099ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DIAG_DATAPATH_CTRL msgrequest */ 12109ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_LEN 12 12119ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 12129ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 12139ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_OP_OFST 4 12149ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_OP_LEN 4 12159ed106d0SAndrew Rybchenko /* Sub-opcode describing the operation to be carried out */ 12169ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SUB_OP_OFST 8 12179ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SUB_OP_LEN 4 12189ed106d0SAndrew Rybchenko /* enum: Set a known datapath configuration */ 12199ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE 0x0 12209ed106d0SAndrew Rybchenko /* enum: Apply raw config to datapath control registers */ 12219ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG 0x1 12229ed106d0SAndrew Rybchenko 12239ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE msgrequest */ 12249ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_LEN 16 12259ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 12269ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 12279ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_OP_OFST 4 12289ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_OP_LEN 4 12299ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_SUB_OP_OFST 8 12309ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_SUB_OP_LEN 4 12319ed106d0SAndrew Rybchenko /* Datapath configuration identifier */ 12329ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_MODE_OFST 12 12339ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_MODE_LEN 4 12349ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_PASSTHROUGH 0x0 /* enum */ 12359ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_SNAKE 0x1 /* enum */ 12369ed106d0SAndrew Rybchenko 12379ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG msgrequest */ 12389ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_LEN 24 12399ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_OFST 0 */ 12409ed106d0SAndrew Rybchenko /* MC_CMD_FC_IN_CMD_LEN 4 */ 12419ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_OP_OFST 4 12429ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_OP_LEN 4 12439ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_SUB_OP_OFST 8 12449ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_SUB_OP_LEN 4 12459ed106d0SAndrew Rybchenko /* Value to write into control register 1 */ 12469ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL1_OFST 12 12479ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL1_LEN 4 12489ed106d0SAndrew Rybchenko /* Value to write into control register 2 */ 12499ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL2_OFST 16 12509ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL2_LEN 4 12519ed106d0SAndrew Rybchenko /* Value to write into control register 3 */ 12529ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL3_OFST 20 12539ed106d0SAndrew Rybchenko #define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL3_LEN 4 12549ed106d0SAndrew Rybchenko 12559ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT msgresponse */ 12569ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_LEN 0 12579ed106d0SAndrew Rybchenko 12589ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_NULL msgresponse */ 12599ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_NULL_LEN 0 12609ed106d0SAndrew Rybchenko 12619ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_READ32 msgresponse */ 12629ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ32_LENMIN 4 12639ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ32_LENMAX 252 12649ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ32_LEN(num) (0+4*(num)) 12659ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ32_BUFFER_OFST 0 12669ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ32_BUFFER_LEN 4 12679ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ32_BUFFER_MINNUM 1 12689ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ32_BUFFER_MAXNUM 63 12699ed106d0SAndrew Rybchenko 12709ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_WRITE32 msgresponse */ 12719ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_WRITE32_LEN 0 12729ed106d0SAndrew Rybchenko 12739ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_TRC_READ msgresponse */ 12749ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TRC_READ_LEN 16 12759ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TRC_READ_DATA_OFST 0 12769ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TRC_READ_DATA_LEN 4 12779ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TRC_READ_DATA_NUM 4 12789ed106d0SAndrew Rybchenko 12799ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_TRC_WRITE msgresponse */ 12809ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TRC_WRITE_LEN 0 12819ed106d0SAndrew Rybchenko 12829ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_GET_VERSION msgresponse */ 12839ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_VERSION_LEN 12 12849ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_VERSION_FIRMWARE_OFST 0 12859ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_VERSION_FIRMWARE_LEN 4 12869ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_VERSION_VERSION_OFST 4 12879ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_VERSION_VERSION_LEN 8 12889ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_VERSION_VERSION_LO_OFST 4 12899ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_VERSION_VERSION_HI_OFST 8 12909ed106d0SAndrew Rybchenko 12919ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_TRC_RX_READ msgresponse */ 12929ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TRC_RX_READ_LEN 8 12939ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TRC_RX_READ_DATA_OFST 0 12949ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TRC_RX_READ_DATA_LEN 4 12959ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TRC_RX_READ_DATA_NUM 2 12969ed106d0SAndrew Rybchenko 12979ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_TRC_RX_WRITE msgresponse */ 12989ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TRC_RX_WRITE_LEN 0 12999ed106d0SAndrew Rybchenko 13009ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_MAC_RECONFIGURE msgresponse */ 13019ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_RECONFIGURE_LEN 0 13029ed106d0SAndrew Rybchenko 13039ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_MAC_SET_LINK msgresponse */ 13049ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_SET_LINK_LEN 0 13059ed106d0SAndrew Rybchenko 13069ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_MAC_READ_STATUS msgresponse */ 13079ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_READ_STATUS_LEN 4 13089ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_READ_STATUS_STATUS_OFST 0 13099ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_READ_STATUS_STATUS_LEN 4 13109ed106d0SAndrew Rybchenko 13119ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_MAC_GET_RX_STATS msgresponse */ 13129ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_RX_STATS_LEN ((((0-1+(64*MC_CMD_FC_MAC_RX_NSTATS))+1))>>3) 13139ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_OFST 0 13149ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_LEN 8 13159ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_LO_OFST 0 13169ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_HI_OFST 4 13179ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_NUM MC_CMD_FC_MAC_RX_NSTATS 13189ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_OCTETS 0x0 /* enum */ 13199ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_OCTETS_OK 0x1 /* enum */ 13209ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_ALIGNMENT_ERRORS 0x2 /* enum */ 13219ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_PAUSE_MAC_CTRL_FRAMES 0x3 /* enum */ 13229ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_FRAMES_OK 0x4 /* enum */ 13239ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_CRC_ERRORS 0x5 /* enum */ 13249ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_VLAN_OK 0x6 /* enum */ 13259ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_ERRORS 0x7 /* enum */ 13269ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_UCAST_PKTS 0x8 /* enum */ 13279ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_MULTICAST_PKTS 0x9 /* enum */ 13289ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_BROADCAST_PKTS 0xa /* enum */ 13299ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_DROP_EVENTS 0xb /* enum */ 13309ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_PKTS 0xc /* enum */ 13319ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_UNDERSIZE_PKTS 0xd /* enum */ 13329ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_PKTS_64 0xe /* enum */ 13339ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_PKTS_65_127 0xf /* enum */ 13349ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_PKTS_128_255 0x10 /* enum */ 13359ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_PKTS_256_511 0x11 /* enum */ 13369ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_PKTS_512_1023 0x12 /* enum */ 13379ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_PKTS_1024_1518 0x13 /* enum */ 13389ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_PKTS_1519_MAX 0x14 /* enum */ 13399ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_OVERSIZE_PKTS 0x15 /* enum */ 13409ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_JABBERS 0x16 /* enum */ 13419ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_STATS_FRAGMENTS 0x17 /* enum */ 13429ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_MAC_CONTROL_FRAMES 0x18 /* enum */ 13439ed106d0SAndrew Rybchenko /* enum: (Last entry) */ 13449ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_RX_NSTATS 0x19 13459ed106d0SAndrew Rybchenko 13469ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_MAC_GET_TX_STATS msgresponse */ 13479ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_TX_STATS_LEN ((((0-1+(64*MC_CMD_FC_MAC_TX_NSTATS))+1))>>3) 13489ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_OFST 0 13499ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_LEN 8 13509ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_LO_OFST 0 13519ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_HI_OFST 4 13529ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_NUM MC_CMD_FC_MAC_TX_NSTATS 13539ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_STATS_OCTETS 0x0 /* enum */ 13549ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_OCTETS_OK 0x1 /* enum */ 13559ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_ALIGNMENT_ERRORS 0x2 /* enum */ 13569ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_PAUSE_MAC_CTRL_FRAMES 0x3 /* enum */ 13579ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_FRAMES_OK 0x4 /* enum */ 13589ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_CRC_ERRORS 0x5 /* enum */ 13599ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_VLAN_OK 0x6 /* enum */ 13609ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_ERRORS 0x7 /* enum */ 13619ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_UCAST_PKTS 0x8 /* enum */ 13629ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_MULTICAST_PKTS 0x9 /* enum */ 13639ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_BROADCAST_PKTS 0xa /* enum */ 13649ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_STATS_DROP_EVENTS 0xb /* enum */ 13659ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_STATS_PKTS 0xc /* enum */ 13669ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_STATS_UNDERSIZE_PKTS 0xd /* enum */ 13679ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_STATS_PKTS_64 0xe /* enum */ 13689ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_STATS_PKTS_65_127 0xf /* enum */ 13699ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_STATS_PKTS_128_255 0x10 /* enum */ 13709ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_STATS_PKTS_256_511 0x11 /* enum */ 13719ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_STATS_PKTS_512_1023 0x12 /* enum */ 13729ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_STATS_PKTS_1024_1518 0x13 /* enum */ 13739ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_STATS_PKTS_1519_TX_MTU 0x14 /* enum */ 13749ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_MAC_CONTROL_FRAMES 0x15 /* enum */ 13759ed106d0SAndrew Rybchenko /* enum: (Last entry) */ 13769ed106d0SAndrew Rybchenko #define MC_CMD_FC_MAC_TX_NSTATS 0x16 13779ed106d0SAndrew Rybchenko 13789ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_MAC_GET_STATS msgresponse */ 13799ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_STATS_LEN ((((0-1+(64*MC_CMD_FC_MAC_NSTATS_PER_BLOCK))+1))>>3) 13809ed106d0SAndrew Rybchenko /* MAC Statistics */ 13819ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_OFST 0 13829ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_LEN 8 13839ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_LO_OFST 0 13849ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_HI_OFST 4 13859ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_NUM MC_CMD_FC_MAC_NSTATS_PER_BLOCK 13869ed106d0SAndrew Rybchenko 13879ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_MAC msgresponse */ 13889ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_MAC_LEN 0 13899ed106d0SAndrew Rybchenko 13909ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_SFP msgresponse */ 13919ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_SFP_LEN 0 13929ed106d0SAndrew Rybchenko 13939ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DDR_TEST_START msgresponse */ 13949ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_START_LEN 0 13959ed106d0SAndrew Rybchenko 13969ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DDR_TEST_POLL msgresponse */ 13979ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_LEN 8 13989ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_STATUS_OFST 0 13999ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_STATUS_LEN 4 14009ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_CODE_LBN 0 14019ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_CODE_WIDTH 8 14029ed106d0SAndrew Rybchenko /* enum: Test not yet initiated */ 14039ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_DDR_TEST_NONE 0x0 14049ed106d0SAndrew Rybchenko /* enum: Test is in progress */ 14059ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_DDR_TEST_INPROGRESS 0x1 14069ed106d0SAndrew Rybchenko /* enum: Timed completed */ 14079ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_DDR_TEST_SUCCESS 0x2 14089ed106d0SAndrew Rybchenko /* enum: Test did not complete in specified time */ 14099ed106d0SAndrew Rybchenko #define MC_CMD_FC_OP_DDR_TEST_TIMER_EXPIRED 0x3 14109ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_T0_LBN 11 14119ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_T0_WIDTH 1 14129ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_T1_LBN 10 14139ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_T1_WIDTH 1 14149ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_B0_LBN 9 14159ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_B0_WIDTH 1 14169ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_B1_LBN 8 14179ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_B1_WIDTH 1 14189ed106d0SAndrew Rybchenko /* Test result from FPGA */ 14199ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_RESULT_OFST 4 14209ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_RESULT_LEN 4 14219ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_T0_LBN 31 14229ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_T0_WIDTH 1 14239ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_T1_LBN 30 14249ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_T1_WIDTH 1 14259ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_B0_LBN 29 14269ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_B0_WIDTH 1 14279ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_B1_LBN 28 14289ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_B1_WIDTH 1 14299ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_T0_LBN 15 14309ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_T0_WIDTH 5 14319ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_T1_LBN 10 14329ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_T1_WIDTH 5 14339ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_B0_LBN 5 14349ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_B0_WIDTH 5 14359ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_B1_LBN 0 14369ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_B1_WIDTH 5 14379ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_TEST_COMPLETE 0x0 /* enum */ 14389ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_TEST_FAIL 0x1 /* enum */ 14399ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_TEST_PASS 0x2 /* enum */ 14409ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_CAL_FAIL 0x3 /* enum */ 14419ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_POLL_CAL_SUCCESS 0x4 /* enum */ 14429ed106d0SAndrew Rybchenko 14439ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DDR_TEST msgresponse */ 14449ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_TEST_LEN 0 14459ed106d0SAndrew Rybchenko 14469ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_GET_ASSERT msgresponse */ 14479ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_LEN 144 14489ed106d0SAndrew Rybchenko /* Assertion status flag. */ 14499ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_GLOBAL_FLAGS_OFST 0 14509ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_GLOBAL_FLAGS_LEN 4 14519ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_STATE_LBN 8 14529ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_STATE_WIDTH 8 14539ed106d0SAndrew Rybchenko /* enum: No crash data available */ 14549ed106d0SAndrew Rybchenko #define MC_CMD_FC_GET_ASSERT_FLAGS_STATE_CLEAR 0x0 14559ed106d0SAndrew Rybchenko /* enum: New crash data available */ 14569ed106d0SAndrew Rybchenko #define MC_CMD_FC_GET_ASSERT_FLAGS_STATE_NEW 0x1 14579ed106d0SAndrew Rybchenko /* enum: Crash data has been sent */ 14589ed106d0SAndrew Rybchenko #define MC_CMD_FC_GET_ASSERT_FLAGS_STATE_NOTIFIED 0x2 14599ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_TYPE_LBN 0 14609ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_TYPE_WIDTH 8 14619ed106d0SAndrew Rybchenko /* enum: No crash has been recorded. */ 14629ed106d0SAndrew Rybchenko #define MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_NONE 0x0 14639ed106d0SAndrew Rybchenko /* enum: Crash due to exception. */ 14649ed106d0SAndrew Rybchenko #define MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_EXCEPTION 0x1 14659ed106d0SAndrew Rybchenko /* enum: Crash due to assertion. */ 14669ed106d0SAndrew Rybchenko #define MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_ASSERTION 0x2 14679ed106d0SAndrew Rybchenko /* Failing PC value */ 14689ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_SAVED_PC_OFFS_OFST 4 14699ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_SAVED_PC_OFFS_LEN 4 14709ed106d0SAndrew Rybchenko /* Saved GP regs */ 14719ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_GP_REGS_OFFS_OFST 8 14729ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_GP_REGS_OFFS_LEN 4 14739ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_GP_REGS_OFFS_NUM 31 14749ed106d0SAndrew Rybchenko /* Exception Type */ 14759ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_TYPE_OFFS_OFST 132 14769ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_TYPE_OFFS_LEN 4 14779ed106d0SAndrew Rybchenko /* Instruction at which exception occurred */ 14789ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_PC_ADDR_OFFS_OFST 136 14799ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_PC_ADDR_OFFS_LEN 4 14809ed106d0SAndrew Rybchenko /* BAD Address that triggered address-based exception */ 14819ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_BAD_ADDR_OFFS_OFST 140 14829ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_BAD_ADDR_OFFS_LEN 4 14839ed106d0SAndrew Rybchenko 14849ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_FPGA_BUILD msgresponse */ 14859ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_LEN 32 14869ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_COMPONENT_INFO_OFST 0 14879ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_COMPONENT_INFO_LEN 4 14889ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_IS_APPLICATION_LBN 31 14899ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_IS_APPLICATION_WIDTH 1 14909ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_IS_LICENSED_LBN 30 14919ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_IS_LICENSED_WIDTH 1 14929ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_COMPONENT_ID_LBN 16 14939ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_COMPONENT_ID_WIDTH 14 14949ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_MAJOR_LBN 12 14959ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_MAJOR_WIDTH 4 14969ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_MINOR_LBN 4 14979ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_MINOR_WIDTH 8 14989ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_BUILD_NUM_LBN 0 14999ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_BUILD_NUM_WIDTH 4 15009ed106d0SAndrew Rybchenko /* Build timestamp (seconds since epoch) */ 15019ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_TIMESTAMP_OFST 4 15029ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_TIMESTAMP_LEN 4 15039ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_PARAMETERS_OFST 8 15049ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_PARAMETERS_LEN 4 15059ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_FPGA_TYPE_LBN 0 15069ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_FPGA_TYPE_WIDTH 8 15079ed106d0SAndrew Rybchenko #define MC_CMD_FC_FPGA_TYPE_A7 0xa7 /* enum */ 15089ed106d0SAndrew Rybchenko #define MC_CMD_FC_FPGA_TYPE_A5 0xa5 /* enum */ 15099ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED1_LBN 8 15109ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED1_WIDTH 10 15119ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_PTP_ENABLED_LBN 18 15129ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_PTP_ENABLED_WIDTH 1 15139ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM1_RLDRAM_DEF_LBN 19 15149ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM1_RLDRAM_DEF_WIDTH 1 15159ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM2_RLDRAM_DEF_LBN 20 15169ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM2_RLDRAM_DEF_WIDTH 1 15179ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM3_RLDRAM_DEF_LBN 21 15189ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM3_RLDRAM_DEF_WIDTH 1 15199ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM4_RLDRAM_DEF_LBN 22 15209ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM4_RLDRAM_DEF_WIDTH 1 15219ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T0_DDR3_DEF_LBN 23 15229ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T0_DDR3_DEF_WIDTH 1 15239ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T1_DDR3_DEF_LBN 24 15249ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T1_DDR3_DEF_WIDTH 1 15259ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_B0_DDR3_DEF_LBN 25 15269ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_B0_DDR3_DEF_WIDTH 1 15279ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_B1_DDR3_DEF_LBN 26 15289ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_B1_DDR3_DEF_WIDTH 1 15299ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_DDR3_ECC_ENABLED_LBN 27 15309ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_DDR3_ECC_ENABLED_WIDTH 1 15319ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T1_QDR_DEF_LBN 28 15329ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T1_QDR_DEF_WIDTH 1 15339ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED2_LBN 29 15349ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED2_WIDTH 2 15359ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_CRC_APPEND_LBN 31 15369ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_CRC_APPEND_WIDTH 1 15379ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_IDENTIFIER_OFST 12 15389ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_IDENTIFIER_LEN 4 15399ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_CHANGESET_LBN 0 15409ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_CHANGESET_WIDTH 16 15419ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_BUILD_FLAG_LBN 16 15429ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_BUILD_FLAG_WIDTH 1 15439ed106d0SAndrew Rybchenko #define MC_CMD_FC_FPGA_BUILD_FLAG_INTERNAL 0x0 /* enum */ 15449ed106d0SAndrew Rybchenko #define MC_CMD_FC_FPGA_BUILD_FLAG_RELEASE 0x1 /* enum */ 15459ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED3_LBN 17 15469ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED3_WIDTH 15 15479ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_HI_OFST 16 15489ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_HI_LEN 4 15499ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MINOR_LBN 0 15509ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MINOR_WIDTH 16 15519ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MAJOR_LBN 16 15529ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MAJOR_WIDTH 16 15539ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_LO_OFST 20 15549ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_LO_LEN 4 15559ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_BUILD_LBN 0 15569ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_BUILD_WIDTH 16 15579ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MICRO_LBN 16 15589ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MICRO_WIDTH 16 15599ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED4_OFST 16 15609ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED4_LEN 8 15619ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED4_LO_OFST 16 15629ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED4_HI_OFST 20 15639ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_LO_OFST 24 15649ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_LO_LEN 4 15659ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HI_OFST 28 15669ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HI_LEN 4 15679ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HIGH_LBN 0 15689ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HIGH_WIDTH 16 15699ed106d0SAndrew Rybchenko 15709ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_FPGA_BUILD_V2 msgresponse */ 15719ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_LEN 32 15729ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_INFO_OFST 0 15739ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_INFO_LEN 4 15749ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_APPLICATION_LBN 31 15759ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_APPLICATION_WIDTH 1 15769ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_LICENSED_LBN 30 15779ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_LICENSED_WIDTH 1 15789ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_ID_LBN 16 15799ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_ID_WIDTH 14 15809ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MAJOR_LBN 12 15819ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MAJOR_WIDTH 4 15829ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MINOR_LBN 4 15839ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MINOR_WIDTH 8 15849ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_NUM_LBN 0 15859ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_NUM_WIDTH 4 15869ed106d0SAndrew Rybchenko /* Build timestamp (seconds since epoch) */ 15879ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_TIMESTAMP_OFST 4 15889ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_TIMESTAMP_LEN 4 15899ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_PARAMETERS_OFST 8 15909ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_PARAMETERS_LEN 4 15919ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_PMA_PASSTHROUGH_LBN 31 15929ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_PMA_PASSTHROUGH_WIDTH 1 15939ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_QDR_DEF_LBN 29 15949ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_QDR_DEF_WIDTH 1 15959ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_QDR_DEF_LBN 28 15969ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_QDR_DEF_WIDTH 1 15979ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DDR3_ECC_ENABLED_LBN 27 15989ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DDR3_ECC_ENABLED_WIDTH 1 15999ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_DDR3_DEF_LBN 26 16009ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_DDR3_DEF_WIDTH 1 16019ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_DDR3_DEF_LBN 25 16029ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_DDR3_DEF_WIDTH 1 16039ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_TO_DDR3_DEF_LBN 24 16049ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_TO_DDR3_DEF_WIDTH 1 16059ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_T0_DDR3_DEF_LBN 23 16069ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_T0_DDR3_DEF_WIDTH 1 16079ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_RLDRAM_DEF_LBN 22 16089ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_RLDRAM_DEF_WIDTH 1 16099ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_RLDRAM_DEF_LBN 21 16109ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_RLDRAM_DEF_WIDTH 1 16119ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_RLDRAM_DEF_LBN 20 16129ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_RLDRAM_DEF_WIDTH 1 16139ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_RLDRAM_DEF_LBN 19 16149ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_RLDRAM_DEF_WIDTH 1 16159ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_LBN 18 16169ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_WIDTH 1 16179ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_10G 0x0 /* enum */ 16189ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_40G 0x1 /* enum */ 16199ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_LBN 17 16209ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_WIDTH 1 16219ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_10G 0x0 /* enum */ 16229ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_40G 0x1 /* enum */ 16239ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_LBN 16 16249ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_WIDTH 1 16259ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_10G 0x0 /* enum */ 16269ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_40G 0x1 /* enum */ 16279ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP7_DEF_LBN 15 16289ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP7_DEF_WIDTH 1 16299ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP6_DEF_LBN 14 16309ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP6_DEF_WIDTH 1 16319ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP5_DEF_LBN 13 16329ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP5_DEF_WIDTH 1 16339ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_DEF_LBN 12 16349ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_DEF_WIDTH 1 16359ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP3_DEF_LBN 11 16369ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP3_DEF_WIDTH 1 16379ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP2_DEF_LBN 10 16389ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP2_DEF_WIDTH 1 16399ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP1_DEF_LBN 9 16409ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP1_DEF_WIDTH 1 16419ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_DEF_LBN 8 16429ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_DEF_WIDTH 1 16439ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC3_DEF_LBN 7 16449ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC3_DEF_WIDTH 1 16459ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC2_DEF_LBN 6 16469ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC2_DEF_WIDTH 1 16479ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC1_DEF_LBN 5 16489ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC1_DEF_WIDTH 1 16499ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_DEF_LBN 4 16509ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_DEF_WIDTH 1 16519ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_FPGA_TYPE_LBN 0 16529ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_FPGA_TYPE_WIDTH 4 16539ed106d0SAndrew Rybchenko #define MC_CMD_FC_FPGA_V2_TYPE_A3 0x0 /* enum */ 16549ed106d0SAndrew Rybchenko #define MC_CMD_FC_FPGA_V2_TYPE_A4 0x1 /* enum */ 16559ed106d0SAndrew Rybchenko #define MC_CMD_FC_FPGA_V2_TYPE_A5 0x2 /* enum */ 16569ed106d0SAndrew Rybchenko #define MC_CMD_FC_FPGA_V2_TYPE_A7 0x3 /* enum */ 16579ed106d0SAndrew Rybchenko #define MC_CMD_FC_FPGA_V2_TYPE_D3 0x8 /* enum */ 16589ed106d0SAndrew Rybchenko #define MC_CMD_FC_FPGA_V2_TYPE_D4 0x9 /* enum */ 16599ed106d0SAndrew Rybchenko #define MC_CMD_FC_FPGA_V2_TYPE_D5 0xa /* enum */ 16609ed106d0SAndrew Rybchenko #define MC_CMD_FC_FPGA_V2_TYPE_D7 0xb /* enum */ 16619ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_IDENTIFIER_OFST 12 16629ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_IDENTIFIER_LEN 4 16639ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_CHANGESET_LBN 0 16649ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_CHANGESET_WIDTH 16 16659ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_FLAG_LBN 16 16669ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_FLAG_WIDTH 1 16679ed106d0SAndrew Rybchenko /* MC_CMD_FC_FPGA_BUILD_FLAG_INTERNAL 0x0 */ 16689ed106d0SAndrew Rybchenko /* MC_CMD_FC_FPGA_BUILD_FLAG_RELEASE 0x1 */ 16699ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_HI_OFST 16 16709ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_HI_LEN 4 16719ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MINOR_LBN 0 16729ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MINOR_WIDTH 16 16739ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MAJOR_LBN 16 16749ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MAJOR_WIDTH 16 16759ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_LO_OFST 20 16769ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_LO_LEN 4 16779ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_BUILD_LBN 0 16789ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_BUILD_WIDTH 16 16799ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MICRO_LBN 16 16809ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MICRO_WIDTH 16 16819ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_LO_OFST 24 16829ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_LO_LEN 4 16839ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HI_OFST 28 16849ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HI_LEN 4 16859ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HIGH_LBN 0 16869ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HIGH_WIDTH 16 16879ed106d0SAndrew Rybchenko 16889ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_FPGA_SERVICES msgresponse */ 16899ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_LEN 32 16909ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_COMPONENT_INFO_OFST 0 16919ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_COMPONENT_INFO_LEN 4 16929ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_IS_APPLICATION_LBN 31 16939ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_IS_APPLICATION_WIDTH 1 16949ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_IS_LICENSED_LBN 30 16959ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_IS_LICENSED_WIDTH 1 16969ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_COMPONENT_ID_LBN 16 16979ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_COMPONENT_ID_WIDTH 14 16989ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_VERSION_MAJOR_LBN 12 16999ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_VERSION_MAJOR_WIDTH 4 17009ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_VERSION_MINOR_LBN 4 17019ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_VERSION_MINOR_WIDTH 8 17029ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_BUILD_NUM_LBN 0 17039ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_BUILD_NUM_WIDTH 4 17049ed106d0SAndrew Rybchenko /* Build timestamp (seconds since epoch) */ 17059ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_TIMESTAMP_OFST 4 17069ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_TIMESTAMP_LEN 4 17079ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_PARAMETERS_OFST 8 17089ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_PARAMETERS_LEN 4 17099ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_FC_FLASH_BOOTED_LBN 8 17109ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_FC_FLASH_BOOTED_WIDTH 1 17119ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_NIC0_DEF_LBN 27 17129ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_NIC0_DEF_WIDTH 1 17139ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_NIC1_DEF_LBN 28 17149ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_NIC1_DEF_WIDTH 1 17159ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_SFP0_DEF_LBN 29 17169ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_SFP0_DEF_WIDTH 1 17179ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_SFP1_DEF_LBN 30 17189ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_SFP1_DEF_WIDTH 1 17199ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_RESERVED_LBN 31 17209ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_RESERVED_WIDTH 1 17219ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_IDENTIFIER_OFST 12 17229ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_IDENTIFIER_LEN 4 17239ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_CHANGESET_LBN 0 17249ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_CHANGESET_WIDTH 16 17259ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_BUILD_FLAG_LBN 16 17269ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_BUILD_FLAG_WIDTH 1 17279ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_OFST 16 17289ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_LEN 4 17299ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_WIDTH_LBN 0 17309ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_WIDTH_WIDTH 16 17319ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_COUNT_LBN 16 17329ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_COUNT_WIDTH 16 17339ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_OFST 20 17349ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_LEN 4 17359ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_WIDTH_LBN 0 17369ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_WIDTH_WIDTH 16 17379ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_COUNT_LBN 16 17389ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_COUNT_WIDTH 16 17399ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_LO_OFST 24 17409ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_LO_LEN 4 17419ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HI_OFST 28 17429ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HI_LEN 4 17439ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HIGH_LBN 0 17449ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HIGH_WIDTH 16 17459ed106d0SAndrew Rybchenko 17469ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_FPGA_SERVICES_V2 msgresponse */ 17479ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_LEN 32 17489ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_INFO_OFST 0 17499ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_INFO_LEN 4 17509ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_APPLICATION_LBN 31 17519ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_APPLICATION_WIDTH 1 17529ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_LICENSED_LBN 30 17539ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_LICENSED_WIDTH 1 17549ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_ID_LBN 16 17559ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_ID_WIDTH 14 17569ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MAJOR_LBN 12 17579ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MAJOR_WIDTH 4 17589ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MINOR_LBN 4 17599ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MINOR_WIDTH 8 17609ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_NUM_LBN 0 17619ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_NUM_WIDTH 4 17629ed106d0SAndrew Rybchenko /* Build timestamp (seconds since epoch) */ 17639ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_TIMESTAMP_OFST 4 17649ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_TIMESTAMP_LEN 4 17659ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PARAMETERS_OFST 8 17669ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PARAMETERS_LEN 4 17679ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PTP_ENABLED_LBN 0 17689ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PTP_ENABLED_WIDTH 1 17699ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_FC_FLASH_BOOTED_LBN 8 17709ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_FC_FLASH_BOOTED_WIDTH 1 17719ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IDENTIFIER_OFST 12 17729ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IDENTIFIER_LEN 4 17739ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_CHANGESET_LBN 0 17749ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_CHANGESET_WIDTH 16 17759ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_FLAG_LBN 16 17769ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_FLAG_WIDTH 1 17779ed106d0SAndrew Rybchenko /* MC_CMD_FC_FPGA_BUILD_FLAG_INTERNAL 0x0 */ 17789ed106d0SAndrew Rybchenko /* MC_CMD_FC_FPGA_BUILD_FLAG_RELEASE 0x1 */ 17799ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_LO_OFST 24 17809ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_LO_LEN 4 17819ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HI_OFST 28 17829ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HI_LEN 4 17839ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HIGH_LBN 0 17849ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HIGH_WIDTH 16 17859ed106d0SAndrew Rybchenko 17869ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_BSP_VERSION msgresponse */ 17879ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_BSP_VERSION_LEN 4 17889ed106d0SAndrew Rybchenko /* Qsys system ID */ 17899ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_BSP_VERSION_SYSID_OFST 0 17909ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_BSP_VERSION_SYSID_LEN 4 17919ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_BSP_VERSION_VERSION_MAJOR_LBN 12 17929ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_BSP_VERSION_VERSION_MAJOR_WIDTH 4 17939ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_BSP_VERSION_VERSION_MINOR_LBN 4 17949ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_BSP_VERSION_VERSION_MINOR_WIDTH 8 17959ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_BSP_VERSION_BUILD_NUM_LBN 0 17969ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_BSP_VERSION_BUILD_NUM_WIDTH 4 17979ed106d0SAndrew Rybchenko 17989ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_READ_MAP_COUNT msgresponse */ 17999ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_COUNT_LEN 4 18009ed106d0SAndrew Rybchenko /* Number of maps */ 18019ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_COUNT_NUM_MAPS_OFST 0 18029ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_COUNT_NUM_MAPS_LEN 4 18039ed106d0SAndrew Rybchenko 18049ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_READ_MAP_INDEX msgresponse */ 18059ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN 164 18069ed106d0SAndrew Rybchenko /* Index of the map */ 18079ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_INDEX_OFST 0 18089ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_INDEX_LEN 4 18099ed106d0SAndrew Rybchenko /* Options for the map */ 18109ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_OPTIONS_OFST 4 18119ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_OPTIONS_LEN 4 18129ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_8 0x0 /* enum */ 18139ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_16 0x1 /* enum */ 18149ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_32 0x2 /* enum */ 18159ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_64 0x3 /* enum */ 18169ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_MASK 0x3 /* enum */ 18179ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_PATH_FC 0x4 /* enum */ 18189ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_PATH_MEM 0x8 /* enum */ 18199ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_PERM_READ 0x10 /* enum */ 18209ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_PERM_WRITE 0x20 /* enum */ 18219ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_FREE 0x0 /* enum */ 18229ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_LICENSED 0x40 /* enum */ 18239ed106d0SAndrew Rybchenko /* Address of start of map */ 18249ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_ADDRESS_OFST 8 18259ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_ADDRESS_LEN 8 18269ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_ADDRESS_LO_OFST 8 18279ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_ADDRESS_HI_OFST 12 18289ed106d0SAndrew Rybchenko /* Length of address map */ 18299ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN_OFST 16 18309ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN_LEN 8 18319ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN_LO_OFST 16 18329ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN_HI_OFST 20 18339ed106d0SAndrew Rybchenko /* Component information field */ 18349ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_COMP_INFO_OFST 24 18359ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_COMP_INFO_LEN 4 18369ed106d0SAndrew Rybchenko /* License expiry data for map */ 18379ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_DATE_OFST 28 18389ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_DATE_LEN 8 18399ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_DATE_LO_OFST 28 18409ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_DATE_HI_OFST 32 18419ed106d0SAndrew Rybchenko /* Name of the component */ 18429ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_NAME_OFST 36 18439ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_NAME_LEN 1 18449ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_INDEX_NAME_NUM 128 18459ed106d0SAndrew Rybchenko 18469ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_READ_MAP msgresponse */ 18479ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_READ_MAP_LEN 0 18489ed106d0SAndrew Rybchenko 18499ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_CAPABILITIES msgresponse */ 18509ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CAPABILITIES_LEN 8 18519ed106d0SAndrew Rybchenko /* Number of internal ports */ 18529ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CAPABILITIES_INTERNAL_OFST 0 18539ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CAPABILITIES_INTERNAL_LEN 4 18549ed106d0SAndrew Rybchenko /* Number of external ports */ 18559ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CAPABILITIES_EXTERNAL_OFST 4 18569ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CAPABILITIES_EXTERNAL_LEN 4 18579ed106d0SAndrew Rybchenko 18589ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_GLOBAL_FLAGS msgresponse */ 18599ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GLOBAL_FLAGS_LEN 4 18609ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GLOBAL_FLAGS_FLAGS_OFST 0 18619ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_GLOBAL_FLAGS_FLAGS_LEN 4 18629ed106d0SAndrew Rybchenko 18639ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_IO_REL msgresponse */ 18649ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_LEN 0 18659ed106d0SAndrew Rybchenko 18669ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_IO_REL_GET_ADDR msgresponse */ 18679ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_GET_ADDR_LEN 8 18689ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_GET_ADDR_ADDR_HI_OFST 0 18699ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_GET_ADDR_ADDR_HI_LEN 4 18709ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_GET_ADDR_ADDR_LO_OFST 4 18719ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_GET_ADDR_ADDR_LO_LEN 4 18729ed106d0SAndrew Rybchenko 18739ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_IO_REL_READ32 msgresponse */ 18749ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_READ32_LENMIN 4 18759ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_READ32_LENMAX 252 18769ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_READ32_LEN(num) (0+4*(num)) 18779ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_READ32_BUFFER_OFST 0 18789ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_READ32_BUFFER_LEN 4 18799ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_READ32_BUFFER_MINNUM 1 18809ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_READ32_BUFFER_MAXNUM 63 18819ed106d0SAndrew Rybchenko 18829ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_IO_REL_WRITE32 msgresponse */ 18839ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_IO_REL_WRITE32_LEN 0 18849ed106d0SAndrew Rybchenko 18859ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_UHLINK_PHY msgresponse */ 18869ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_LEN 48 18879ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_SETTINGS_0_OFST 0 18889ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_SETTINGS_0_LEN 4 18899ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_VOD_LBN 0 18909ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_VOD_WIDTH 16 18919ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_1STPOSTTAP_LBN 16 18929ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_1STPOSTTAP_WIDTH 16 18939ed106d0SAndrew Rybchenko /* Transceiver Transmit settings */ 18949ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_SETTINGS_1_OFST 4 18959ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_SETTINGS_1_LEN 4 18969ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_PRETAP_LBN 0 18979ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_PRETAP_WIDTH 16 18989ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_2NDPOSTTAP_LBN 16 18999ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_2NDPOSTTAP_WIDTH 16 19009ed106d0SAndrew Rybchenko /* Transceiver Receive settings */ 19019ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_SETTINGS_OFST 8 19029ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_SETTINGS_LEN 4 19039ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_DC_GAIN_LBN 0 19049ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_DC_GAIN_WIDTH 16 19059ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_EQ_CONTROL_LBN 16 19069ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_EQ_CONTROL_WIDTH 16 19079ed106d0SAndrew Rybchenko /* Rx eye opening */ 19089ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_OFST 12 19099ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_LEN 4 19109ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_WIDTH_LBN 0 19119ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_WIDTH_WIDTH 16 19129ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_HEIGHT_LBN 16 19139ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_HEIGHT_WIDTH 16 19149ed106d0SAndrew Rybchenko /* PCS status word */ 19159ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_PCS_STATUS_OFST 16 19169ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_PCS_STATUS_LEN 4 19179ed106d0SAndrew Rybchenko /* Link status word */ 19189ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_LINK_STATE_WORD_OFST 20 19199ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_LINK_STATE_WORD_LEN 4 19209ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_LINK_STATE_LBN 0 19219ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_LINK_STATE_WIDTH 1 19229ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_LINK_CONFIGURED_LBN 1 19239ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_LINK_CONFIGURED_WIDTH 1 19249ed106d0SAndrew Rybchenko /* Current SFp parameters applied */ 19259ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_PARAMS_OFST 24 19269ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_PARAMS_LEN 20 19279ed106d0SAndrew Rybchenko /* Link speed is 100, 1000, 10000 */ 19289ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_SPEED_OFST 24 19299ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_SPEED_LEN 4 19309ed106d0SAndrew Rybchenko /* Length of copper cable - zero when not relevant */ 19319ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_COPPER_LEN_OFST 28 19329ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_COPPER_LEN_LEN 4 19339ed106d0SAndrew Rybchenko /* True if a dual speed SFP+ module */ 19349ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_DUAL_SPEED_OFST 32 19359ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_DUAL_SPEED_LEN 4 19369ed106d0SAndrew Rybchenko /* True if an SFP Module is present (other fields valid when true) */ 19379ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_PRESENT_OFST 36 19389ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_PRESENT_LEN 4 19399ed106d0SAndrew Rybchenko /* The type of the SFP+ Module */ 19409ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_TYPE_OFST 40 19419ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_SFP_TYPE_LEN 4 19429ed106d0SAndrew Rybchenko /* PHY config flags */ 19439ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_OFST 44 19449ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_LEN 4 19459ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_DFE_LBN 0 19469ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_DFE_WIDTH 1 19479ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_AEQ_LBN 1 19489ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_AEQ_WIDTH 1 19499ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_RX_TUNING_LBN 2 19509ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_RX_TUNING_WIDTH 1 19519ed106d0SAndrew Rybchenko 19529ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_UHLINK_MAC msgresponse */ 19539ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_MAC_LEN 20 19549ed106d0SAndrew Rybchenko /* MAC configuration applied */ 19559ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_MAC_CONFIG_OFST 0 19569ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_MAC_CONFIG_LEN 4 19579ed106d0SAndrew Rybchenko /* MTU size */ 19589ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_MAC_MTU_OFST 4 19599ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_MAC_MTU_LEN 4 19609ed106d0SAndrew Rybchenko /* IF Mode status */ 19619ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_MAC_IF_STATUS_OFST 8 19629ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_MAC_IF_STATUS_LEN 4 19639ed106d0SAndrew Rybchenko /* MAC address configured */ 19649ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_MAC_ADDR_OFST 12 19659ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_MAC_ADDR_LEN 8 19669ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_MAC_ADDR_LO_OFST 12 19679ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_MAC_ADDR_HI_OFST 16 19689ed106d0SAndrew Rybchenko 19699ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_UHLINK_RX_EYE msgresponse */ 19709ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_RX_EYE_LEN ((((0-1+(32*MC_CMD_FC_UHLINK_RX_EYE_PER_BLOCK))+1))>>3) 19719ed106d0SAndrew Rybchenko /* Rx Eye measurements */ 19729ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_RX_EYE_RX_EYE_OFST 0 19739ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_RX_EYE_RX_EYE_LEN 4 19749ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_RX_EYE_RX_EYE_NUM MC_CMD_FC_UHLINK_RX_EYE_PER_BLOCK 19759ed106d0SAndrew Rybchenko 19769ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_UHLINK_DUMP_RX_EYE_PLOT msgresponse */ 19779ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_DUMP_RX_EYE_PLOT_LEN 0 19789ed106d0SAndrew Rybchenko 19799ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT msgresponse */ 19809ed106d0SAndrew Rybchenko #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) 19819ed106d0SAndrew Rybchenko /* Has the eye plot dump completed and data returned is valid? */ 19829ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_VALID_OFST 0 19839ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_VALID_LEN 4 19849ed106d0SAndrew Rybchenko /* Rx Eye binary plot */ 19859ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_OFST 4 19869ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_LEN 8 19879ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_LO_OFST 4 19889ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_HI_OFST 8 19899ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_NUM MC_CMD_FC_UHLINK_RX_EYE_PLOT_ROWS_PER_BLOCK 19909ed106d0SAndrew Rybchenko 19919ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_UHLINK_RX_TUNE msgresponse */ 19929ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_RX_TUNE_LEN 0 19939ed106d0SAndrew Rybchenko 19949ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_UHLINK_LOOPBACK_SET msgresponse */ 19959ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_LOOPBACK_SET_LEN 0 19969ed106d0SAndrew Rybchenko 19979ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_UHLINK_LOOPBACK_GET msgresponse */ 19989ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_LOOPBACK_GET_LEN 4 19999ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_LOOPBACK_GET_STATE_OFST 0 20009ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_LOOPBACK_GET_STATE_LEN 4 20019ed106d0SAndrew Rybchenko 20029ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_UHLINK msgresponse */ 20039ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_UHLINK_LEN 0 20049ed106d0SAndrew Rybchenko 20059ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_SET_LINK msgresponse */ 20069ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_SET_LINK_LEN 0 20079ed106d0SAndrew Rybchenko 20089ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_LICENSE msgresponse */ 20099ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_LICENSE_LEN 12 20109ed106d0SAndrew Rybchenko /* Count of valid keys */ 20119ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_LICENSE_VALID_KEYS_OFST 0 20129ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_LICENSE_VALID_KEYS_LEN 4 20139ed106d0SAndrew Rybchenko /* Count of invalid keys */ 20149ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_LICENSE_INVALID_KEYS_OFST 4 20159ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_LICENSE_INVALID_KEYS_LEN 4 20169ed106d0SAndrew Rybchenko /* Count of blacklisted keys */ 20179ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_LICENSE_BLACKLISTED_KEYS_OFST 8 20189ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_LICENSE_BLACKLISTED_KEYS_LEN 4 20199ed106d0SAndrew Rybchenko 20209ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_STARTUP msgresponse */ 20219ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_STARTUP_LEN 4 20229ed106d0SAndrew Rybchenko /* Capabilities of the FPGA/FC */ 20239ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_STARTUP_CAPABILITIES_OFST 0 20249ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_STARTUP_CAPABILITIES_LEN 4 20259ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_STARTUP_CAN_ACCESS_FLASH_LBN 0 20269ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_STARTUP_CAN_ACCESS_FLASH_WIDTH 1 20279ed106d0SAndrew Rybchenko 20289ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DMA_READ msgresponse */ 20299ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DMA_READ_LENMIN 1 20309ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DMA_READ_LENMAX 252 20319ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DMA_READ_LEN(num) (0+1*(num)) 20329ed106d0SAndrew Rybchenko /* The data read */ 20339ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DMA_READ_DATA_OFST 0 20349ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DMA_READ_DATA_LEN 1 20359ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DMA_READ_DATA_MINNUM 1 20369ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DMA_READ_DATA_MAXNUM 252 20379ed106d0SAndrew Rybchenko 20389ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_TIMED_READ_SET msgresponse */ 20399ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_SET_LEN 4 20409ed106d0SAndrew Rybchenko /* Timer handle */ 20419ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_SET_FC_HANDLE_OFST 0 20429ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_SET_FC_HANDLE_LEN 4 20439ed106d0SAndrew Rybchenko 20449ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_TIMED_READ_GET msgresponse */ 20459ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_LEN 52 20469ed106d0SAndrew Rybchenko /* Host supplied handle (unique) */ 20479ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_HANDLE_OFST 0 20489ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_HANDLE_LEN 4 20499ed106d0SAndrew Rybchenko /* Address into which to transfer data in host */ 20509ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_DMA_ADDRESS_OFST 4 20519ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_DMA_ADDRESS_LEN 8 20529ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_DMA_ADDRESS_LO_OFST 4 20539ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_DMA_ADDRESS_HI_OFST 8 20549ed106d0SAndrew Rybchenko /* AOE address from which to transfer data */ 20559ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_ADDRESS_OFST 12 20569ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_ADDRESS_LEN 8 20579ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_ADDRESS_LO_OFST 12 20589ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_ADDRESS_HI_OFST 16 20599ed106d0SAndrew Rybchenko /* Length of AOE transfer (total) */ 20609ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_LENGTH_OFST 20 20619ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_LENGTH_LEN 4 20629ed106d0SAndrew Rybchenko /* Length of host transfer (total) */ 20639ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_LENGTH_OFST 24 20649ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_LENGTH_LEN 4 20659ed106d0SAndrew Rybchenko /* See FLAGS entry for MC_CMD_FC_IN_TIMED_READ_SET */ 20669ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_FLAGS_OFST 28 20679ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_FLAGS_LEN 4 20689ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_PERIOD_OFST 32 20699ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_PERIOD_LEN 4 20709ed106d0SAndrew Rybchenko /* When active, start read time */ 20719ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_START_OFST 36 20729ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_START_LEN 8 20739ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_START_LO_OFST 36 20749ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_START_HI_OFST 40 20759ed106d0SAndrew Rybchenko /* When active, end read time */ 20769ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_END_OFST 44 20779ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_END_LEN 8 20789ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_END_LO_OFST 44 20799ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_END_HI_OFST 48 20809ed106d0SAndrew Rybchenko 20819ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_LOG_ADDR_RANGE msgresponse */ 20829ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_LOG_ADDR_RANGE_LEN 0 20839ed106d0SAndrew Rybchenko 20849ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_LOG msgresponse */ 20859ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_LOG_LEN 0 20869ed106d0SAndrew Rybchenko 20879ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_CLOCK_GET_TIME msgresponse */ 20889ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_LEN 24 20899ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_CLOCK_ID_OFST 0 20909ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_CLOCK_ID_LEN 4 20919ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_SECONDS_OFST 4 20929ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_SECONDS_LEN 8 20939ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_SECONDS_LO_OFST 4 20949ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_SECONDS_HI_OFST 8 20959ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_NANOSECONDS_OFST 12 20969ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_NANOSECONDS_LEN 4 20979ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_RANGE_OFST 16 20989ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_RANGE_LEN 4 20999ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_PRECISION_OFST 20 21009ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_GET_TIME_PRECISION_LEN 4 21019ed106d0SAndrew Rybchenko 21029ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_CLOCK_SET_TIME msgresponse */ 21039ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_CLOCK_SET_TIME_LEN 0 21049ed106d0SAndrew Rybchenko 21059ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DDR_SET_SPD msgresponse */ 21069ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_SET_SPD_LEN 0 21079ed106d0SAndrew Rybchenko 21089ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DDR_SET_INFO msgresponse */ 21099ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_SET_INFO_LEN 0 21109ed106d0SAndrew Rybchenko 21119ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DDR_GET_STATUS msgresponse */ 21129ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_GET_STATUS_LEN 4 21139ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_GET_STATUS_FLAGS_OFST 0 21149ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_GET_STATUS_FLAGS_LEN 4 21159ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_GET_STATUS_READY_LBN 0 21169ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_GET_STATUS_READY_WIDTH 1 21179ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_GET_STATUS_CALIBRATED_LBN 1 21189ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DDR_GET_STATUS_CALIBRATED_WIDTH 1 21199ed106d0SAndrew Rybchenko 21209ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT msgresponse */ 21219ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_LEN 8 21229ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_SECONDS_OFST 0 21239ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_SECONDS_LEN 4 21249ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_NANOSECONDS_OFST 4 21259ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_NANOSECONDS_LEN 4 21269ed106d0SAndrew Rybchenko 21279ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT msgresponse */ 21289ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_LENMIN 8 21299ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_LENMAX 248 21309ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_LEN(num) (0+8*(num)) 21319ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_SECONDS_OFST 0 21329ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_SECONDS_LEN 4 21339ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_NANOSECONDS_OFST 4 21349ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_NANOSECONDS_LEN 4 21359ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_OFST 0 21369ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_LEN 8 21379ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_LO_OFST 0 21389ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_HI_OFST 4 21399ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_MINNUM 0 21409ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_MAXNUM 31 21419ed106d0SAndrew Rybchenko 21429ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_SPI_READ msgresponse */ 21439ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_SPI_READ_LENMIN 4 21449ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_SPI_READ_LENMAX 252 21459ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_SPI_READ_LEN(num) (0+4*(num)) 21469ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_SPI_READ_BUFFER_OFST 0 21479ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_SPI_READ_BUFFER_LEN 4 21489ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_SPI_READ_BUFFER_MINNUM 1 21499ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_SPI_READ_BUFFER_MAXNUM 63 21509ed106d0SAndrew Rybchenko 21519ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_SPI_WRITE msgresponse */ 21529ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_SPI_WRITE_LEN 0 21539ed106d0SAndrew Rybchenko 21549ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_SPI_ERASE msgresponse */ 21559ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_SPI_ERASE_LEN 0 21569ed106d0SAndrew Rybchenko 21579ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG msgresponse */ 21589ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_LEN 8 21599ed106d0SAndrew Rybchenko /* The 32-bit value read from the toggle count register */ 21609ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_TOGGLE_COUNT_OFST 0 21619ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_TOGGLE_COUNT_LEN 4 21629ed106d0SAndrew Rybchenko /* The 32-bit value read from the clock enable count register */ 21639ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_CLKEN_COUNT_OFST 4 21649ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_CLKEN_COUNT_LEN 4 21659ed106d0SAndrew Rybchenko 21669ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DIAG_POWER_NOISE_WRITE_CONFIG msgresponse */ 21679ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_POWER_NOISE_WRITE_CONFIG_LEN 0 21689ed106d0SAndrew Rybchenko 21699ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DIAG_DDR_SOAK_START msgresponse */ 21709ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_START_LEN 0 21719ed106d0SAndrew Rybchenko 21729ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT msgresponse */ 21739ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_LEN 8 21749ed106d0SAndrew Rybchenko /* DDR soak test status word; bits [4:0] are relevant. */ 21759ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_STATUS_OFST 0 21769ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_STATUS_LEN 4 21779ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_PASSED_LBN 0 21789ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_PASSED_WIDTH 1 21799ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_FAILED_LBN 1 21809ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_FAILED_WIDTH 1 21819ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_COMPLETED_LBN 2 21829ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_COMPLETED_WIDTH 1 21839ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_TIMEOUT_LBN 3 21849ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_TIMEOUT_WIDTH 1 21859ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_PNF_LBN 4 21869ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_PNF_WIDTH 1 21879ed106d0SAndrew Rybchenko /* DDR soak test error count */ 21889ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_ERR_COUNT_OFST 4 21899ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_ERR_COUNT_LEN 4 21909ed106d0SAndrew Rybchenko 21919ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DIAG_DDR_SOAK_STOP msgresponse */ 21929ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_STOP_LEN 0 21939ed106d0SAndrew Rybchenko 21949ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DIAG_DDR_SOAK_ERROR msgresponse */ 21959ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DDR_SOAK_ERROR_LEN 0 21969ed106d0SAndrew Rybchenko 21979ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DIAG_DATAPATH_CTRL_SET_MODE msgresponse */ 21989ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DATAPATH_CTRL_SET_MODE_LEN 0 21999ed106d0SAndrew Rybchenko 22009ed106d0SAndrew Rybchenko /* MC_CMD_FC_OUT_DIAG_DATAPATH_CTRL_RAW_CONFIG msgresponse */ 22019ed106d0SAndrew Rybchenko #define MC_CMD_FC_OUT_DIAG_DATAPATH_CTRL_RAW_CONFIG_LEN 0 22029ed106d0SAndrew Rybchenko 22039ed106d0SAndrew Rybchenko /***********************************/ 22049ed106d0SAndrew Rybchenko /* MC_CMD_AOE 22059ed106d0SAndrew Rybchenko * AOE operations on MC 22069ed106d0SAndrew Rybchenko */ 22079ed106d0SAndrew Rybchenko #define MC_CMD_AOE 0xa 22089ed106d0SAndrew Rybchenko 22099ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN msgrequest */ 22109ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LEN 4 22119ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_OP_HDR_OFST 0 22129ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_OP_HDR_LEN 4 22139ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_OP_LBN 0 22149ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_OP_WIDTH 8 22159ed106d0SAndrew Rybchenko /* enum: FPGA and CPLD information */ 22169ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_INFO 0x1 22179ed106d0SAndrew Rybchenko /* enum: Currents and voltages read from MCP3424s; DEBUG */ 22189ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_CURRENTS 0x2 22199ed106d0SAndrew Rybchenko /* enum: Temperatures at locations around the PCB; DEBUG */ 22209ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_TEMPERATURES 0x3 22219ed106d0SAndrew Rybchenko /* enum: Set CPLD to idle */ 22229ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_CPLD_IDLE 0x4 22239ed106d0SAndrew Rybchenko /* enum: Read from CPLD register */ 22249ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_CPLD_READ 0x5 22259ed106d0SAndrew Rybchenko /* enum: Write to CPLD register */ 22269ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_CPLD_WRITE 0x6 22279ed106d0SAndrew Rybchenko /* enum: Execute CPLD instruction */ 22289ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_CPLD_INSTRUCTION 0x7 22299ed106d0SAndrew Rybchenko /* enum: Reprogram the CPLD on the AOE device */ 22309ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_CPLD_REPROGRAM 0x8 22319ed106d0SAndrew Rybchenko /* enum: AOE power control */ 22329ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_POWER 0x9 22339ed106d0SAndrew Rybchenko /* enum: AOE image loading */ 22349ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_LOAD 0xa 22359ed106d0SAndrew Rybchenko /* enum: Fan monitoring */ 22369ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_FAN_CONTROL 0xb 22379ed106d0SAndrew Rybchenko /* enum: Fan failures since last reset */ 22389ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_FAN_FAILURES 0xc 22399ed106d0SAndrew Rybchenko /* enum: Get generic AOE MAC statistics */ 22409ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_MAC_STATS 0xd 22419ed106d0SAndrew Rybchenko /* enum: Retrieve PHY specific information */ 22429ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_GET_PHY_MEDIA_INFO 0xe 22439ed106d0SAndrew Rybchenko /* enum: Write a number of JTAG primitive commands, return will give data */ 22449ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_JTAG_WRITE 0xf 22459ed106d0SAndrew Rybchenko /* enum: Control access to the FPGA via the Siena JTAG Chain */ 22469ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_FPGA_ACCESS 0x10 22479ed106d0SAndrew Rybchenko /* enum: Set the MTU offset between Siena and AOE MACs */ 22489ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_SET_MTU_OFFSET 0x11 22499ed106d0SAndrew Rybchenko /* enum: How link state is handled */ 22509ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_LINK_STATE 0x12 22519ed106d0SAndrew Rybchenko /* enum: How Siena MAC statistics are reported (deprecated - use 22529ed106d0SAndrew Rybchenko * MC_CMD_AOE_OP_ASIC_STATS) 22539ed106d0SAndrew Rybchenko */ 22549ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_SIENA_STATS 0x13 22559ed106d0SAndrew Rybchenko /* enum: How native ASIC MAC statistics are reported - replaces the deprecated 22569ed106d0SAndrew Rybchenko * command MC_CMD_AOE_OP_SIENA_STATS 22579ed106d0SAndrew Rybchenko */ 22589ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_ASIC_STATS 0x13 22599ed106d0SAndrew Rybchenko /* enum: DDR memory information */ 22609ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_DDR 0x14 22619ed106d0SAndrew Rybchenko /* enum: FC control */ 22629ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_FC 0x15 22639ed106d0SAndrew Rybchenko /* enum: DDR ECC status reads */ 22649ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_DDR_ECC_STATUS 0x16 22659ed106d0SAndrew Rybchenko /* enum: Commands for MC-SPI Master emulation */ 22669ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_MC_SPI_MASTER 0x17 22679ed106d0SAndrew Rybchenko /* enum: Commands for FC boot control */ 22689ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_FC_BOOT 0x18 22699ed106d0SAndrew Rybchenko /* enum: Get number of internal ports */ 22709ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_GET_ASIC_PORTS 0x19 22719ed106d0SAndrew Rybchenko /* enum: Get FC assert information and register dump */ 22729ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OP_GET_FC_ASSERT_INFO 0x1a 22739ed106d0SAndrew Rybchenko 22749ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT msgresponse */ 22759ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_LEN 0 22769ed106d0SAndrew Rybchenko 22779ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_INFO msgrequest */ 22789ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_INFO_LEN 4 22799ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CMD_OFST 0 22809ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CMD_LEN 4 22819ed106d0SAndrew Rybchenko 22829ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CURRENTS msgrequest */ 22839ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CURRENTS_LEN 4 22849ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 22859ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 22869ed106d0SAndrew Rybchenko 22879ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_TEMPERATURES msgrequest */ 22889ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_TEMPERATURES_LEN 4 22899ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 22909ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 22919ed106d0SAndrew Rybchenko 22929ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CPLD_IDLE msgrequest */ 22939ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_IDLE_LEN 4 22949ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 22959ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 22969ed106d0SAndrew Rybchenko 22979ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CPLD_READ msgrequest */ 22989ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_READ_LEN 12 22999ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 23009ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 23019ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_READ_REGISTER_OFST 4 23029ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_READ_REGISTER_LEN 4 23039ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_READ_WIDTH_OFST 8 23049ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_READ_WIDTH_LEN 4 23059ed106d0SAndrew Rybchenko 23069ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CPLD_WRITE msgrequest */ 23079ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_WRITE_LEN 16 23089ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 23099ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 23109ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_WRITE_REGISTER_OFST 4 23119ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_WRITE_REGISTER_LEN 4 23129ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_WRITE_WIDTH_OFST 8 23139ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_WRITE_WIDTH_LEN 4 23149ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_WRITE_VALUE_OFST 12 23159ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_WRITE_VALUE_LEN 4 23169ed106d0SAndrew Rybchenko 23179ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CPLD_INSTRUCTION msgrequest */ 23189ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_INSTRUCTION_LEN 8 23199ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 23209ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 23219ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_INSTRUCTION_INSTRUCTION_OFST 4 23229ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_INSTRUCTION_INSTRUCTION_LEN 4 23239ed106d0SAndrew Rybchenko 23249ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CPLD_REPROGRAM msgrequest */ 23259ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_REPROGRAM_LEN 8 23269ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 23279ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 23289ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_REPROGRAM_OP_OFST 4 23299ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_REPROGRAM_OP_LEN 4 23309ed106d0SAndrew Rybchenko /* enum: Reprogram CPLD, poll for completion */ 23319ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_REPROGRAM_REPROGRAM 0x1 23329ed106d0SAndrew Rybchenko /* enum: Reprogram CPLD, send event on completion */ 23339ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_REPROGRAM_REPROGRAM_EVENT 0x3 23349ed106d0SAndrew Rybchenko /* enum: Get status of reprogramming operation */ 23359ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_CPLD_REPROGRAM_STATUS 0x4 23369ed106d0SAndrew Rybchenko 23379ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_POWER msgrequest */ 23389ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_POWER_LEN 8 23399ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 23409ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 23419ed106d0SAndrew Rybchenko /* Turn on or off AOE power */ 23429ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_POWER_OP_OFST 4 23439ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_POWER_OP_LEN 4 23449ed106d0SAndrew Rybchenko /* enum: Turn off FPGA power */ 23459ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_POWER_OFF 0x0 23469ed106d0SAndrew Rybchenko /* enum: Turn on FPGA power */ 23479ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_POWER_ON 0x1 23489ed106d0SAndrew Rybchenko /* enum: Clear peak power measurement */ 23499ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_POWER_CLEAR 0x2 23509ed106d0SAndrew Rybchenko /* enum: Show current power in sensors output */ 23519ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_POWER_SHOW_CURRENT 0x3 23529ed106d0SAndrew Rybchenko /* enum: Show peak power in sensors output */ 23539ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_POWER_SHOW_PEAK 0x4 23549ed106d0SAndrew Rybchenko /* enum: Show current DDR current */ 23559ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_POWER_DDR_LAST 0x5 23569ed106d0SAndrew Rybchenko /* enum: Show peak DDR current */ 23579ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_POWER_DDR_PEAK 0x6 23589ed106d0SAndrew Rybchenko /* enum: Clear peak DDR current */ 23599ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_POWER_DDR_CLEAR 0x7 23609ed106d0SAndrew Rybchenko 23619ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_LOAD msgrequest */ 23629ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LOAD_LEN 8 23639ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 23649ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 23659ed106d0SAndrew Rybchenko /* Image to be loaded (0 - main or 1 - diagnostic) to load in normal sequence 23669ed106d0SAndrew Rybchenko */ 23679ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LOAD_IMAGE_OFST 4 23689ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LOAD_IMAGE_LEN 4 23699ed106d0SAndrew Rybchenko 23709ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_FAN_CONTROL msgrequest */ 23719ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FAN_CONTROL_LEN 8 23729ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 23739ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 23749ed106d0SAndrew Rybchenko /* If non zero report measured fan RPM rather than nominal */ 23759ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FAN_CONTROL_REAL_RPM_OFST 4 23769ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FAN_CONTROL_REAL_RPM_LEN 4 23779ed106d0SAndrew Rybchenko 23789ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_FAN_FAILURES msgrequest */ 23799ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FAN_FAILURES_LEN 4 23809ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 23819ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 23829ed106d0SAndrew Rybchenko 23839ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_MAC_STATS msgrequest */ 23849ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_LEN 24 23859ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 23869ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 23879ed106d0SAndrew Rybchenko /* AOE port */ 23889ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_PORT_OFST 4 23899ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_PORT_LEN 4 23909ed106d0SAndrew Rybchenko /* Host memory address for statistics */ 23919ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_DMA_ADDR_OFST 8 23929ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_DMA_ADDR_LEN 8 23939ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_DMA_ADDR_LO_OFST 8 23949ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_DMA_ADDR_HI_OFST 12 23959ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_CMD_OFST 16 23969ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_CMD_LEN 4 23979ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_DMA_LBN 0 23989ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_DMA_WIDTH 1 23999ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_CLEAR_LBN 1 24009ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_CLEAR_WIDTH 1 24019ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_CHANGE_LBN 2 24029ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_CHANGE_WIDTH 1 24039ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_ENABLE_LBN 3 24049ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_ENABLE_WIDTH 1 24059ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_CLEAR_LBN 4 24069ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_CLEAR_WIDTH 1 24079ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_NOEVENT_LBN 5 24089ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_NOEVENT_WIDTH 1 24099ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_PERIOD_MS_LBN 16 24109ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_PERIOD_MS_WIDTH 16 24119ed106d0SAndrew Rybchenko /* Length of DMA data (optional) */ 24129ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_DMA_LEN_OFST 20 24139ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MAC_STATS_DMA_LEN_LEN 4 24149ed106d0SAndrew Rybchenko 24159ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO msgrequest */ 24169ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_LEN 12 24179ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 24189ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 24199ed106d0SAndrew Rybchenko /* AOE port */ 24209ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_PORT_OFST 4 24219ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_PORT_LEN 4 24229ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_PAGE_OFST 8 24239ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_PAGE_LEN 4 24249ed106d0SAndrew Rybchenko 24259ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_JTAG_WRITE msgrequest */ 24269ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_JTAG_WRITE_LENMIN 12 24279ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_JTAG_WRITE_LENMAX 252 24289ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_JTAG_WRITE_LEN(num) (8+4*(num)) 24299ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 24309ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 24319ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_JTAG_WRITE_DATALEN_OFST 4 24329ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_JTAG_WRITE_DATALEN_LEN 4 24339ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_JTAG_WRITE_DATA_OFST 8 24349ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_JTAG_WRITE_DATA_LEN 4 24359ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_JTAG_WRITE_DATA_MINNUM 1 24369ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_JTAG_WRITE_DATA_MAXNUM 61 24379ed106d0SAndrew Rybchenko 24389ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_FPGA_ACCESS msgrequest */ 24399ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FPGA_ACCESS_LEN 8 24409ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 24419ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 24429ed106d0SAndrew Rybchenko /* Enable or disable access */ 24439ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FPGA_ACCESS_OP_OFST 4 24449ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FPGA_ACCESS_OP_LEN 4 24459ed106d0SAndrew Rybchenko /* enum: Enable access */ 24469ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FPGA_ACCESS_ENABLE 0x1 24479ed106d0SAndrew Rybchenko /* enum: Disable access */ 24489ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FPGA_ACCESS_DISABLE 0x2 24499ed106d0SAndrew Rybchenko 24509ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_SET_MTU_OFFSET msgrequest */ 24519ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_SET_MTU_OFFSET_LEN 12 24529ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 24539ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 24549ed106d0SAndrew Rybchenko /* AOE port - when not ALL_EXTERNAL or ALL_INTERNAL specifies port number */ 24559ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_SET_MTU_OFFSET_PORT_OFST 4 24569ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_SET_MTU_OFFSET_PORT_LEN 4 24579ed106d0SAndrew Rybchenko /* enum: Apply to all external ports */ 24589ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_SET_MTU_OFFSET_ALL_EXTERNAL 0x8000 24599ed106d0SAndrew Rybchenko /* enum: Apply to all internal ports */ 24609ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_SET_MTU_OFFSET_ALL_INTERNAL 0x4000 24619ed106d0SAndrew Rybchenko /* The MTU offset to be applied to the external ports */ 24629ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_SET_MTU_OFFSET_OFFSET_OFST 8 24639ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_SET_MTU_OFFSET_OFFSET_LEN 4 24649ed106d0SAndrew Rybchenko 24659ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_LINK_STATE msgrequest */ 24669ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_LEN 8 24679ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 24689ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 24699ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_MODE_OFST 4 24709ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_MODE_LEN 4 24719ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_CONFIG_MODE_LBN 0 24729ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_CONFIG_MODE_WIDTH 8 24739ed106d0SAndrew Rybchenko /* enum: AOE and associated external port */ 24749ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_SIMPLE_SEPARATE 0x0 24759ed106d0SAndrew Rybchenko /* enum: AOE and OR of all external ports */ 24769ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_SIMPLE_COMBINED 0x1 24779ed106d0SAndrew Rybchenko /* enum: Individual ports */ 24789ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_DIAGNOSTIC 0x2 24799ed106d0SAndrew Rybchenko /* enum: Configure link state mode on given AOE port */ 24809ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_CUSTOM 0x3 24819ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_OPERATION_LBN 8 24829ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_OPERATION_WIDTH 8 24839ed106d0SAndrew Rybchenko /* enum: No-op */ 24849ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_OP_NONE 0x0 24859ed106d0SAndrew Rybchenko /* enum: logical OR of all SFP ports link status */ 24869ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_OP_OR 0x1 24879ed106d0SAndrew Rybchenko /* enum: logical AND of all SFP ports link status */ 24889ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_OP_AND 0x2 24899ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_SFP_MASK_LBN 16 24909ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_LINK_STATE_SFP_MASK_WIDTH 16 24919ed106d0SAndrew Rybchenko 24929ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_GET_ASIC_PORTS msgrequest */ 24939ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_GET_ASIC_PORTS_LEN 4 24949ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 24959ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 24969ed106d0SAndrew Rybchenko 24979ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_GET_FC_ASSERT_INFO msgrequest */ 24989ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_GET_FC_ASSERT_INFO_LEN 4 24999ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 25009ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 25019ed106d0SAndrew Rybchenko 25029ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_SIENA_STATS msgrequest */ 25039ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_SIENA_STATS_LEN 8 25049ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 25059ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 25069ed106d0SAndrew Rybchenko /* How MAC statistics are reported */ 25079ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_SIENA_STATS_MODE_OFST 4 25089ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_SIENA_STATS_MODE_LEN 4 25099ed106d0SAndrew Rybchenko /* enum: Statistics from Siena (default) */ 25109ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_SIENA_STATS_STATS_SIENA 0x0 25119ed106d0SAndrew Rybchenko /* enum: Statistics from AOE external ports */ 25129ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_SIENA_STATS_STATS_AOE 0x1 25139ed106d0SAndrew Rybchenko 25149ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_ASIC_STATS msgrequest */ 25159ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_ASIC_STATS_LEN 8 25169ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 25179ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 25189ed106d0SAndrew Rybchenko /* How MAC statistics are reported */ 25199ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_ASIC_STATS_MODE_OFST 4 25209ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_ASIC_STATS_MODE_LEN 4 25219ed106d0SAndrew Rybchenko /* enum: Statistics from the ASIC (default) */ 25229ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_ASIC_STATS_STATS_ASIC 0x0 25239ed106d0SAndrew Rybchenko /* enum: Statistics from AOE external ports */ 25249ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_ASIC_STATS_STATS_AOE 0x1 25259ed106d0SAndrew Rybchenko 25269ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_DDR msgrequest */ 25279ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_DDR_LEN 12 25289ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 25299ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 25309ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_DDR_BANK_OFST 4 25319ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_DDR_BANK_LEN 4 25329ed106d0SAndrew Rybchenko /* Enum values, see field(s): */ 25339ed106d0SAndrew Rybchenko /* MC_CMD_FC/MC_CMD_FC_IN_DDR/MC_CMD_FC_IN_DDR_BANK */ 25349ed106d0SAndrew Rybchenko /* Page index of SPD data */ 25359ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_DDR_SPD_PAGE_ID_OFST 8 25369ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_DDR_SPD_PAGE_ID_LEN 4 25379ed106d0SAndrew Rybchenko 25389ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_FC msgrequest */ 25399ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FC_LEN 4 25409ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 25419ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 25429ed106d0SAndrew Rybchenko 25439ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_DDR_ECC_STATUS msgrequest */ 25449ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_DDR_ECC_STATUS_LEN 8 25459ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 25469ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 25479ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_DDR_ECC_STATUS_BANK_OFST 4 25489ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_DDR_ECC_STATUS_BANK_LEN 4 25499ed106d0SAndrew Rybchenko /* Enum values, see field(s): */ 25509ed106d0SAndrew Rybchenko /* MC_CMD_FC/MC_CMD_FC_IN_DDR/MC_CMD_FC_IN_DDR_BANK */ 25519ed106d0SAndrew Rybchenko 25529ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_MC_SPI_MASTER msgrequest */ 25539ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_LEN 8 25549ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 25559ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 25569ed106d0SAndrew Rybchenko /* Basic commands for MC SPI Master emulation. */ 25579ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_OP_OFST 4 25589ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_OP_LEN 4 25599ed106d0SAndrew Rybchenko /* enum: MC SPI read */ 25609ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_READ 0x0 25619ed106d0SAndrew Rybchenko /* enum: MC SPI write */ 25629ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE 0x1 25639ed106d0SAndrew Rybchenko 25649ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_MC_SPI_MASTER_READ msgrequest */ 25659ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_LEN 12 25669ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 25679ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 25689ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_OP_OFST 4 25699ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_OP_LEN 4 25709ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_OFFSET_OFST 8 25719ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_OFFSET_LEN 4 25729ed106d0SAndrew Rybchenko 25739ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE msgrequest */ 25749ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_LEN 16 25759ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 25769ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 25779ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_OP_OFST 4 25789ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_OP_LEN 4 25799ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_OFFSET_OFST 8 25809ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_OFFSET_LEN 4 25819ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_DATA_OFST 12 25829ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_DATA_LEN 4 25839ed106d0SAndrew Rybchenko 25849ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_FC_BOOT msgrequest */ 25859ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FC_BOOT_LEN 8 25869ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_OFST 0 */ 25879ed106d0SAndrew Rybchenko /* MC_CMD_AOE_IN_CMD_LEN 4 */ 25889ed106d0SAndrew Rybchenko /* FC boot control flags */ 25899ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FC_BOOT_CONTROL_OFST 4 25909ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FC_BOOT_CONTROL_LEN 4 25919ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FC_BOOT_CONTROL_BOOT_ENABLE_LBN 0 25929ed106d0SAndrew Rybchenko #define MC_CMD_AOE_IN_FC_BOOT_CONTROL_BOOT_ENABLE_WIDTH 1 25939ed106d0SAndrew Rybchenko 25949ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO msgresponse */ 25959ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_LEN 144 25969ed106d0SAndrew Rybchenko /* Assertion status flag. */ 25979ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_GLOBAL_FLAGS_OFST 0 25989ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_GLOBAL_FLAGS_LEN 4 25999ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_STATE_LBN 8 26009ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_STATE_WIDTH 8 26019ed106d0SAndrew Rybchenko /* enum: No crash data available */ 26029ed106d0SAndrew Rybchenko /* MC_CMD_FC_GET_ASSERT_FLAGS_STATE_CLEAR 0x0 */ 26039ed106d0SAndrew Rybchenko /* enum: New crash data available */ 26049ed106d0SAndrew Rybchenko /* MC_CMD_FC_GET_ASSERT_FLAGS_STATE_NEW 0x1 */ 26059ed106d0SAndrew Rybchenko /* enum: Crash data has been sent */ 26069ed106d0SAndrew Rybchenko /* MC_CMD_FC_GET_ASSERT_FLAGS_STATE_NOTIFIED 0x2 */ 26079ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_TYPE_LBN 0 26089ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_TYPE_WIDTH 8 26099ed106d0SAndrew Rybchenko /* enum: No crash has been recorded. */ 26109ed106d0SAndrew Rybchenko /* MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_NONE 0x0 */ 26119ed106d0SAndrew Rybchenko /* enum: Crash due to exception. */ 26129ed106d0SAndrew Rybchenko /* MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_EXCEPTION 0x1 */ 26139ed106d0SAndrew Rybchenko /* enum: Crash due to assertion. */ 26149ed106d0SAndrew Rybchenko /* MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_ASSERTION 0x2 */ 26159ed106d0SAndrew Rybchenko /* Failing PC value */ 26169ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_SAVED_PC_OFFS_OFST 4 26179ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_SAVED_PC_OFFS_LEN 4 26189ed106d0SAndrew Rybchenko /* Saved GP regs */ 26199ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_GP_REGS_OFFS_OFST 8 26209ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_GP_REGS_OFFS_LEN 4 26219ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_GP_REGS_OFFS_NUM 31 26229ed106d0SAndrew Rybchenko /* Exception Type */ 26239ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_EXCEPTION_TYPE_OFFS_OFST 132 26249ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_EXCEPTION_TYPE_OFFS_LEN 4 26259ed106d0SAndrew Rybchenko /* Instruction at which exception occurred */ 26269ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_EXCEPTION_PC_ADDR_OFFS_OFST 136 26279ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_EXCEPTION_PC_ADDR_OFFS_LEN 4 26289ed106d0SAndrew Rybchenko /* BAD Address that triggered address-based exception */ 26299ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_EXCEPTION_BAD_ADDR_OFFS_OFST 140 26309ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_FC_ASSERT_INFO_EXCEPTION_BAD_ADDR_OFFS_LEN 4 26319ed106d0SAndrew Rybchenko 26329ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_INFO msgresponse */ 26339ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_LEN 44 26349ed106d0SAndrew Rybchenko /* JTAG IDCODE of CPLD */ 26359ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_CPLD_IDCODE_OFST 0 26369ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_CPLD_IDCODE_LEN 4 26379ed106d0SAndrew Rybchenko /* Version of CPLD */ 26389ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_CPLD_VERSION_OFST 4 26399ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_CPLD_VERSION_LEN 4 26409ed106d0SAndrew Rybchenko /* JTAG IDCODE of FPGA */ 26419ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_IDCODE_OFST 8 26429ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_IDCODE_LEN 4 26439ed106d0SAndrew Rybchenko /* JTAG USERCODE of FPGA */ 26449ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_VERSION_OFST 12 26459ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_VERSION_LEN 4 26469ed106d0SAndrew Rybchenko /* FPGA type - read from CPLD straps */ 26479ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_OFST 16 26489ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_LEN 4 26499ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_A5_C2 0x1 /* enum */ 26509ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_A7_C2 0x2 /* enum */ 26519ed106d0SAndrew Rybchenko /* FPGA state (debug) */ 26529ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_STATE_OFST 20 26539ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_STATE_LEN 4 26549ed106d0SAndrew Rybchenko /* FPGA image - partition from which loaded */ 26559ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_IMAGE_OFST 24 26569ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_IMAGE_LEN 4 26579ed106d0SAndrew Rybchenko /* FC state */ 26589ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_STATE_OFST 28 26599ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_STATE_LEN 4 26609ed106d0SAndrew Rybchenko /* enum: Set if watchdog working */ 26619ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_WATCHDOG 0x1 26629ed106d0SAndrew Rybchenko /* enum: Set if MC-FC communications working */ 26639ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_COMMS 0x2 26649ed106d0SAndrew Rybchenko /* Random pieces of information */ 26659ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FLAGS_OFST 32 26669ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FLAGS_LEN 4 26679ed106d0SAndrew Rybchenko /* enum: Power to FPGA supplied by PEG connector, not PCIe bus */ 26689ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_PEG_POWER 0x1 26699ed106d0SAndrew Rybchenko /* enum: CPLD apparently good */ 26709ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_CPLD_GOOD 0x2 26719ed106d0SAndrew Rybchenko /* enum: FPGA working normally */ 26729ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_GOOD 0x4 26739ed106d0SAndrew Rybchenko /* enum: FPGA is powered */ 26749ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_POWER 0x8 26759ed106d0SAndrew Rybchenko /* enum: Board has incompatible SODIMMs fitted */ 26769ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_BAD_SODIMM 0x10 26779ed106d0SAndrew Rybchenko /* enum: Board has ByteBlaster connected */ 26789ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_HAS_BYTEBLASTER 0x20 26799ed106d0SAndrew Rybchenko /* enum: FPGA Boot flash has an invalid header. */ 26809ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_BAD_BOOT_HDR 0x40 26819ed106d0SAndrew Rybchenko /* enum: FPGA Application flash is accessible. */ 26829ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FPGA_APP_FLASH_GOOD 0x80 26839ed106d0SAndrew Rybchenko /* Revision of Modena and Sorrento boards. Sorrento can be R1_2 or R1_3. */ 26849ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_BOARD_REVISION_OFST 36 26859ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_BOARD_REVISION_LEN 4 26869ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_UNKNOWN 0x0 /* enum */ 26879ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_R1_0 0x10 /* enum */ 26889ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_R1_1 0x11 /* enum */ 26899ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_R1_2 0x12 /* enum */ 26909ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_R1_3 0x13 /* enum */ 26919ed106d0SAndrew Rybchenko /* Result of FC booting - not valid while a ByteBlaster is connected. */ 26929ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_BOOT_RESULT_OFST 40 26939ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_BOOT_RESULT_LEN 4 26949ed106d0SAndrew Rybchenko /* enum: No error */ 26959ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_NO_ERROR 0x0 26969ed106d0SAndrew Rybchenko /* enum: Bad address set in CPLD */ 26979ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_ADDRESS 0x1 26989ed106d0SAndrew Rybchenko /* enum: Bad header */ 26999ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_MAGIC 0x2 27009ed106d0SAndrew Rybchenko /* enum: Bad text section details */ 27019ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_TEXT 0x3 27029ed106d0SAndrew Rybchenko /* enum: Bad checksum */ 27039ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_CHECKSUM 0x4 27049ed106d0SAndrew Rybchenko /* enum: Bad BSP */ 27059ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_BSP 0x5 27069ed106d0SAndrew Rybchenko /* enum: Flash mode is invalid */ 27079ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_INVALID_FLASH_MODE 0x6 27089ed106d0SAndrew Rybchenko /* enum: FC application loaded and execution attempted */ 27099ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_BOOT_APP_EXECUTE 0x80 27109ed106d0SAndrew Rybchenko /* enum: FC application Started */ 27119ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_BOOT_APP_STARTED 0x81 27129ed106d0SAndrew Rybchenko /* enum: No bootrom in FPGA */ 27139ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_INFO_FC_BOOT_NO_BOOTROM 0xff 27149ed106d0SAndrew Rybchenko 27159ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_CURRENTS msgresponse */ 27169ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_LEN 68 27179ed106d0SAndrew Rybchenko /* Set of currents and voltages (mA or mV as appropriate) */ 27189ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_VALUES_OFST 0 27199ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_VALUES_LEN 4 27209ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_VALUES_NUM 17 27219ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_I_2V5 0x0 /* enum */ 27229ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_I_1V8 0x1 /* enum */ 27239ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_I_GXB 0x2 /* enum */ 27249ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_I_PGM 0x3 /* enum */ 27259ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_I_XCVR 0x4 /* enum */ 27269ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_I_1V5 0x5 /* enum */ 27279ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_V_3V3 0x6 /* enum */ 27289ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_V_1V5 0x7 /* enum */ 27299ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_I_IN 0x8 /* enum */ 27309ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_I_OUT 0x9 /* enum */ 27319ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_V_IN 0xa /* enum */ 27329ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_I_OUT_DDR1 0xb /* enum */ 27339ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_V_OUT_DDR1 0xc /* enum */ 27349ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_I_OUT_DDR2 0xd /* enum */ 27359ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_V_OUT_DDR2 0xe /* enum */ 27369ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_I_OUT_DDR3 0xf /* enum */ 27379ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CURRENTS_V_OUT_DDR3 0x10 /* enum */ 27389ed106d0SAndrew Rybchenko 27399ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_TEMPERATURES msgresponse */ 27409ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_LEN 40 27419ed106d0SAndrew Rybchenko /* Set of temperatures */ 27429ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_VALUES_OFST 0 27439ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_VALUES_LEN 4 27449ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_VALUES_NUM 10 27459ed106d0SAndrew Rybchenko /* enum: The first set of enum values are for Modena code. */ 27469ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_MAIN_0 0x0 27479ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_MAIN_1 0x1 /* enum */ 27489ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_IND_0 0x2 /* enum */ 27499ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_IND_1 0x3 /* enum */ 27509ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_VCCIO1 0x4 /* enum */ 27519ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_VCCIO2 0x5 /* enum */ 27529ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_VCCIO3 0x6 /* enum */ 27539ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_PSU 0x7 /* enum */ 27549ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_FPGA 0x8 /* enum */ 27559ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_SIENA 0x9 /* enum */ 27569ed106d0SAndrew Rybchenko /* enum: The second set of enum values are for Sorrento code. */ 27579ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_MAIN_0 0x0 27589ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_MAIN_1 0x1 /* enum */ 27599ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_IND_0 0x2 /* enum */ 27609ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_IND_1 0x3 /* enum */ 27619ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_SODIMM_0 0x4 /* enum */ 27629ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_SODIMM_1 0x5 /* enum */ 27639ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_FPGA 0x6 /* enum */ 27649ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_PHY0 0x7 /* enum */ 27659ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_PHY1 0x8 /* enum */ 27669ed106d0SAndrew Rybchenko 27679ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_CPLD_READ msgresponse */ 27689ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CPLD_READ_LEN 4 27699ed106d0SAndrew Rybchenko /* The value read from the CPLD */ 27709ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CPLD_READ_VALUE_OFST 0 27719ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CPLD_READ_VALUE_LEN 4 27729ed106d0SAndrew Rybchenko 27739ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_FAN_FAILURES msgresponse */ 27749ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_FAN_FAILURES_LENMIN 4 27759ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_FAN_FAILURES_LENMAX 252 27769ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_FAN_FAILURES_LEN(num) (0+4*(num)) 27779ed106d0SAndrew Rybchenko /* Failure counts for each fan */ 27789ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_FAN_FAILURES_COUNT_OFST 0 27799ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_FAN_FAILURES_COUNT_LEN 4 27809ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_FAN_FAILURES_COUNT_MINNUM 1 27819ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_FAN_FAILURES_COUNT_MAXNUM 63 27829ed106d0SAndrew Rybchenko 27839ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_CPLD_REPROGRAM msgresponse */ 27849ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CPLD_REPROGRAM_LEN 4 27859ed106d0SAndrew Rybchenko /* Results of status command (only) */ 27869ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CPLD_REPROGRAM_STATUS_OFST 0 27879ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_CPLD_REPROGRAM_STATUS_LEN 4 27889ed106d0SAndrew Rybchenko 27899ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_POWER_OFF msgresponse */ 27909ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_POWER_OFF_LEN 0 27919ed106d0SAndrew Rybchenko 27929ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_POWER_ON msgresponse */ 27939ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_POWER_ON_LEN 0 27949ed106d0SAndrew Rybchenko 27959ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_LOAD msgresponse */ 27969ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_LOAD_LEN 0 27979ed106d0SAndrew Rybchenko 27989ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_MAC_STATS_DMA msgresponse */ 27999ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_MAC_STATS_DMA_LEN 0 28009ed106d0SAndrew Rybchenko 28019ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_MAC_STATS_NO_DMA msgresponse: See MC_CMD_MAC_STATS_OUT_NO_DMA 28029ed106d0SAndrew Rybchenko * for details 28039ed106d0SAndrew Rybchenko */ 28049ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_LEN (((MC_CMD_MAC_NSTATS*64))>>3) 28059ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_OFST 0 28069ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_LEN 8 28079ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_LO_OFST 0 28089ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_HI_OFST 4 28099ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_NUM MC_CMD_MAC_NSTATS 28109ed106d0SAndrew Rybchenko 28119ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO msgresponse */ 28129ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_LENMIN 5 28139ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_LENMAX 252 28149ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_LEN(num) (4+1*(num)) 28159ed106d0SAndrew Rybchenko /* in bytes */ 28169ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATALEN_OFST 0 28179ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATALEN_LEN 4 28189ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATA_OFST 4 28199ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATA_LEN 1 28209ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATA_MINNUM 1 28219ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATA_MAXNUM 248 28229ed106d0SAndrew Rybchenko 28239ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_JTAG_WRITE msgresponse */ 28249ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_JTAG_WRITE_LENMIN 12 28259ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_JTAG_WRITE_LENMAX 252 28269ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_JTAG_WRITE_LEN(num) (8+4*(num)) 28279ed106d0SAndrew Rybchenko /* Used to align the in and out data blocks so the MC can re-use the cmd */ 28289ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_JTAG_WRITE_DATALEN_OFST 0 28299ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_JTAG_WRITE_DATALEN_LEN 4 28309ed106d0SAndrew Rybchenko /* out bytes */ 28319ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_JTAG_WRITE_PAD_OFST 4 28329ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_JTAG_WRITE_PAD_LEN 4 28339ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_JTAG_WRITE_DATA_OFST 8 28349ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_JTAG_WRITE_DATA_LEN 4 28359ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_JTAG_WRITE_DATA_MINNUM 1 28369ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_JTAG_WRITE_DATA_MAXNUM 61 28379ed106d0SAndrew Rybchenko 28389ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_FPGA_ACCESS msgresponse */ 28399ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_FPGA_ACCESS_LEN 0 28409ed106d0SAndrew Rybchenko 28419ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_DDR msgresponse */ 28429ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_LENMIN 17 28439ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_LENMAX 252 28449ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_LEN(num) (16+1*(num)) 28459ed106d0SAndrew Rybchenko /* Information on the module. */ 28469ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_FLAGS_OFST 0 28479ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_FLAGS_LEN 4 28489ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_PRESENT_LBN 0 28499ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_PRESENT_WIDTH 1 28509ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_POWERED_LBN 1 28519ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_POWERED_WIDTH 1 28529ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_OPERATIONAL_LBN 2 28539ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_OPERATIONAL_WIDTH 1 28549ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_NOT_REACHABLE_LBN 3 28559ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_NOT_REACHABLE_WIDTH 1 28569ed106d0SAndrew Rybchenko /* Memory size, in MB. */ 28579ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_CAPACITY_OFST 4 28589ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_CAPACITY_LEN 4 28599ed106d0SAndrew Rybchenko /* The memory type, as reported from SPD information */ 28609ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_TYPE_OFST 8 28619ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_TYPE_LEN 4 28629ed106d0SAndrew Rybchenko /* Nominal voltage of the module (as applied) */ 28639ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_VOLTAGE_OFST 12 28649ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_VOLTAGE_LEN 4 28659ed106d0SAndrew Rybchenko /* SPD data read from the module */ 28669ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_SPD_OFST 16 28679ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_SPD_LEN 1 28689ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_SPD_MINNUM 1 28699ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_SPD_MAXNUM 236 28709ed106d0SAndrew Rybchenko 28719ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_SET_MTU_OFFSET msgresponse */ 28729ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_SET_MTU_OFFSET_LEN 0 28739ed106d0SAndrew Rybchenko 28749ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_LINK_STATE msgresponse */ 28759ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_LINK_STATE_LEN 0 28769ed106d0SAndrew Rybchenko 28779ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_SIENA_STATS msgresponse */ 28789ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_SIENA_STATS_LEN 0 28799ed106d0SAndrew Rybchenko 28809ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_ASIC_STATS msgresponse */ 28819ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_ASIC_STATS_LEN 0 28829ed106d0SAndrew Rybchenko 28839ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_FC msgresponse */ 28849ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_FC_LEN 0 28859ed106d0SAndrew Rybchenko 28869ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_GET_ASIC_PORTS msgresponse */ 28879ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_ASIC_PORTS_LEN 4 28889ed106d0SAndrew Rybchenko /* get the number of internal ports */ 28899ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_ASIC_PORTS_COUNT_PORTS_OFST 0 28909ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_GET_ASIC_PORTS_COUNT_PORTS_LEN 4 28919ed106d0SAndrew Rybchenko 28929ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_DDR_ECC_STATUS msgresponse */ 28939ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_LEN 8 28949ed106d0SAndrew Rybchenko /* Flags describing status info on the module. */ 28959ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_FLAGS_OFST 0 28969ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_FLAGS_LEN 4 28979ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_VALID_LBN 0 28989ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_VALID_WIDTH 1 28999ed106d0SAndrew Rybchenko /* DDR ECC status on the module. */ 29009ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_STATUS_OFST 4 29019ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_STATUS_LEN 4 29029ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_SBE_LBN 0 29039ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_SBE_WIDTH 1 29049ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_DBE_LBN 1 29059ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_DBE_WIDTH 1 29069ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_CORDROP_LBN 2 29079ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_CORDROP_WIDTH 1 29089ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_SBE_COUNT_LBN 8 29099ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_SBE_COUNT_WIDTH 8 29109ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_DBE_COUNT_LBN 16 29119ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_DBE_COUNT_WIDTH 8 29129ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_CORDROP_COUNT_LBN 24 29139ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_DDR_ECC_STATUS_CORDROP_COUNT_WIDTH 8 29149ed106d0SAndrew Rybchenko 29159ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_MC_SPI_MASTER_READ msgresponse */ 29169ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_MC_SPI_MASTER_READ_LEN 4 29179ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_MC_SPI_MASTER_READ_DATA_OFST 0 29189ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_MC_SPI_MASTER_READ_DATA_LEN 4 29199ed106d0SAndrew Rybchenko 29209ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_MC_SPI_MASTER_WRITE msgresponse */ 29219ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_MC_SPI_MASTER_WRITE_LEN 0 29229ed106d0SAndrew Rybchenko 29239ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_MC_SPI_MASTER msgresponse */ 29249ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_MC_SPI_MASTER_LEN 0 29259ed106d0SAndrew Rybchenko 29269ed106d0SAndrew Rybchenko /* MC_CMD_AOE_OUT_FC_BOOT msgresponse */ 29279ed106d0SAndrew Rybchenko #define MC_CMD_AOE_OUT_FC_BOOT_LEN 0 29289ed106d0SAndrew Rybchenko 29299ed106d0SAndrew Rybchenko #endif /* _SYS_EFX_REGS_MCDI_AOE_H */ 2930