49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Copyright 2008-2013 Solarflare Communications Inc. All rights reserved.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Redistribution and use in source and binary forms, with or without
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * modification, are permitted provided that the following conditions
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 1. Redistributions of source code must retain the above copyright
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * notice, this list of conditions and the following disclaimer.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 2. Redistributions in binary form must reproduce the above copyright
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * notice, this list of conditions and the following disclaimer in the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * documentation and/or other materials provided with the distribution.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS AND
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * SUCH DAMAGE.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/*! \cidoxg_firmware_mc_cmd */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Values to be written into FMCR_CZ_RESET_STATE_REG to control boot. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Power-on reset state */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* If this is set in MC_RESET_STATE_REG then it should be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * possible to jump into IMEM without loading code from flash. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The MC main image has started to boot. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The Scheduler has started. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* If this is set in MC_RESET_STATE_REG then it should be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * possible to jump into IMEM without loading code from flash.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Unlike a warm boot, assume DMEM has been reloaded, so that
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the MC persistent data must be reinitialised. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* We have entered the main firmware via recovery mode. This
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * means that MC persistent data must be reinitialised, but that
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * we shouldn't touch PCIe config. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_FW_RECOVERY_MODE_PCIE_INIT_OK (32)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* BIST state has been initialized */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Siena MC shared memmory offsets */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The 'doorbell' addresses are hard-wired to alert the MC when written */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The rest of these are firmware-defined */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Values to be written to the per-port status dword in shared
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * memory on reboot and assert */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Check whether an mcfw version (in host order) belongs to a bootloader */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_FW_VERSION_IS_BOOTLOADER(_v) (((_v) >> 16) == 0xb007)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The current version of the MCDI protocol.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Note that the ROM burnt into the card only talks V0, so at the very
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * least every driver must support version 0 and MCDI_PCOL_VERSION
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Unused commands: 0x23, 0x27, 0x30, 0x31 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MCDI version 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Each MCDI request starts with an MCDI_HEADER, which is a 32bit
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * structure, filled in by the client.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 0 7 8 16 20 22 23 24 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * | CODE | R | LEN | SEQ | Rsvd | E | R | XFLAGS |
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * | | \--- Response
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * | \------- Error
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * \------------------------------ Resync (always set)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * The client writes it's request into MC shared memory, and rings the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * doorbell. Each request is completed by either by the MC writting
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * back into shared memory, or by writting out an event.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * All MCDI commands support completion by shared memory response. Each
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * request may also contain additional data (accounted for by HEADER.LEN),
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * and some response's may also contain additional data (again, accounted
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * for by HEADER.LEN).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Some MCDI commands support completion by event, in which any associated
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * response data is included in the event.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * The protocol requires one response to be delivered for every request, a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * request should not be sent unless the response for the previous request
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * has been received (either by polling shared memory, or by receiving
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/** Request/Response structure */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Request response using event */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Maximum number of payload bytes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_CTL_SDU_LEN_MAX MCDI_CTL_SDU_LEN_MAX_V2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_CTL_SDU_LEN_MAX MCDI_CTL_SDU_LEN_MAX_V1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The MC can generate events for two reasons:
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * - To complete a shared memory request if XFLAGS_EVREQ was set
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * - As a notification (link state, i2c event), controlled
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * via MC_CMD_LOG_CTRL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Both events share a common structure:
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 0 32 33 36 44 52 60
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * | Data | Cont | Level | Src | Code | Rsvd |
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * \ There is another event pending in this notification
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * If Code==CMDDONE, then the fields are further interpreted as:
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * - LEVEL==INFO Command succeeded
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * - LEVEL==ERR Command failed
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 0 8 16 24 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * | Seq | Datalen | Errno | Rsvd |
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * These fields are taken directly out of the standard MCDI header, i.e.,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * LEVEL==ERR, Datalen == 0 => Reboot
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Events can be squirted out of the UART (using LOG_CTRL) without a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MCDI header. An event can be distinguished from a MCDI response by
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * examining the first byte which is 0xc0. This corresponds to the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * non-existent MCDI command MC_CMD_DEBUG_LOG.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * | command | Resync | = 0xc0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Since the event is written in big-endian byte order, this works
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * providing bits 56-63 of the event are 0xc0.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * | Rsvd | Code | = 0xc0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Which means for convenience the event code is 0xc for all MC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * generated events.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Operation not permitted. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Non-existent command target */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* assert() has killed the MC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* I/O failure */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Already exists */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Try again */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Out of memory */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Caller does not hold required locks */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Resource is currently unavailable (e.g. lock contention) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* No such device */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Invalid argument to target */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Broken pipe */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Read-only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Out of range */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Non-recursive resource is already acquired */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Operation not implemented */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Operation timed out */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Link has been severed */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Protocol error */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Operation not supported */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Address not available */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Not connected */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Operation already in progress */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Resource allocation failed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* V-adaptor not found. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* EVB port not found. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* V-switch not found. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Too many VLAN tags. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bad PCI function number. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Invalid VLAN mode. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Invalid v-switch type. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Invalid v-port type. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MAC address exists. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Slave core not present */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The datapath is disabled. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The requesting client is not a function */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The requested operation might require the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore command to be passed between MCs, and the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore transport doesn't support that. Should
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore only ever been seen over the UART. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VLAN tag(s) exists */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* No MAC address assigned to an EVB port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Notifies the driver that the request has been relayed
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * to an admin function for authorization. The driver should
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * wait for a PROXY_RESPONSE event and then resend its request.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * This error code is followed by a 32-bit handle that
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * helps matching it with the respective PROXY_RESPONSE event. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ERR_PROXY_PENDING_HANDLE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The request cannot be passed for authorization because
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * another request from the same function is currently being
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * authorized. The drvier should try again later. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Returned by MC_CMD_PROXY_COMPLETE if the caller is not the function
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * that has enabled proxying or BLOCK_INDEX points to a function that
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * doesn't await an authorization. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* This code is currently only used internally in FW. Its meaning is that
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * an operation failed due to lack of SR-IOV privilege.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Normally it is translated to EPERM by send_cmd_err(),
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * but it may also be used to trigger some special mechanism
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * for handling such case, e.g. to relay the failed request
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * to a designated admin function for authorization. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Workaround 26807 could not be turned on/off because some functions
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * have already installed filters. See the comment at
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_WORKAROUND_BUG26807. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The clock whose frequency you've attempted to set set
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * doesn't exist on this NIC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* We define 8 "escape" commands to allow
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore for command number space extension */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Vectors in the boot ROM */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Point to the copycode entry point. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define SIENA_MC_BOOTROM_COPYCODE_VEC (0x800 - 3 * 0x4)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define HUNT_MC_BOOTROM_COPYCODE_VEC (0x8000 - 3 * 0x4)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MEDFORD_MC_BOOTROM_COPYCODE_VEC (0x10000 - 3 * 0x4)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Points to the recovery mode entry point. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define SIENA_MC_BOOTROM_NOFLASH_VEC (0x800 - 2 * 0x4)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define HUNT_MC_BOOTROM_NOFLASH_VEC (0x8000 - 2 * 0x4)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MEDFORD_MC_BOOTROM_NOFLASH_VEC (0x10000 - 2 * 0x4)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The command set exported by the boot ROM (MCDI v0) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_V0_SUPPORTED_FUNCS { \
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_OUT_OFFSET_OFST(_x) \
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBI_WRITE_IN_ADDRESS_OFST(n) \
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBI_WRITE_IN_BYTE_MASK_OFST(n) \
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* This may be ORed with an EVB_PORT_ID_xxx constant to pass a non-default
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * stack ID (which must be in the range 1-255) along with an EVB port ID.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Version 2 adds an optional argument to error returns: the errno value
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * may be followed by the (0-based) number of the first argument that
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * could not be processed.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* No space */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MCDI_EVENT structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Info. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Warning. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Error. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Fatal. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_LINKCHANGE_LP_CAP_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 100Mbs */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 1Gbs */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 10Gbs */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 40Gbs */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_LINKCHANGE_LINK_FLAGS_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_LINKCHANGE_LINK_FLAGS_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SRAM Access. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_FWALERT_REASON_SRAM_ACCESS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Descriptor loader reported failure */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Descriptor ring empty and no EOP seen for packet */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Overlength packet */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Malformed option descriptor */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Option descriptor part way through a packet */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DMA or PIO data access error */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_TX_FLUSH_TO_DRIVER_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PLL lost lock */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Filter overflow (PDMA) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FIFO overflow (FPGA) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Merge queue overflow */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE failed to load - no valid image? */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE FC reported an exception */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE FC watchdogged */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE FC failed to start */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Generic AOE fault - likely to have been reported via other means too
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * but intended for use by aoex driver.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Results of reprogramming the CPLD (status in AOE_ERR_DATA) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE loaded successfully */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE DMA operation completed (LSB of HOST_HANDLE in AOE_ERR_DATA) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE byteblaster connected/disconnected (Connection status in
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * AOE_ERR_DATA)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DDR ECC status update */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP status update */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_RX_FLUSH_TO_DRIVER_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MUM failed to load - no valid image? */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MUM f/w reported an exception */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MUM not kicking watchdog */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Event generated by host software */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bad assert. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PM Notice. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Command done. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Link change. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Sensor Event. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Schedule error. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Reboot. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Mac stats DMA. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Firmware alert. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Function level reset. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Transmit error */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Tx flush has completed */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP packet received timestamp */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP NIC failure */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP PPS event */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Rx flush has completed */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Receive error */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE fault */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Network port calibration failed (VCAL). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: HW PPS event */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The MC has rebooted (huntington and later, siena uses CODE_REBOOT and
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * a different format)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: the MC has detected a parity error */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: the MC has detected a correctable error */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: the MC has detected an uncorrectable error */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The MC has entered offline BIST mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP tick event providing current NIC time */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MUM fault */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: notify the designated PF of a new authorization request */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: notify a function that awaits an authorization that its request has
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * been processed and it may now resend the command
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Artificial event generated by host and posted via MC for test
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_MAC_STATS_DMA_GENERATION_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_MAC_STATS_DMA_GENERATION_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_MAC_STATS_DMA_GENERATION_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* For CODE_PTP_RX, CODE_PTP_PPS and CODE_HW_PPS events the seconds field of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* For CODE_PTP_RX, CODE_PTP_PPS and CODE_HW_PPS events the major field of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* For CODE_PTP_RX, CODE_PTP_PPS and CODE_HW_PPS events the nanoseconds field
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of timestamp
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* For CODE_PTP_RX, CODE_PTP_PPS and CODE_HW_PPS events the minor field of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* For CODE_PTP_RX events, the lowest four bytes of sourceUUID from PTP packet
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_ECC_CORR_ERR_DATA_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_ECC_FATAL_ERR_DATA_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* For CODE_PTP_TIME events, the major value of the PTP clock */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* For CODE_PTP_TIME events, bits 19-26 of the minor value of the PTP clock */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PTP_TIME_MINOR_26_19_LBN 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PTP_TIME_MINOR_26_19_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* For CODE_PTP_TIME events where report sync status is enabled, indicates
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * whether the NIC clock has ever been set
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PTP_TIME_NIC_CLOCK_VALID_LBN 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PTP_TIME_NIC_CLOCK_VALID_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* For CODE_PTP_TIME events where report sync status is enabled, indicates
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * whether the NIC and System clocks are in sync
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PTP_TIME_HOST_NIC_IN_SYNC_LBN 37
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PTP_TIME_HOST_NIC_IN_SYNC_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* For CODE_PTP_TIME events where report sync status is enabled, bits 21-26 of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the minor value of the PTP clock
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PTP_TIME_MINOR_26_21_LBN 38
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PTP_TIME_MINOR_26_21_WIDTH 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PROXY_REQUEST_BUFF_INDEX_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PROXY_REQUEST_BUFF_INDEX_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PROXY_REQUEST_BUFF_INDEX_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PROXY_RESPONSE_HANDLE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PROXY_RESPONSE_HANDLE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MCDI_EVENT_PROXY_RESPONSE_HANDLE_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Zero means that the request has been completed or authorized, and the driver
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * should resend it. A non-zero value means that the authorization has been
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * denied, and gives the reason. Typically it will be EPERM.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FCDI_EVENT structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Info. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Warning. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Error. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Fatal. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The FC was rebooted. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bad assert. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DDR3 test result. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Link status. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: A timed read is ready to be serviced. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: One or more PPS IN events */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Tick event from PTP clock */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: ECC error counters */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Current status of PTP */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Port id config to map MC-FC port idx */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Boot result or error code */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_REBOOT_FC_FW 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_REBOOT_FC_BOOTLOADER 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_ASSERT_INSTR_ADDRESS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_ASSERT_INSTR_ADDRESS_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_ASSERT_INSTR_ADDRESS_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_DDR_TEST_RESULT_STATUS_CODE_LBN 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_DDR_TEST_RESULT_STATUS_CODE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_DDR_TEST_RESULT_RESULT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_DDR_TEST_RESULT_RESULT_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_DDR_TEST_RESULT_RESULT_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_PTP_UNDEFINED 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_PTP_SETUP_FAILED 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_PTP_OPERATIONAL 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_DDR_ECC_STATUS_BANK_ID_LBN 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_DDR_ECC_STATUS_BANK_ID_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_DDR_ECC_STATUS_STATUS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_DDR_ECC_STATUS_STATUS_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EVENT_DDR_ECC_STATUS_STATUS_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Index of MC port being referred to */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FC Port index that matches the MC port index in SRC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE/MC_CMD_AOE_OUT_INFO/FC_BOOT_RESULT */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FCDI_EXTENDED_EVENT_PPS structuredef: Extended FCDI event to send PPS events
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * to the MC. Note that this structure | is overlayed over a normal FCDI event
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * such that bits 32-63 containing | event code, level, source etc remain the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * same. In this case the data | field of the header is defined to be the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * number of timestamps
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_LEN(num) (8+8*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of timestamps following */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_COUNT_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Seconds field of a timestamp record */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_SECONDS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_SECONDS_LBN 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_SECONDS_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Nanoseconds field of a timestamp record */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_NANOSECONDS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_NANOSECONDS_LBN 96
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_NANOSECONDS_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Timestamp records comprising the event */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_LO_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_HI_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_MAXNUM 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_LBN 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_WIDTH 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM_EVENT structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Info. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Warning. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Error. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Fatal. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_INFO/MC_CMD_SENSOR_INFO_OUT/MASK */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The MUM was rebooted. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bad assert. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Sensor failure. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Link fault has been asserted, or has cleared. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_CODE_QSFP_LASI_INTERRUPT 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_COPPER_LEN_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_STATE_QSFP_MODULE_TECH_UNKNOWN 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_STATE_QSFP_MODULE_TECH_OPTICAL 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_STATE_QSFP_MODULE_TECH_COPPER_PASSIVE 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_STATE_QSFP_MODULE_TECH_COPPER_PASSIVE_EQUALIZED 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_STATE_QSFP_MODULE_TECH_COPPER_ACTIVE_LIMITING 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_STATE_QSFP_MODULE_TECH_COPPER_ACTIVE_LINEAR 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_STATE_QSFP_MODULE_TECH_BASE_T 0x6 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_STATE_QSFP_MODULE_TECH_LOOPBACK_PASSIVE 0x7 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_SRC_DATA_ID_LBN 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_SRC_DATA_ID_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_SRC_DATA_ID_FLAGS 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_SRC_DATA_ID_COPPER_LEN 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_SRC_DATA_ID_CAPS 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_SRC_DATA_ID_TECH 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_SRC_DATA_ID_MAX 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_SRC_PORT_NO_LBN 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MUM_EVENT_PORT_PHY_SRC_PORT_NO_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read multiple 32byte words from MC memory.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x1_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ32_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ32_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ32_OUT_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WRITE32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Write multiple 32byte words to MC memory.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x2_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WRITE32_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WRITE32_IN_LEN(num) (4+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WRITE32_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_COPYCODE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Copy MC code between two locations and jump.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x3_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_COPYCODE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Source address
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * The main image should be entered via a copy of a single word from and to a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * magic address, which controls various aspects of the boot. The magic address
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * is a bitfield, with each bit as documented below.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Deprecated; equivalent to setting BOOT_MAGIC_PRESENT (see below) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_HUNT_NO_MAGIC_ADDR 0x10000
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Deprecated; equivalent to setting BOOT_MAGIC_PRESENT and
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * BOOT_MAGIC_SATELLITE_CPUS_NOT_LOADED (see below)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_HUNT_NO_DATAPATH_MAGIC_ADDR 0x1d0d0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Deprecated; equivalent to setting BOOT_MAGIC_PRESENT,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * BOOT_MAGIC_SATELLITE_CPUS_NOT_LOADED and BOOT_MAGIC_IGNORE_CONFIG (see
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_HUNT_IGNORE_CONFIG_MAGIC_ADDR 0x1badc
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_IN_BOOT_MAGIC_PRESENT_LBN 17
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_IN_BOOT_MAGIC_PRESENT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_IN_BOOT_MAGIC_SATELLITE_CPUS_NOT_LOADED_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_IN_BOOT_MAGIC_SATELLITE_CPUS_NOT_LOADED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_IN_BOOT_MAGIC_IGNORE_CONFIG_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_IN_BOOT_MAGIC_IGNORE_CONFIG_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_IN_BOOT_MAGIC_SKIP_BOOT_ICORE_SYNC_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_IN_BOOT_MAGIC_SKIP_BOOT_ICORE_SYNC_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_IN_BOOT_MAGIC_FORCE_STANDALONE_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_COPYCODE_IN_BOOT_MAGIC_FORCE_STANDALONE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Destination address */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Address of where to jump after copy. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Control should return to the caller rather than jumping */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_COPYCODE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_FUNC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Select function for function-specific commands.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x4_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_FUNC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Set function */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_FUNC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_BOOT_STATUS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get the instruction address from which the MC booted.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x5_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_BOOT_STATUS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_BOOT_STATUS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOOT_STATUS_OUT_BOOT_OFFSET_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: indicates that the MC wasn't flash booted */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOOT_STATUS_OUT_BOOT_OFFSET_NULL 0xdeadbeef
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_WATCHDOG_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_WATCHDOG_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_PRIMARY_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_PRIMARY_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_BACKUP_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_BACKUP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_ASSERTS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get (and optionally clear) the current assertion status. Only
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * OUT.GLOBAL_FLAGS is guaranteed to exist in the completion payload. The other
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * fields will only be present if OUT.GLOBAL_FLAGS != NO_FAILS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x6_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_ASSERTS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Set to clear assertion */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_ASSERTS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Assertion status flag. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_OUT_GLOBAL_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: No assertions have failed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_FLAGS_NO_FAILS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: A system-level assertion has failed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_FLAGS_SYS_FAIL 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: A thread-level assertion has failed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_FLAGS_THR_FAIL 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The system was reset by the watchdog. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_FLAGS_WDOG_FIRED 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: An illegal address trap stopped the system (huntington and later) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_FLAGS_ADDR_TRAP 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Failing PC value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_OUT_SAVED_PC_OFFS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Saved GP regs */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_OUT_GP_REGS_OFFS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_OUT_GP_REGS_OFFS_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_OUT_GP_REGS_OFFS_NUM 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: A magic value hinting that the value in this register at the time of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the failure has likely been lost.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_REG_NO_DATA 0xda7a1057
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Failing thread address */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_OUT_THREAD_OFFS_OFST 132
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_ASSERTS_OUT_RESERVED_OFST 136
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LOG_CTRL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Configure the output stream for log events such as link state changes,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * sensor notifications and MCDI completions
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x7_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LOG_CTRL_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Log destination */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: UART. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Event queue. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Legacy argument. Must be zero. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LOG_CTRL_IN_LOG_DEST_EVQ_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LOG_CTRL_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VERSION
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get version information about the MC firmware.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x8_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VERSION_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VERSION_EXT_IN msgrequest: Asks for the extended version */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* placeholder, set to 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_EXT_IN_EXT_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VERSION_V0_OUT msgresponse: deprecated version format */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_OUT_FIRMWARE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Reserved version number to indicate "any" version. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_OUT_FIRMWARE_ANY 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bootrom version value for Siena. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_OUT_FIRMWARE_SIENA_BOOTROM 0xb0070000
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bootrom version value for Huntington. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_OUT_FIRMWARE_HUNT_BOOTROM 0xb0070001
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VERSION_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VERSION_OUT_FIRMWARE_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VERSION_V0_OUT/MC_CMD_GET_VERSION_OUT_FIRMWARE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 128bit mask of functions supported by the current firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_OUT_SUPPORTED_FUNCS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_OUT_SUPPORTED_FUNCS_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_OUT_VERSION_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_OUT_VERSION_LO_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_OUT_VERSION_HI_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VERSION_EXT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VERSION_OUT_FIRMWARE_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VERSION_V0_OUT/MC_CMD_GET_VERSION_OUT_FIRMWARE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_EXT_OUT_PCOL_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 128bit mask of functions supported by the current firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_EXT_OUT_SUPPORTED_FUNCS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_EXT_OUT_SUPPORTED_FUNCS_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_EXT_OUT_VERSION_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_EXT_OUT_VERSION_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_EXT_OUT_VERSION_LO_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_EXT_OUT_VERSION_HI_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* extra info */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_EXT_OUT_EXTRA_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VERSION_EXT_OUT_EXTRA_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Perform an FC operation
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: NULL MCDI command to FC. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Unused opcode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MAC driver commands */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read FC memory */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Write to FC memory */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read FC memory */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Write to FC memory */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FC firmware Version */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read FC memory */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Write to FC memory */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SFP parameters */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DDR3 test */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get Crash context from FC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get FPGA Build registers */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read map support commands */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FC Capabilities */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FC Global flags */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FC IO using relative addressing modes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FPGA link information */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Configure loopbacks and link on FPGA ports */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Licensing operations relating to AOE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Startup information to the FC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Configure a DMA read */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Configure a timed read */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Control UART logging */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get the value of a given clock_id */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DDR3/QDR3 parameters */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP and timestamp control */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Commands for SPI Flash interface */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Commands for diagnostic components */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: External AOE port. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Internal AOE port. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_NULL msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_PHY msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FC PHY driver operation code */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY init handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY reconfigure handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY reboot handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY get_supported_cap handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_PHY_OP_GET_SUPPORTED_CAP 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY get_config handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY get_media_info handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_PHY_OP_GET_MEDIA_INFO 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY set_led handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY lasi_interrupt handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_PHY_OP_LASI_INTERRUPT 0x8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY check_link handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY fill_stats handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY bpx_link_state_changed handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_PHY_OP_BPX_LINK_STATE_CHANGED 0xb
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY get_state handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY start_bist handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY poll_bist handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY nvram_test handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY relinquish handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_PHY_OP_RELINQUISH_SPI 0x10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY read connection from FC - may be not required */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_PHY_OP_GET_CONNECTION 0x11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PHY read flags from FC - may be not required */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_PHY_INIT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MAC reconfigure handler */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MAC Set command - same as MC_CMD_SET_MAC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MAC statistics */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MAC RX statistics */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MAC TX statistics */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MAC Read status */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: External FPGA port. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Internal Siena-facing FPGA ports. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Default FC command format; the fields PORT_TYPE and PORT_IDX are
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * irrelevant. Port number is derived from pci_fn; passed in FC header.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_MAC_CMD_FORMAT_DEFAULT 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Override default port number. Port number determined by fields
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PORT_TYPE and PORT_IDX.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_MAC_CMD_FORMAT_PORT_OVERRIDE 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC_RECONFIGURE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC_SET_LINK msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MTU size */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Drain Tx FIFO */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_SET_LINK_DRAIN_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_SET_LINK_ADDR_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_SET_LINK_ADDR_LO_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_SET_LINK_ADDR_HI_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_UNICAST_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_UNICAST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_BRDCAST_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_SET_LINK_REJECT_BRDCAST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_SET_LINK_FCNTL_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC_READ_STATUS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC_GET_RX_STATS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC_GET_TX_STATS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC_GET_STATS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_MAC_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC Statistics index */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_GET_STATS_STATS_INDEX_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_GET_STATS_FLAGS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_GET_STATS_CLEAR_ALL_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_GET_STATS_CLEAR_ALL_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_GET_STATS_CLEAR_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_GET_STATS_CLEAR_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_GET_STATS_UPDATE_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_GET_STATS_UPDATE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of statistics to read */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_MAC_GET_STATS_NUM_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_NSTATS_PER_BLOCK 0x1e /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_NBYTES_PER_STAT 0x8 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_READ32 msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_WRITE32 msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_WRITE32_LEN(num) (12+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_WRITE32_BUFFER_MAXNUM 60
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TRC_READ msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TRC_WRITE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TRC_WRITE_CHANNEL_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_GET_VERSION msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TRC_RX_READ msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TRC_RX_READ_CHANNEL_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TRC_RX_WRITE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TRC_RX_WRITE_CHANNEL_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TRC_RX_WRITE_DATA_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_SFP msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Link speed is 100, 1000, 10000, 40000 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of copper cable - zero when not relevant (e.g. if cable is fibre) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Not relevant for cards with QSFP modules. For older cards, true if module is
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * a dual speed SFP+ module.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* True if an SFP Module is present (other fields valid when true) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The type of the SFP+ Module. For later cards with QSFP modules, this field
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * is unused and the type is communicated by other means.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Capabilities corresponding to 1 bits. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_TEST msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DRAM Test Start */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DRAM Test Poll */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_TEST_START msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_TEST_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_TEST_START_MASK_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_TEST_START_T0_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_TEST_START_T1_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_TEST_START_B0_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_TEST_START_B1_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_TEST_POLL msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_TEST_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Clear previous test result and prepare for restarting DDR test */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_TEST_POLL_CLEAR_RESULT_FOR_DDR_TEST_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_GET_ASSERT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_FPGA_BUILD msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FPGA build info operation code */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get the build registers */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get the services registers */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get the BSP version */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_FPGA_BUILD_BSP_VERSION 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get build register for V2 (SFA974X) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: GEt the services register for V2 (SFA974X) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_FPGA_BUILD_SERVICES_V2 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_READ_MAP msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get the number of map regions */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get the specified map */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_READ_MAP_COUNT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_READ_MAP_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_READ_MAP_INDEX msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_READ_MAP_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CAPABILITIES msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_GLOBAL_FLAGS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_FLAGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_RX_TUNING_CABLE_PLUGGED_IN_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_RX_TUNING_CABLE_PLUGGED_IN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_RX_TUNING_LINK_MONITORING_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_RX_TUNING_LINK_MONITORING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_DFE_ENABLE_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_DFE_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_1D_EYE_ENABLE_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_1D_EYE_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_1D_TUNING_ENABLE_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_1D_TUNING_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_OFFCAL_ENABLE_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_GLOBAL_FLAGS_OFFCAL_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_IO_REL msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get the base address that the FC applies to relative commands */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Write data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_COMP_TYPE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Application address space */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_COMP_TYPE_APP_ADDR_SPACE 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Flash address space */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_IO_REL_GET_ADDR msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_IO_REL_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_IO_REL_READ32 msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_IO_REL_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_READ32_ADDR_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_READ32_ADDR_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_READ32_NUMWORDS_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_IO_REL_WRITE32 msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_WRITE32_LENMIN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_WRITE32_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_WRITE32_LEN(num) (16+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_IO_REL_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_WRITE32_ADDR_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_WRITE32_ADDR_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_WRITE32_BUFFER_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_WRITE32_BUFFER_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_WRITE32_BUFFER_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_IO_REL_WRITE32_BUFFER_MAXNUM 59
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_UHLINK msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get PHY configuration info */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get MAC configuration info */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get Rx eye table */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get Rx eye plot */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_DUMP_RX_EYE_PLOT 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get Rx eye plot */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Retune Rx settings */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set loopback mode on fpga port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get loopback mode config state on fpga port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_UHLINK_PORT_TYPE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_UHLINK_CMD_FORMAT_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_UHLINK_CMD_FORMAT_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Default FC command format; the fields PORT_TYPE and PORT_IDX are
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * irrelevant. Port number is derived from pci_fn; passed in FC header.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_CMD_FORMAT_DEFAULT 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Override default port number. Port number determined by fields
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PORT_TYPE and PORT_IDX.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_CMD_FORMAT_PORT_OVERRIDE 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OP_UHLINK_PHY msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OP_UHLINK_MAC msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OP_UHLINK_RX_EYE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_RX_EYE_INDEX_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_UHLINK_RX_EYE_PER_BLOCK 0x30 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OP_UHLINK_DUMP_RX_EYE_PLOT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_DUMP_RX_EYE_PLOT_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_LEN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_DC_GAIN_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_EQ_CONTROL_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_READ_RX_EYE_PLOT_INDEX_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_UHLINK_RX_EYE_PLOT_ROWS_PER_BLOCK 0x1e /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OP_UHLINK_RX_TUNE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OP_UHLINK_LOOPBACK_SET msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_TYPE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_UHLINK_LOOPBACK_TYPE_PCS_SERIAL 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_UHLINK_LOOPBACK_TYPE_PMA_PRE_CDR 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_UHLINK_LOOPBACK_TYPE_PMA_POST_CDR 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_LOOPBACK_SET_STATE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_UHLINK_LOOPBACK_STATE_OFF 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_UHLINK_LOOPBACK_STATE_ON 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OP_UHLINK_LOOPBACK_GET msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_LOOPBACK_GET_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_UHLINK_HEADER_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_UHLINK_LOOPBACK_GET_TYPE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_SET_LINK msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* See MC_CMD_GET_LOOPBACK_MODES/MC_CMD_GET_LOOPBACK_MODES_OUT/100M */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_SET_LINK_LOWPOWER_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_SET_LINK_POWEROFF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_LICENSE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_LICENSE_UPDATE_LICENSE 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_LICENSE_GET_KEY_STATS 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_STARTUP msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of identifier */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_STARTUP_IDLENGTH_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Identifier for AOE FPGA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DMA msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DMA_STOP msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DMA_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FC supplied handle */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DMA_STOP_FC_HANDLE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DMA_READ msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DMA_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TIMED_READ msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_GET 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_CLEAR 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TIMED_READ_SET msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TIMED_READ_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Host supplied handle (unique) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_HOST_HANDLE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Address into which to transfer data in host */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_HOST_DMA_ADDRESS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_HOST_DMA_ADDRESS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_HOST_DMA_ADDRESS_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_HOST_DMA_ADDRESS_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* AOE address from which to transfer data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_AOE_ADDRESS_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_AOE_ADDRESS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_AOE_ADDRESS_LO_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_AOE_ADDRESS_HI_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of AOE transfer (total) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_AOE_LENGTH_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of host transfer (total) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_HOST_LENGTH_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Offset back from aoe_address to apply operation to */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_OFFSET_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Data to apply at offset */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_DATA_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_FLAGS_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_INDIRECT_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_INDIRECT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_DOUBLE_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_DOUBLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_EVENT_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_EVENT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_PREREAD_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_PREREAD_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_NONE 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_READ 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_WRITE 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_READWRITE 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Period at which reads are performed (100ms units) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_SET_PERIOD_OFST 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TIMED_READ_GET msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TIMED_READ_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FC supplied handle */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_GET_FC_HANDLE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TIMED_READ_CLEAR msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TIMED_READ_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FC supplied handle */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMED_READ_CLEAR_FC_HANDLE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_LOG msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_LOG_ADDR_RANGE 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_LOG_JTAG_UART 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_LOG_ADDR_RANGE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_LOG_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Partition offset into flash */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_LOG_ADDR_RANGE_OFFSET_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Partition length */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_LOG_ADDR_RANGE_LENGTH_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Partition erase size */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_LOG_ADDR_RANGE_ERASE_SIZE_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_LOG_JTAG_UART msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_LOG_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enable/disable printing to JTAG UART */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_LOG_JTAG_UART_ENABLE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CLOCK msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_CLOCK_GET_TIME 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_CLOCK_SET_TIME 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Perform a clock operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_CLOCK_STATS 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_CLOCK_MAC 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CLOCK_GET_TIME msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CLOCK_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Retrieve the clock value of the specified clock */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CLOCK_ID_OFST 8 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CLOCK_SET_TIME msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CLOCK_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CLOCK_ID_OFST 8 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_CLOCK_SET_TIME_SECONDS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_CLOCK_SET_TIME_SECONDS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_CLOCK_SET_TIME_SECONDS_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_CLOCK_SET_TIME_SECONDS_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Set the clock value of the specified clock */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_CLOCK_SET_TIME_NANOSECONDS_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_SET_SPD 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_GET_STATUS 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_SET_INFO 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_BANK_B0 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_BANK_B1 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_BANK_T0 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_BANK_T1 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_NUM_BANKS 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_SET_SPD msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Affected bank */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_BANK_OFST 8 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_SET_SPD_ACTIVE 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 128-byte page of serial presence detect data read from module's EEPROM */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Page index of the spd data copied into MC_CMD_FC_IN_DDR_SPD */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DDR_SPD_PAGE_ID_OFST 144
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_SET_INFO msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Affected bank */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_BANK_OFST 8 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Size of DDR */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_GET_STATUS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Affected bank */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DDR_BANK_OFST 8 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TIMESTAMP msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FC timestamp operation code */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read transmit timestamp(s) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read snapshot timestamps */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Clear all transmit timestamps */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_LEN 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Control filtering of the returned timestamp and sequence number specified
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_FILTER_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Return most recent timestamp. No filtering */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_LATEST 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Match timestamp against the PTP clock ID, port number and sequence
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * number specified
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_MATCH 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Clock identity of PTP packet for which timestamp required */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_CLOCK_ID_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_CLOCK_ID_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_CLOCK_ID_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_CLOCK_ID_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Port number of PTP packet for which timestamp required */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_PORT_NUM_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sequence number of PTP packet for which timestamp required */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_TRANSMIT_SEQ_NUM_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_READ_SNAPSHOT_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_TIMESTAMP_CLEAR_TRANSMIT_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_SPI msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Basic commands for SPI Flash. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SPI Flash read */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SPI Flash write */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SPI Flash erase */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_SPI_READ msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_SPI_READ_NUMBYTES_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_SPI_WRITE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_SPI_WRITE_LEN(num) (12+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_SPI_WRITE_BUFFER_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_SPI_WRITE_BUFFER_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_SPI_WRITE_BUFFER_MAXNUM 60
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_SPI_ERASE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_SPI_ERASE_NUMBYTES_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DIAG msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Operation code indicating component type */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Power noise generator. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DDR soak test component. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Diagnostics datapath control component. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DIAG_POWER_NOISE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_POWER_NOISE_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sub-opcode describing the operation to be carried out */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_POWER_NOISE_SUB_OP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read the configuration (the 32-bit values in each of the clock enable
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * count and toggle count registers)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Write a new configuration to the clock enable count and toggle count
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_POWER_NOISE_READ_CONFIG_SUB_OP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_LEN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_SUB_OP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The 32-bit value to be written to the toggle count register */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_TOGGLE_COUNT_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The 32-bit value to be written to the clock enable count register */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_POWER_NOISE_WRITE_CONFIG_CLKEN_COUNT_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DIAG_DDR_SOAK msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sub-opcode describing the operation to be carried out */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_SUB_OP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Starts DDR soak test on selected banks */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read status of DDR soak test */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Stop test */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set or clear bit that triggers fake errors. These cause subsequent
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * tests to fail until the bit is cleared.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DIAG_DDR_SOAK_START msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_LEN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_SUB_OP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Mask of DDR banks to be tested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_BANK_MASK_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Pattern to use in the soak test */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_TEST_PATTERN_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_ZEROS 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_ONES 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Either multiple automatic tests until a STOP command is issued, or one
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * single test
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_TEST_TYPE_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_ONGOING_TEST 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_START_SINGLE_TEST 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_SUB_OP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* DDR bank to read status from */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_RESULT_BANK_ID_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_DDR_AOEMEM_MAX_BANKS 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_SUB_OP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Mask of DDR banks to be tested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_STOP_BANK_MASK_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_LEN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_SUB_OP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Mask of DDR banks to set/clear error flag on */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_BANK_MASK_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_FLAG_ACTION_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_CLEAR 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DDR_SOAK_ERROR_SET 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DIAG_DATAPATH_CTRL msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sub-opcode describing the operation to be carried out */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SUB_OP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set a known datapath configuration */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Apply raw config to datapath control registers */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_SUB_OP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Datapath configuration identifier */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_MODE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_PASSTHROUGH 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_SET_MODE_SNAKE 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_LEN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_SUB_OP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Value to write into control register 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL1_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Value to write into control register 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL2_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Value to write into control register 3 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_IN_DIAG_DATAPATH_CTRL_RAW_CONFIG_CONTROL3_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_NULL msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_READ32 msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ32_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ32_BUFFER_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_WRITE32 msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_TRC_READ msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_TRC_WRITE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_GET_VERSION msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_VERSION_FIRMWARE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_VERSION_VERSION_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_VERSION_VERSION_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_VERSION_VERSION_LO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_VERSION_VERSION_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_TRC_RX_READ msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TRC_RX_READ_DATA_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_TRC_RX_WRITE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_MAC_RECONFIGURE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_MAC_SET_LINK msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_MAC_READ_STATUS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_READ_STATUS_STATUS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_MAC_GET_RX_STATS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_RX_STATS_LEN ((((0-1+(64*MC_CMD_FC_MAC_RX_NSTATS))+1))>>3)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_RX_STATS_STATISTICS_NUM MC_CMD_FC_MAC_RX_NSTATS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_OCTETS 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_OCTETS_OK 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_ALIGNMENT_ERRORS 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_PAUSE_MAC_CTRL_FRAMES 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_FRAMES_OK 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_CRC_ERRORS 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_VLAN_OK 0x6 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_ERRORS 0x7 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_UCAST_PKTS 0x8 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_MULTICAST_PKTS 0x9 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_BROADCAST_PKTS 0xa /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_DROP_EVENTS 0xb /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_PKTS 0xc /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_UNDERSIZE_PKTS 0xd /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_PKTS_64 0xe /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_PKTS_65_127 0xf /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_PKTS_128_255 0x10 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_PKTS_256_511 0x11 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_PKTS_512_1023 0x12 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_PKTS_1024_1518 0x13 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_PKTS_1519_MAX 0x14 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_OVERSIZE_PKTS 0x15 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_JABBERS 0x16 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_STATS_FRAGMENTS 0x17 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_RX_MAC_CONTROL_FRAMES 0x18 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: (Last entry) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_MAC_GET_TX_STATS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_TX_STATS_LEN ((((0-1+(64*MC_CMD_FC_MAC_TX_NSTATS))+1))>>3)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_TX_STATS_STATISTICS_NUM MC_CMD_FC_MAC_TX_NSTATS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_STATS_OCTETS 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_OCTETS_OK 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_ALIGNMENT_ERRORS 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_PAUSE_MAC_CTRL_FRAMES 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_FRAMES_OK 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_CRC_ERRORS 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_VLAN_OK 0x6 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_ERRORS 0x7 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_UCAST_PKTS 0x8 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_MULTICAST_PKTS 0x9 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_BROADCAST_PKTS 0xa /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_STATS_DROP_EVENTS 0xb /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_STATS_PKTS 0xc /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_STATS_UNDERSIZE_PKTS 0xd /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_STATS_PKTS_64 0xe /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_STATS_PKTS_65_127 0xf /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_STATS_PKTS_128_255 0x10 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_STATS_PKTS_256_511 0x11 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_STATS_PKTS_512_1023 0x12 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_STATS_PKTS_1024_1518 0x13 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_STATS_PKTS_1519_TX_MTU 0x14 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_MAC_TX_MAC_CONTROL_FRAMES 0x15 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: (Last entry) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_MAC_GET_STATS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_STATS_LEN ((((0-1+(64*MC_CMD_FC_MAC_NSTATS_PER_BLOCK))+1))>>3)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MAC Statistics */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_MAC_GET_STATS_STATISTICS_NUM MC_CMD_FC_MAC_NSTATS_PER_BLOCK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_MAC msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_SFP msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DDR_TEST_START msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DDR_TEST_POLL msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_STATUS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_CODE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_CODE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Test not yet initiated */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Test is in progress */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Timed completed */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Test did not complete in specified time */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OP_DDR_TEST_TIMER_EXPIRED 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_T0_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_T0_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_T1_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_T1_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_B0_LBN 9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_B0_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_B1_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_PRESENT_B1_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Test result from FPGA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_RESULT_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_T0_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_T0_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_T1_LBN 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_T1_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_B0_LBN 29
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_B0_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_B1_LBN 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_FPGA_SUPPORTS_B1_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_T0_LBN 15
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_T0_WIDTH 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_T1_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_T1_WIDTH 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_B0_WIDTH 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_B1_WIDTH 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_TEST_COMPLETE 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_TEST_FAIL 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_TEST_PASS 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_CAL_FAIL 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_TEST_POLL_CAL_SUCCESS 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DDR_TEST msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_GET_ASSERT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Assertion status flag. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_ASSERT_GLOBAL_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_ASSERT_STATE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: No crash data available */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_GET_ASSERT_FLAGS_STATE_CLEAR 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: New crash data available */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_GET_ASSERT_FLAGS_STATE_NEW 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Crash data has been sent */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_GET_ASSERT_FLAGS_STATE_NOTIFIED 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_ASSERT_TYPE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: No crash has been recorded. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_NONE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Crash due to exception. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_EXCEPTION 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Crash due to assertion. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_GET_ASSERT_FLAGS_TYPE_ASSERTION 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Failing PC value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_ASSERT_SAVED_PC_OFFS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Saved GP regs */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_ASSERT_GP_REGS_OFFS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_ASSERT_GP_REGS_OFFS_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_ASSERT_GP_REGS_OFFS_NUM 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Exception Type */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_TYPE_OFFS_OFST 132
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Instruction at which exception occurred */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_PC_ADDR_OFFS_OFST 136
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* BAD Address that triggered address-based exception */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GET_ASSERT_EXCEPTION_BAD_ADDR_OFFS_OFST 140
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_FPGA_BUILD msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_COMPONENT_INFO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_IS_APPLICATION_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_IS_APPLICATION_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_IS_LICENSED_LBN 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_IS_LICENSED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_COMPONENT_ID_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_COMPONENT_ID_WIDTH 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_MAJOR_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_MAJOR_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_MINOR_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_MINOR_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_BUILD_NUM_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_BUILD_NUM_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Build timestamp (seconds since epoch) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_TIMESTAMP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_PARAMETERS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_FPGA_TYPE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_FPGA_TYPE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_FPGA_TYPE_A7 0xa7 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_FPGA_TYPE_A5 0xa5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED1_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED1_WIDTH 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_PTP_ENABLED_LBN 18
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_PTP_ENABLED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM1_RLDRAM_DEF_LBN 19
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM1_RLDRAM_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM2_RLDRAM_DEF_LBN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM2_RLDRAM_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM3_RLDRAM_DEF_LBN 21
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM3_RLDRAM_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM4_RLDRAM_DEF_LBN 22
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM4_RLDRAM_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T0_DDR3_DEF_LBN 23
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T0_DDR3_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T1_DDR3_DEF_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T1_DDR3_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_B0_DDR3_DEF_LBN 25
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_B0_DDR3_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_B1_DDR3_DEF_LBN 26
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_B1_DDR3_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_DDR3_ECC_ENABLED_LBN 27
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_DDR3_ECC_ENABLED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T1_QDR_DEF_LBN 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_SODIMM_T1_QDR_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED2_LBN 29
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED2_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_CRC_APPEND_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_CRC_APPEND_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_IDENTIFIER_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_CHANGESET_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_CHANGESET_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_BUILD_FLAG_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_BUILD_FLAG_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_FPGA_BUILD_FLAG_INTERNAL 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_FPGA_BUILD_FLAG_RELEASE 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED3_LBN 17
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED3_WIDTH 15
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MINOR_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MINOR_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MAJOR_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MAJOR_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_VERSION_LO_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_BUILD_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_BUILD_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MICRO_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_DEPLOYMENT_VERSION_MICRO_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED4_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED4_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED4_LO_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_RESERVED4_HI_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_LO_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HI_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HIGH_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HIGH_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_FPGA_BUILD_V2 msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_INFO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_APPLICATION_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_APPLICATION_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_LICENSED_LBN 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_LICENSED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_ID_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_ID_WIDTH 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MAJOR_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MAJOR_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MINOR_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MINOR_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_NUM_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_NUM_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Build timestamp (seconds since epoch) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_TIMESTAMP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_PARAMETERS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_PMA_PASSTHROUGH_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_PMA_PASSTHROUGH_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_QDR_DEF_LBN 29
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_QDR_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_QDR_DEF_LBN 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_QDR_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DDR3_ECC_ENABLED_LBN 27
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DDR3_ECC_ENABLED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_DDR3_DEF_LBN 26
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_DDR3_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_DDR3_DEF_LBN 25
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_DDR3_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_TO_DDR3_DEF_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_TO_DDR3_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_T0_DDR3_DEF_LBN 23
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_T0_DDR3_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_RLDRAM_DEF_LBN 22
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_RLDRAM_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_RLDRAM_DEF_LBN 21
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_RLDRAM_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_RLDRAM_DEF_LBN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_RLDRAM_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_RLDRAM_DEF_LBN 19
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_RLDRAM_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_LBN 18
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_10G 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_40G 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_LBN 17
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_10G 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_40G 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_10G 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_40G 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP7_DEF_LBN 15
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP7_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP6_DEF_LBN 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP6_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP5_DEF_LBN 13
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP5_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_DEF_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP3_DEF_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP3_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP2_DEF_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP2_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP1_DEF_LBN 9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP1_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_DEF_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC3_DEF_LBN 7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC3_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC2_DEF_LBN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC2_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC1_DEF_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC1_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_DEF_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_FPGA_TYPE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_FPGA_TYPE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_FPGA_V2_TYPE_A3 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_FPGA_V2_TYPE_A4 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_FPGA_V2_TYPE_A5 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_FPGA_V2_TYPE_A7 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_FPGA_V2_TYPE_D3 0x8 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_FPGA_V2_TYPE_D4 0x9 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_FPGA_V2_TYPE_D5 0xa /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_FPGA_V2_TYPE_D7 0xb /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_IDENTIFIER_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_CHANGESET_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_CHANGESET_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_FLAG_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_FLAG_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_FPGA_BUILD_FLAG_INTERNAL 0x0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_FPGA_BUILD_FLAG_RELEASE 0x1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MINOR_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MINOR_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MAJOR_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MAJOR_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_LO_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_BUILD_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_BUILD_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MICRO_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MICRO_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_LO_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HI_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HIGH_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HIGH_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_FPGA_SERVICES msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_COMPONENT_INFO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_IS_APPLICATION_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_IS_APPLICATION_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_IS_LICENSED_LBN 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_IS_LICENSED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_COMPONENT_ID_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_COMPONENT_ID_WIDTH 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_VERSION_MAJOR_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_VERSION_MAJOR_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_VERSION_MINOR_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_VERSION_MINOR_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_BUILD_NUM_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_BUILD_NUM_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Build timestamp (seconds since epoch) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_TIMESTAMP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_PARAMETERS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_FC_FLASH_BOOTED_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_FC_FLASH_BOOTED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_NIC0_DEF_LBN 27
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_NIC0_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_NIC1_DEF_LBN 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_NIC1_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_SFP0_DEF_LBN 29
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_SFP0_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_SFP1_DEF_LBN 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_SFP1_DEF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_RESERVED_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_RESERVED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_IDENTIFIER_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_CHANGESET_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_CHANGESET_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_BUILD_FLAG_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_BUILD_FLAG_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_WIDTH_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_WIDTH_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_COUNT_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_MEMORY_SIZE_COUNT_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_WIDTH_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_WIDTH_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_COUNT_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_INSTANCE_SIZE_COUNT_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_LO_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HI_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HIGH_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HIGH_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_FPGA_SERVICES_V2 msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_LEN 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_INFO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_APPLICATION_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_APPLICATION_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_LICENSED_LBN 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_LICENSED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_ID_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_ID_WIDTH 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MAJOR_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MAJOR_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MINOR_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MINOR_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_NUM_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_NUM_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Build timestamp (seconds since epoch) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_TIMESTAMP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PARAMETERS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PTP_ENABLED_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PTP_ENABLED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_FC_FLASH_BOOTED_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_FC_FLASH_BOOTED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IDENTIFIER_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_CHANGESET_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_CHANGESET_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_FLAG_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_FLAG_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_FPGA_BUILD_FLAG_INTERNAL 0x0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_FPGA_BUILD_FLAG_RELEASE 0x1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_LO_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HI_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HIGH_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HIGH_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_BSP_VERSION msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Qsys system ID */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_BSP_VERSION_SYSID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_BSP_VERSION_VERSION_MAJOR_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_BSP_VERSION_VERSION_MAJOR_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_BSP_VERSION_VERSION_MINOR_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_BSP_VERSION_VERSION_MINOR_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_BSP_VERSION_BUILD_NUM_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_BSP_VERSION_BUILD_NUM_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_READ_MAP_COUNT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of maps */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_COUNT_NUM_MAPS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_READ_MAP_INDEX msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Index of the map */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_INDEX_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Options for the map */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_OPTIONS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_8 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_16 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_32 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_64 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_ALIGN_MASK 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_PATH_FC 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_PATH_MEM 0x8 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_PERM_READ 0x10 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_PERM_WRITE 0x20 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_FREE 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_LICENSED 0x40 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Address of start of map */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_ADDRESS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_ADDRESS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_ADDRESS_LO_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_ADDRESS_HI_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of address map */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN_LO_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_LEN_HI_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Component information field */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_COMP_INFO_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* License expiry data for map */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_DATE_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_DATE_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_DATE_LO_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_LICENSE_DATE_HI_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Name of the component */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_NAME_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_NAME_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_READ_MAP_INDEX_NAME_NUM 128
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_READ_MAP msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_CAPABILITIES msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of internal ports */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_CAPABILITIES_INTERNAL_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of external ports */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_CAPABILITIES_EXTERNAL_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_GLOBAL_FLAGS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_GLOBAL_FLAGS_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_IO_REL msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_IO_REL_GET_ADDR msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_IO_REL_GET_ADDR_ADDR_HI_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_IO_REL_GET_ADDR_ADDR_LO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_IO_REL_READ32 msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_IO_REL_READ32_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_IO_REL_READ32_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_IO_REL_READ32_BUFFER_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_IO_REL_READ32_BUFFER_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_IO_REL_READ32_BUFFER_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_IO_REL_READ32_BUFFER_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_IO_REL_WRITE32 msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_UHLINK_PHY msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_SETTINGS_0_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_VOD_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_VOD_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_1STPOSTTAP_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_1STPOSTTAP_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Transceiver Transmit settings */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_SETTINGS_1_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_PRETAP_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_PRETAP_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_2NDPOSTTAP_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_TX_PREEMP_2NDPOSTTAP_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Transceiver Receive settings */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_SETTINGS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_DC_GAIN_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_DC_GAIN_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_EQ_CONTROL_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_TRC_RX_EQ_CONTROL_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Rx eye opening */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_WIDTH_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_WIDTH_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_HEIGHT_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_RX_EYE_HEIGHT_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* PCS status word */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_PCS_STATUS_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Link status word */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_LINK_STATE_WORD_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_LINK_STATE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_LINK_STATE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_LINK_CONFIGURED_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_LINK_CONFIGURED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Current SFp parameters applied */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_SFP_PARAMS_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_SFP_PARAMS_LEN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Link speed is 100, 1000, 10000 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_SFP_SPEED_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of copper cable - zero when not relevant */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_SFP_COPPER_LEN_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* True if a dual speed SFP+ module */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_SFP_DUAL_SPEED_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* True if an SFP Module is present (other fields valid when true) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_SFP_PRESENT_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The type of the SFP+ Module */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_SFP_TYPE_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* PHY config flags */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_DFE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_DFE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_AEQ_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_AEQ_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_RX_TUNING_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_PHY_PHY_CFG_RX_TUNING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_UHLINK_MAC msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MAC configuration applied */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_MAC_CONFIG_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MTU size */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* IF Mode status */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_MAC_IF_STATUS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MAC address configured */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_MAC_ADDR_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_MAC_ADDR_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_MAC_ADDR_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_UHLINK_RX_EYE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_RX_EYE_LEN ((((0-1+(32*MC_CMD_FC_UHLINK_RX_EYE_PER_BLOCK))+1))>>3)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Rx Eye measurements */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_RX_EYE_RX_EYE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_RX_EYE_RX_EYE_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_RX_EYE_RX_EYE_NUM MC_CMD_FC_UHLINK_RX_EYE_PER_BLOCK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_UHLINK_DUMP_RX_EYE_PLOT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_DUMP_RX_EYE_PLOT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#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)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Has the eye plot dump completed and data returned is valid? */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_VALID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Rx Eye binary plot */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_LO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_READ_RX_EYE_PLOT_ROWS_NUM MC_CMD_FC_UHLINK_RX_EYE_PLOT_ROWS_PER_BLOCK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_UHLINK_RX_TUNE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_UHLINK_LOOPBACK_SET msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_LOOPBACK_SET_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_UHLINK_LOOPBACK_GET msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_LOOPBACK_GET_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_UHLINK_LOOPBACK_GET_STATE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_UHLINK msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_SET_LINK msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_LICENSE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Count of valid keys */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_LICENSE_VALID_KEYS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Count of invalid keys */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_LICENSE_INVALID_KEYS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Count of blacklisted keys */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_LICENSE_BLACKLISTED_KEYS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_STARTUP msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Capabilities of the FPGA/FC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_STARTUP_CAPABILITIES_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_STARTUP_CAN_ACCESS_FLASH_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_STARTUP_CAN_ACCESS_FLASH_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DMA_READ msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DMA_READ_LEN(num) (0+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The data read */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DMA_READ_DATA_MAXNUM 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_TIMED_READ_SET msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Timer handle */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_SET_FC_HANDLE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_TIMED_READ_GET msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Host supplied handle (unique) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_HANDLE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Address into which to transfer data in host */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_DMA_ADDRESS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_DMA_ADDRESS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_DMA_ADDRESS_LO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_DMA_ADDRESS_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* AOE address from which to transfer data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_ADDRESS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_ADDRESS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_ADDRESS_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_ADDRESS_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of AOE transfer (total) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_AOE_LENGTH_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of host transfer (total) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_HOST_LENGTH_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* See FLAGS entry for MC_CMD_FC_IN_TIMED_READ_SET */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_FLAGS_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_PERIOD_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* When active, start read time */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_START_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_START_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_START_LO_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_START_HI_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* When active, end read time */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_END_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_END_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_END_LO_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMED_READ_GET_CLOCK_END_HI_OFST 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_LOG_ADDR_RANGE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_LOG msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_CLOCK_GET_TIME msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_CLOCK_GET_TIME_CLOCK_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_CLOCK_GET_TIME_SECONDS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_CLOCK_GET_TIME_SECONDS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_CLOCK_GET_TIME_SECONDS_LO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_CLOCK_GET_TIME_SECONDS_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_CLOCK_GET_TIME_NANOSECONDS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_CLOCK_GET_TIME_RANGE_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_CLOCK_GET_TIME_PRECISION_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_CLOCK_SET_TIME msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DDR_SET_SPD msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DDR_SET_INFO msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DDR_GET_STATUS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_GET_STATUS_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_GET_STATUS_READY_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_GET_STATUS_READY_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_GET_STATUS_CALIBRATED_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DDR_GET_STATUS_CALIBRATED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_SECONDS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_TRANSMIT_NANOSECONDS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_LENMIN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_LENMAX 248
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_LEN(num) (0+8*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_SECONDS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_NANOSECONDS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_TIMESTAMP_READ_SNAPSHOT_TIMESTAMP_MAXNUM 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_SPI_READ msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_SPI_READ_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_SPI_READ_BUFFER_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_SPI_READ_BUFFER_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_SPI_WRITE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_SPI_ERASE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The 32-bit value read from the toggle count register */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_TOGGLE_COUNT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The 32-bit value read from the clock enable count register */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_POWER_NOISE_READ_CONFIG_CLKEN_COUNT_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DIAG_POWER_NOISE_WRITE_CONFIG msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_POWER_NOISE_WRITE_CONFIG_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DIAG_DDR_SOAK_START msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_START_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* DDR soak test status word; bits [4:0] are relevant. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_STATUS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_PASSED_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_PASSED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_FAILED_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_FAILED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_COMPLETED_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_COMPLETED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_TIMEOUT_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_TIMEOUT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_PNF_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_PNF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* DDR soak test error count */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_RESULT_ERR_COUNT_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DIAG_DDR_SOAK_STOP msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_STOP_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DIAG_DDR_SOAK_ERROR msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DDR_SOAK_ERROR_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DIAG_DATAPATH_CTRL_SET_MODE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DATAPATH_CTRL_SET_MODE_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC_OUT_DIAG_DATAPATH_CTRL_RAW_CONFIG msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FC_OUT_DIAG_DATAPATH_CTRL_RAW_CONFIG_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * AOE operations on MC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FPGA and CPLD information */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Currents and voltages read from MCP3424s; DEBUG */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Temperatures at locations around the PCB; DEBUG */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set CPLD to idle */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read from CPLD register */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Write to CPLD register */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Execute CPLD instruction */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Reprogram the CPLD on the AOE device */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE power control */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE image loading */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Fan monitoring */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Fan failures since last reset */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get generic AOE MAC statistics */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Retrieve PHY specific information */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Write a number of JTAG primitive commands, return will give data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Control access to the FPGA via the Siena JTAG Chain */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set the MTU offset between Siena and AOE MACs */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: How link state is handled */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: How Siena MAC statistics are reported (deprecated - use
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_AOE_OP_ASIC_STATS)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: How native ASIC MAC statistics are reported - replaces the deprecated
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * command MC_CMD_AOE_OP_SIENA_STATS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DDR memory information */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FC control */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DDR ECC status reads */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Commands for MC-SPI Master emulation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Commands for FC boot control */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_INFO msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CURRENTS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_TEMPERATURES msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CPLD_IDLE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CPLD_READ msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_CPLD_READ_REGISTER_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CPLD_WRITE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_CPLD_WRITE_REGISTER_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_CPLD_WRITE_WIDTH_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_CPLD_WRITE_VALUE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CPLD_INSTRUCTION msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_CPLD_INSTRUCTION_INSTRUCTION_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CPLD_REPROGRAM msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_CPLD_REPROGRAM_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Reprogram CPLD, poll for completion */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_CPLD_REPROGRAM_REPROGRAM 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Reprogram CPLD, send event on completion */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_CPLD_REPROGRAM_REPROGRAM_EVENT 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get status of reprogramming operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_CPLD_REPROGRAM_STATUS 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_POWER msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Turn on or off AOE power */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Turn off FPGA power */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Turn on FPGA power */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Clear peak power measurement */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Show current power in sensors output */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Show peak power in sensors output */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Show current DDR current */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Show peak DDR current */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Clear peak DDR current */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_LOAD msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Image to be loaded (0 - main or 1 - diagnostic) to load in normal sequence
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_FAN_CONTROL msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* If non zero report measured fan RPM rather than nominal */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_FAN_CONTROL_REAL_RPM_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_FAN_FAILURES msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_MAC_STATS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* AOE port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Host memory address for statistics */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_DMA_ADDR_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_DMA_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_DMA_ADDR_LO_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_DMA_ADDR_HI_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_CLEAR_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_CHANGE_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_CHANGE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_ENABLE_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_CLEAR_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_CLEAR_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_NOEVENT_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_PERIODIC_NOEVENT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_PERIOD_MS_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_PERIOD_MS_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of DMA data (optional) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MAC_STATS_DMA_LEN_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* AOE port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_PORT_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_GET_PHY_MEDIA_INFO_PAGE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_JTAG_WRITE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_JTAG_WRITE_LEN(num) (8+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_JTAG_WRITE_DATALEN_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_JTAG_WRITE_DATA_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_JTAG_WRITE_DATA_MAXNUM 61
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_FPGA_ACCESS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enable or disable access */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Enable access */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Disable access */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_FPGA_ACCESS_DISABLE 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_SET_MTU_OFFSET msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* AOE port - when not ALL_EXTERNAL or ALL_INTERNAL specifies port number */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_SET_MTU_OFFSET_PORT_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Apply to all external ports */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_SET_MTU_OFFSET_ALL_EXTERNAL 0x8000
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Apply to all internal ports */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_SET_MTU_OFFSET_ALL_INTERNAL 0x4000
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The MTU offset to be applied to the external ports */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_SET_MTU_OFFSET_OFFSET_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_LINK_STATE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_LINK_STATE_CONFIG_MODE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_LINK_STATE_CONFIG_MODE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE and associated external port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_LINK_STATE_SIMPLE_SEPARATE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE and OR of all external ports */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_LINK_STATE_SIMPLE_COMBINED 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Individual ports */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_LINK_STATE_DIAGNOSTIC 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Configure link state mode on given AOE port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_LINK_STATE_OPERATION_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_LINK_STATE_OPERATION_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: No-op */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: logical OR of all SFP ports link status */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: logical AND of all SFP ports link status */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_LINK_STATE_SFP_MASK_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_LINK_STATE_SFP_MASK_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_SIENA_STATS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* How MAC statistics are reported */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_SIENA_STATS_MODE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Statistics from Siena (default) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_SIENA_STATS_STATS_SIENA 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Statistics from AOE external ports */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_SIENA_STATS_STATS_AOE 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_ASIC_STATS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* How MAC statistics are reported */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Statistics from the ASIC (default) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_ASIC_STATS_STATS_ASIC 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Statistics from AOE external ports */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_ASIC_STATS_STATS_AOE 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_DDR msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC/MC_CMD_FC_IN_DDR/MC_CMD_FC_IN_DDR_BANK */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Page index of SPD data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_FC msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_DDR_ECC_STATUS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_DDR_ECC_STATUS_BANK_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FC/MC_CMD_FC_IN_DDR/MC_CMD_FC_IN_DDR_BANK */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_MC_SPI_MASTER msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Basic commands for MC SPI Master emulation. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MC_SPI_MASTER_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MC SPI read */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MC SPI write */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_MC_SPI_MASTER_READ msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MC_SPI_MASTER_READ_OFFSET_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_OFFSET_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_MC_SPI_MASTER_WRITE_DATA_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_FC_BOOT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FC boot control flags */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_FC_BOOT_CONTROL_BOOT_ENABLE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_IN_FC_BOOT_CONTROL_BOOT_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_INFO msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* JTAG IDCODE of CPLD */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_CPLD_IDCODE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Version of CPLD */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_CPLD_VERSION_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* JTAG IDCODE of FPGA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FPGA_IDCODE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* JTAG USERCODE of FPGA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FPGA_VERSION_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FPGA type - read from CPLD straps */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_A5_C2 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_A7_C2 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FPGA state (debug) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FPGA_STATE_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FPGA image - partition from which loaded */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FPGA_IMAGE_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* FC state */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set if watchdog working */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set if MC-FC communications working */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Random pieces of information */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Power to FPGA supplied by PEG connector, not PCIe bus */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CPLD apparently good */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FPGA working normally */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FPGA is powered */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Board has incompatible SODIMMs fitted */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Board has ByteBlaster connected */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_HAS_BYTEBLASTER 0x20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FPGA Boot flash has an invalid header. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FPGA_BAD_BOOT_HDR 0x40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FPGA Application flash is accessible. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FPGA_APP_FLASH_GOOD 0x80
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Revision of Modena and Sorrento boards. Sorrento can be R1_2 or R1_3. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_BOARD_REVISION_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_UNKNOWN 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_R1_0 0x10 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_R1_1 0x11 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_R1_2 0x12 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_R1_3 0x13 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Result of FC booting - not valid while a ByteBlaster is connected. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FC_BOOT_RESULT_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: No error */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_NO_ERROR 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bad address set in CPLD */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_ADDRESS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bad header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_MAGIC 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bad text section details */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_TEXT 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bad checksum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_CHECKSUM 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bad BSP */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_BAD_BSP 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Flash mode is invalid */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FC_BOOT_FAIL_INVALID_FLASH_MODE 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FC application loaded and execution attempted */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FC_BOOT_APP_EXECUTE 0x80
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FC application Started */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FC_BOOT_APP_STARTED 0x81
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: No bootrom in FPGA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_INFO_FC_BOOT_NO_BOOTROM 0xff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_CURRENTS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Set of currents and voltages (mA or mV as appropriate) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_VALUES_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_VALUES_NUM 17
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_I_2V5 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_I_1V8 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_I_GXB 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_I_PGM 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_I_XCVR 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_I_1V5 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_V_3V3 0x6 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_V_1V5 0x7 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_I_IN 0x8 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_I_OUT 0x9 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_V_IN 0xa /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_I_OUT_DDR1 0xb /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_V_OUT_DDR1 0xc /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_I_OUT_DDR2 0xd /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_V_OUT_DDR2 0xe /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_I_OUT_DDR3 0xf /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CURRENTS_V_OUT_DDR3 0x10 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_TEMPERATURES msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Set of temperatures */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_VALUES_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_VALUES_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_VALUES_NUM 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The first set of enum values are for Modena code. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_MAIN_0 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_MAIN_1 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_IND_0 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_IND_1 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_VCCIO1 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_VCCIO2 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_VCCIO3 0x6 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_PSU 0x7 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_FPGA 0x8 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_SIENA 0x9 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The second set of enum values are for Sorrento code. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_MAIN_0 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_MAIN_1 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_IND_0 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_IND_1 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_SODIMM_0 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_SODIMM_1 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_FPGA 0x6 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_PHY0 0x7 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_TEMPERATURES_SORRENTO_PHY1 0x8 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_CPLD_READ msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The value read from the CPLD */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CPLD_READ_VALUE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_FAN_FAILURES msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_FAN_FAILURES_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_FAN_FAILURES_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Failure counts for each fan */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_FAN_FAILURES_COUNT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_FAN_FAILURES_COUNT_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_FAN_FAILURES_COUNT_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_FAN_FAILURES_COUNT_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_CPLD_REPROGRAM msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Results of status command (only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_CPLD_REPROGRAM_STATUS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_POWER_OFF msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_POWER_ON msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_LOAD msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_MAC_STATS_DMA msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_MAC_STATS_NO_DMA msgresponse: See MC_CMD_MAC_STATS_OUT_NO_DMA
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * for details
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_LEN (((MC_CMD_MAC_NSTATS*64))>>3)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_MAC_STATS_NO_DMA_STATISTICS_NUM MC_CMD_MAC_NSTATS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_LENMIN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_LEN(num) (4+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* in bytes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATALEN_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATA_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATA_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATA_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_GET_PHY_MEDIA_INFO_DATA_MAXNUM 248
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_JTAG_WRITE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_JTAG_WRITE_LEN(num) (8+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Used to align the in and out data blocks so the MC can re-use the cmd */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_JTAG_WRITE_DATALEN_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* out bytes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_JTAG_WRITE_DATA_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_JTAG_WRITE_DATA_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_JTAG_WRITE_DATA_MAXNUM 61
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_FPGA_ACCESS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_DDR msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_LEN(num) (16+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Information on the module. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_OPERATIONAL_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_NOT_REACHABLE_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_NOT_REACHABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Memory size, in MB. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The memory type, as reported from SPD information */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Nominal voltage of the module (as applied) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* SPD data read from the module */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_SET_MTU_OFFSET msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_LINK_STATE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_SIENA_STATS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_ASIC_STATS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_FC msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_DDR_ECC_STATUS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Flags describing status info on the module. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_VALID_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_VALID_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* DDR ECC status on the module. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_STATUS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_SBE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_SBE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_DBE_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_DBE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_CORDROP_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_CORDROP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_SBE_COUNT_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_SBE_COUNT_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_DBE_COUNT_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_DBE_COUNT_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_CORDROP_COUNT_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_DDR_ECC_STATUS_CORDROP_COUNT_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_MC_SPI_MASTER_READ msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_MC_SPI_MASTER_READ_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_MC_SPI_MASTER_READ_DATA_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_MC_SPI_MASTER_WRITE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_AOE_OUT_MC_SPI_MASTER_WRITE_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_MC_SPI_MASTER msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_AOE_OUT_FC_BOOT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Perform PTP operation
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xb_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* PTP operation code */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Enable PTP packet timestamping operation. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Disable PTP packet timestamping operation. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Send a PTP packet. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read the current NIC time. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get the current PTP status. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Adjust the PTP NIC's time. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Synchronize host and NIC time. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Basic manufacturing tests. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Packet based manufacturing tests. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Reset some of the PTP related statistics */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Debug operations to MC. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read an FPGA register */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Write an FPGA register */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Apply an offset to the NIC clock */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OP_CLOCK_OFFSET_ADJUST 0xe
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Change Apply an offset to the NIC clock */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set the MC packet filter VLAN tags for received PTP packets */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OP_RX_SET_VLAN_FILTER 0x10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set the MC packet filter UUID for received PTP packets */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OP_RX_SET_UUID_FILTER 0x11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set the MC packet filter Domain for received PTP packets */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OP_RX_SET_DOMAIN_FILTER 0x12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set the clock source */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Reset value of Timer Reg. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Enable the forwarding of PPS events to the host */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get the time format used by this NIC for PTP operations */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get the clock attributes. NOTE- extended version of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_PTP_OP_GET_TIME_FORMAT
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get corrections that should be applied to the various different
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OP_GET_TIMESTAMP_CORRECTIONS 0x17
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Subscribe to receive periodic time events indicating the current NIC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OP_TIME_EVENT_SUBSCRIBE 0x18
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Unsubscribe to stop receiving time events */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OP_TIME_EVENT_UNSUBSCRIBE 0x19
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PPS based manfacturing tests. Requires PPS output to be looped to PPS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * input on the same NIC.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set the PTP sync status. Status is used by firmware to report to event
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * subscribers.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Above this for future use. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_ENABLE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Event queue for PTP events */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* PTP timestamping mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP, version 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP, version 1, with VLAN headers - deprecated */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP, version 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP, version 2, with VLAN headers - deprecated */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP, version 2, with improved UUID filtering */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FCoE (seconds and microseconds) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_DISABLE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_TRANSMIT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TRANSMIT_LEN(num) (12+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Transmit packet length */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Transmit packet data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TRANSMIT_PACKET_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TRANSMIT_PACKET_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TRANSMIT_PACKET_MAXNUM 240
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_READ_NIC_TIME msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_STATUS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_ADJUST msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Frequency adjustment 40 bit fixed point ns */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Number of fractional bits in frequency adjustment */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Time adjustment in seconds */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Time adjustment major value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Time adjustment in nanoseconds */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_ADJUST_NANOSECONDS_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Time adjustment minor value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_SYNCHRONIZE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of time readings to capture */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_SYNCHRONIZE_NUMTIMESETS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Host address in which to write "synchronization started" indication (64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_SYNCHRONIZE_START_ADDR_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_SYNCHRONIZE_START_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_SYNCHRONIZE_START_ADDR_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_SYNCHRONIZE_START_ADDR_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_MANFTEST_BASIC msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_MANFTEST_PACKET msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enable or disable packet testing */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_MANFTEST_PACKET_TEST_ENABLE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_RESET_STATS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Reset PTP statistics */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_DEBUG msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Debug operations */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_DEBUG_DEBUG_PARAM_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_FPGAREAD msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_FPGAREAD_NUMBYTES_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_FPGAWRITE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_FPGAWRITE_LEN(num) (12+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_FPGAWRITE_BUFFER_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_FPGAWRITE_BUFFER_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_FPGAWRITE_BUFFER_MAXNUM 240
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Time adjustment in seconds */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_SECONDS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Time adjustment major value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_MAJOR_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Time adjustment in nanoseconds */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_NANOSECONDS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Time adjustment minor value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_MINOR_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Frequency adjustment 40 bit fixed point ns */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST_FREQ_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST_FREQ_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST_FREQ_LO_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST_FREQ_HI_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Number of fractional bits in frequency adjustment */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_ADJUST_BITS 0x28 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_RX_SET_VLAN_FILTER msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_VLAN_FILTER_LEN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of VLAN tags, 0 if not VLAN */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_VLAN_FILTER_NUM_VLAN_TAGS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Set of VLAN tags to filter against */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_VLAN_FILTER_VLAN_TAG_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_VLAN_FILTER_VLAN_TAG_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_VLAN_FILTER_VLAN_TAG_NUM 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_RX_SET_UUID_FILTER msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_LEN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 1 to enable UUID filtering, 0 to disable */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_ENABLE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* UUID to filter against */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_UUID_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_UUID_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_UUID_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_UUID_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_RX_SET_DOMAIN_FILTER msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_DOMAIN_FILTER_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 1 to enable Domain filtering, 0 to disable */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_DOMAIN_FILTER_ENABLE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Domain number to filter against */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_RX_SET_DOMAIN_FILTER_DOMAIN_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_SET_CLK_SRC msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Set the clock source. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Internal. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: External. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_RST_CLK msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Reset value of Timer Reg. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PPS_ENABLE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enable or disable */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Enable */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Disable */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Queue id to send events back */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_PPS_ENABLE_QUEUE_ID_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_GET_TIME_FORMAT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_GET_ATTRIBUTES msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_GET_TIMESTAMP_CORRECTIONS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_GET_TIMESTAMP_CORRECTIONS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Original field containing queue ID. Now extended to include flags. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE_QUEUE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE_QUEUE_ID_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE_QUEUE_ID_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE_REPORT_SYNC_STATUS_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE_REPORT_SYNC_STATUS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Unsubscribe options */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_CONTROL_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Unsubscribe a single queue */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_SINGLE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Unsubscribe all queues */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_ALL 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Event queue ID */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_QUEUE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_MANFTEST_PPS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 1 to enable PPS test mode, 0 to disable and return result. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_MANFTEST_PPS_TEST_ENABLE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_SET_SYNC_STATUS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* NIC - Host System Clock Synchronization status */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_SET_SYNC_STATUS_STATUS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Host System clock and NIC clock are not in sync */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_SET_SYNC_STATUS_NOT_IN_SYNC 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Host System clock and NIC clock are synchronized */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_SET_SYNC_STATUS_IN_SYNC 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* If synchronized, number of seconds until clocks should be considered to be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * no longer in sync.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_SET_SYNC_STATUS_TIMEOUT_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_SET_SYNC_STATUS_RESERVED0_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_IN_SET_SYNC_STATUS_RESERVED1_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_TRANSMIT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Value of seconds timestamp */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_TRANSMIT_SECONDS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Timestamp major value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Value of nanoseconds timestamp */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_TRANSMIT_NANOSECONDS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Timestamp minor value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_TIME_EVENT_SUBSCRIBE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_TIME_EVENT_SUBSCRIBE_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_TIME_EVENT_UNSUBSCRIBE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_TIME_EVENT_UNSUBSCRIBE_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_READ_NIC_TIME msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Value of seconds timestamp */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_READ_NIC_TIME_SECONDS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Timestamp major value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_READ_NIC_TIME_MAJOR_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Value of nanoseconds timestamp */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_READ_NIC_TIME_NANOSECONDS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Timestamp minor value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_READ_NIC_TIME_MINOR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_STATUS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Frequency of NIC's hardware clock */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_CLOCK_FREQ_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of packets transmitted and timestamped */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_TX_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of packets received and timestamped */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_RX_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of packets timestamped by the FPGA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_TS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of packets filter matched */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_FM_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of packets not filter matched */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_NFM_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of PPS overflows (noise on input?) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFLOW_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of PPS bad periods */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_BAD_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Minimum period of PPS pulse in nanoseconds */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MIN_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Maximum period of PPS pulse in nanoseconds */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MAX_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Last period of PPS pulse in nanoseconds */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_LAST_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Mean period of PPS pulse in nanoseconds */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MEAN_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Minimum offset of PPS pulse in nanoseconds (signed) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MIN_OFST 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Maximum offset of PPS pulse in nanoseconds (signed) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MAX_OFST 52
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Last offset of PPS pulse in nanoseconds (signed) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_LAST_OFST 56
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Mean offset of PPS pulse in nanoseconds (signed) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MEAN_OFST 60
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_SYNCHRONIZE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_LENMAX 240
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_LEN(num) (0+20*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* A set of host and NIC times */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_LEN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_MAXNUM 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Host time immediately before NIC's hardware clock read */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_HOSTSTART_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Value of seconds timestamp */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_SECONDS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Timestamp major value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_MAJOR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Value of nanoseconds timestamp */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_NANOSECONDS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Timestamp minor value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_MINOR_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Host time immediately after NIC's hardware clock read */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_HOSTEND_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of nanoseconds waited after reading NIC's hardware clock */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_SYNCHRONIZE_WAITNS_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_MANFTEST_BASIC msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Results of testing */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_MANFTEST_BASIC_TEST_RESULT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Successful test */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FPGA load failed */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FPGA version invalid */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FPGA registers incorrect */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Oscillator possibly not working? */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Timestamps not increasing */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Mismatched packet count */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Mismatched packet count (Siena filter and FPGA) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Not enough packets to perform timestamp check */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Timestamp trigger GPIO not working */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Insufficient PPS events to perform checks */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PPS time event period not sufficiently close to 1s. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PPS time event nS reading not sufficiently close to zero. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP peripheral registers incorrect */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Failed to read time from PTP peripheral */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Presence of external oscillator */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_MANFTEST_BASIC_TEST_EXTOSC_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_MANFTEST_PACKET msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_MANFTEST_PACKET_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Results of testing */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_MANFTEST_PACKET_TEST_RESULT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of packets received by FPGA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_MANFTEST_PACKET_TEST_FPGACOUNT_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of packets received by Siena filters */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_MANFTEST_PACKET_TEST_FILTERCOUNT_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_FPGAREAD msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_FPGAREAD_LEN(num) (0+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_FPGAREAD_BUFFER_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_FPGAREAD_BUFFER_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_FPGAREAD_BUFFER_MAXNUM 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_GET_TIME_FORMAT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Time format required/used by for this NIC. Applies to all PTP MCDI
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * operations that pass times between the host and firmware. If this operation
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * is not supported (older firmware) a format of seconds and nanoseconds should
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * be assumed.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIME_FORMAT_FORMAT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Times are in seconds and nanoseconds */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIME_FORMAT_SECONDS_NANOSECONDS 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Major register has units of 16 second per tick, minor 8 ns per tick */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIME_FORMAT_16SECONDS_8NANOSECONDS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Major register has units of seconds, minor 2^-27s per tick */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIME_FORMAT_SECONDS_27FRACTION 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_GET_ATTRIBUTES msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Time format required/used by for this NIC. Applies to all PTP MCDI
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * operations that pass times between the host and firmware. If this operation
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * is not supported (older firmware) a format of seconds and nanoseconds should
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * be assumed.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_TIME_FORMAT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Times are in seconds and nanoseconds */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_SECONDS_NANOSECONDS 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Major register has units of 16 second per tick, minor 8 ns per tick */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_16SECONDS_8NANOSECONDS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Major register has units of seconds, minor 2^-27s per tick */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_SECONDS_27FRACTION 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Minimum acceptable value for a corrected synchronization timeset. When
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * comparing host and NIC clock times, the MC returns a set of samples that
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * contain the host start and end time, the MC time when the host start was
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * detected and the time the MC waited between reading the time and detecting
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the host end. The corrected sync window is the difference between the host
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * end and start times minus the time that the MC waited for host end.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_SYNC_WINDOW_MIN_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Various PTP capabilities */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_CAPABILITIES_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_REPORT_SYNC_STATUS_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_REPORT_SYNC_STATUS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_RESERVED0_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_RESERVED1_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_RESERVED2_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Uncorrected error on PTP transmit timestamps in NIC clock format */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_TRANSMIT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Uncorrected error on PTP receive timestamps in NIC clock format */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_RECEIVE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Uncorrected error on PPS output in NIC clock format */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_PPS_OUT_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Uncorrected error on PPS input in NIC clock format */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_PPS_IN_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2 msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_LEN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Uncorrected error on PTP transmit timestamps in NIC clock format */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PTP_TX_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Uncorrected error on PTP receive timestamps in NIC clock format */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PTP_RX_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Uncorrected error on PPS output in NIC clock format */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PPS_OUT_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Uncorrected error on PPS input in NIC clock format */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PPS_IN_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Uncorrected error on non-PTP transmit timestamps in NIC clock format */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_GENERAL_TX_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Uncorrected error on non-PTP receive timestamps in NIC clock format */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_GENERAL_RX_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_MANFTEST_PPS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Results of testing */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PTP_OUT_MANFTEST_PPS_TEST_RESULT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_MANFTEST_BASIC/TEST_RESULT */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PTP_OUT_SET_SYNC_STATUS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CSR_READ32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read 32bit words from the indirect memory map.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xc_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CSR_READ32_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CSR_READ32_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CSR_READ32_OUT_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The last dword is the status, not a value read */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CSR_READ32_OUT_BUFFER_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CSR_READ32_OUT_BUFFER_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CSR_WRITE32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Write 32bit dwords to the indirect memory map.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xd_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CSR_WRITE32_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CSR_WRITE32_IN_LEN(num) (8+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CSR_WRITE32_IN_BUFFER_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CSR_WRITE32_IN_BUFFER_MAXNUM 61
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CSR_WRITE32_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * These commands are used for HP related features. They are grouped under one
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MCDI command to avoid creating too many MCDI commands.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x54_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_HP_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* HP OCSD sub-command. When address is not NULL, request activation of OCSD at
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the specified address with the specified interval.When address is NULL,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * INTERVAL is interpreted as a command: 0: stop OCSD / 1: Report OCSD current
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * state / 2: (debug) Show temperature reported by one of the supported
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: OCSD (Option Card Sensor Data) sub-command. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Last known valid HP sub-command. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The address to the array of sensor fields. (Or NULL to use a sub-command.)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The requested update interval, in seconds. (Or the sub-command if ADDR is
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_HP_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: OCSD stopped for this card. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: OCSD was successfully started with the address provided. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: OCSD was already started for this card. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_HP_OUT_OCSD_ALREADY_STARTED 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_STACKINFO
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get stack information.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xf_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_STACKINFO_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_STACKINFO_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_STACKINFO_OUT_LEN(num) (0+12*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* (thread ptr, stack size, free space) for each thread in system */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_STACKINFO_OUT_THREAD_INFO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_STACKINFO_OUT_THREAD_INFO_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_STACKINFO_OUT_THREAD_INFO_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_STACKINFO_OUT_THREAD_INFO_MAXNUM 21
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MDIO_READ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MDIO register read.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x10_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MDIO_READ_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bus number; there are two MDIO buses: one for the internal PHY, and one for
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * external devices.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Internal. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: External. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Port address */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Device Address or clause 22. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: By default all the MCDI MDIO operations perform clause45 mode. If you
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * want to use clause22 then set DEVAD = MC_CMD_MDIO_CLAUSE22.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MDIO_READ_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Status the MDIO commands return the raw status bits from the MDIO block. A
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * "good" transaction should have the DONE bit set and all other bits clear.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Good. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MDIO_WRITE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MDIO register write.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x11_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MDIO_WRITE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bus number; there are two MDIO buses: one for the internal PHY, and one for
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * external devices.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Internal. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MDIO_BUS_INTERNAL 0x0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: External. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MDIO_BUS_EXTERNAL 0x1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Port address */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Device Address or clause 22. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: By default all the MCDI MDIO operations perform clause45 mode. If you
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * want to use clause22 then set DEVAD = MC_CMD_MDIO_CLAUSE22.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MDIO_CLAUSE22 0x20 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MDIO_WRITE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Status; the MDIO commands return the raw status bits from the MDIO block. A
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * "good" transaction should have the DONE bit set and all other bits clear.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Good. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MDIO_STATUS_GOOD 0x8 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DBI_WRITE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Write DBI register(s).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x12_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DBI_WRITE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBI_WRITE_IN_LEN(num) (0+12*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Each write op consists of an address (offset 0), byte enable/VF/CS2 (offset
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 32) and value (offset 64). See MC_CMD_DBIWROP_TYPEDEF.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBI_WRITE_IN_DBIWROP_MAXNUM 21
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DBI_WRITE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DBIWROP_TYPEDEF structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIWROP_TYPEDEF_ADDRESS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIWROP_TYPEDEF_ADDRESS_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIWROP_TYPEDEF_VF_NUM_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIWROP_TYPEDEF_VF_ACTIVE_LBN 15
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIWROP_TYPEDEF_VF_ACTIVE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIWROP_TYPEDEF_PARMS_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIWROP_TYPEDEF_VALUE_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_READ32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read a 32-bit register from the indirect port register map. The port to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * access is implied by the Shared memory channel used.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_READ32_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_READ32_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_WRITE32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Write a 32-bit register to the indirect port register map. The port to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * access is implied by the Shared memory channel used.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_WRITE32_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_WRITE32_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PORT_WRITE32_OUT_STATUS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_READ128
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read a 128-bit register from the indirect port register map. The port to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * access is implied by the Shared memory channel used.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_READ128_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_READ128_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PORT_READ128_OUT_STATUS_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_WRITE128
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Write a 128-bit register to the indirect port register map. The port to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * access is implied by the Shared memory channel used.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_WRITE128_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_WRITE128_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PORT_WRITE128_OUT_STATUS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CAPABILITIES structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Small buf table. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAPABILITIES_SMALL_BUF_TBL_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAPABILITIES_SMALL_BUF_TBL_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Turbo mode (for Maranello). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Turbo mode active (for Maranello). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAPABILITIES_TURBO_ACTIVE_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAPABILITIES_TURBO_ACTIVE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* PTP offload. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* AOE mode. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* AOE mode active. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAPABILITIES_AOE_ACTIVE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* AOE mode active. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAPABILITIES_FC_ACTIVE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAPABILITIES_RESERVED_WIDTH 25
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_BOARD_CFG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Returns the MC firmware configuration structure.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x18_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_BOARD_CFG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_BOARD_CFG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_LEN(num) (72+2*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_BOARD_TYPE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_BOARD_NAME_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_BOARD_NAME_LEN 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* See MC_CMD_CAPABILITIES */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_CAPABILITIES_PORT0_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* See MC_CMD_CAPABILITIES */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_CAPABILITIES_PORT1_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_MAC_ADDR_BASE_PORT0_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_MAC_ADDR_BASE_PORT0_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_MAC_ADDR_BASE_PORT1_OFST 50
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_MAC_ADDR_BASE_PORT1_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_MAC_COUNT_PORT0_OFST 56
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_MAC_COUNT_PORT1_OFST 60
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_MAC_STRIDE_PORT0_OFST 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_MAC_STRIDE_PORT1_OFST 68
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* This field contains a 16-bit value for each of the types of NVRAM area. The
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * values are defined in the firmware/mc/platform/.c file for a specific board
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * type, but otherwise have no meaning to the MC; they are used by the driver
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * to manage selection of appropriate firmware updates.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_OFST 72
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_MINNUM 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_MAXNUM 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DBI_READX
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read DBI register(s) -- extended functionality
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x19_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DBI_READX_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBI_READX_IN_LEN(num) (0+8*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Each Read op consists of an address (offset 0), VF/CS2) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBI_READX_IN_DBIRDOP_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBI_READX_IN_DBIRDOP_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBI_READX_IN_DBIRDOP_MAXNUM 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DBI_READX_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBI_READX_OUT_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DBIRDOP_TYPEDEF structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIRDOP_TYPEDEF_ADDRESS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIRDOP_TYPEDEF_ADDRESS_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIRDOP_TYPEDEF_VF_NUM_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIRDOP_TYPEDEF_VF_ACTIVE_LBN 15
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIRDOP_TYPEDEF_VF_ACTIVE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DBIRDOP_TYPEDEF_PARMS_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_RAND_SEED
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set the 16byte seed for the MC pseudo-random generator.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x1a_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_RAND_SEED_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Seed value. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_RAND_SEED_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LTSSM_HIST
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Retrieve the history of the LTSSM, if the build supports it.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LTSSM_HIST_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LTSSM_HIST_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LTSSM_HIST_OUT_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* variable number of LTSSM values, as bytes. The history is read-to-clear. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DRV_ATTACH
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Inform MCPU that this port is managed on the host (i.e. driver active). For
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Huntington, also request the preferred datapath firmware to use if possible
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (it may not be possible for this request to be fulfilled; the driver must
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * issue a subsequent MC_CMD_GET_CAPABILITIES command to determine which
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * features are actually available). The FIRMWARE_ID field is ignored by older
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x1c_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DRV_ATTACH_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* new state to set if UPDATE=1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DRV_ATTACH_IN_NEW_STATE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 1 to set new state, or 0 to just report the existing state */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* preferred datapath firmware (for Huntington; ignored for Siena) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DRV_ATTACH_IN_FIRMWARE_ID_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Prefer to use full featured firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Prefer to use firmware with fewer features but lower latency */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Prefer to use firmware for SolarCapture packed stream mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Prefer to use firmware with fewer features and simpler TX event
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * batching but higher TX packet rate
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Reserved value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FW_PACKED_STREAM_HASH_MODE_1 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Only this option is allowed for non-admin functions */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DRV_ATTACH_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* previous or existing state, see the bitmask at NEW_STATE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DRV_ATTACH_OUT_OLD_STATE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DRV_ATTACH_EXT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* previous or existing state, see the bitmask at NEW_STATE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DRV_ATTACH_EXT_OUT_OLD_STATE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Flags associated with this function */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DRV_ATTACH_EXT_OUT_FUNC_FLAGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Labels the lowest-numbered function visible to the OS */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DRV_ATTACH_EXT_OUT_FLAG_PRIMARY 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The function can control the link state of the physical port it is
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DRV_ATTACH_EXT_OUT_FLAG_LINKCTRL 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The function can perform privileged operations */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DRV_ATTACH_EXT_OUT_FLAG_TRUSTED 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The function does not have an active port associated with it. The port
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * refers to the Sorrento external FPGA port.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DRV_ATTACH_EXT_OUT_FLAG_NO_ACTIVE_PORT 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SHMUART
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Route UART output to circular buffer in shared memory instead.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SHMUART_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SHMUART_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_RESET
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Generic per-port reset. There is no equivalent for per-board reset. Locks
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * required: None; Return code: 0, ETIME. NOTE: This command is deprecated -
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * use MC_CMD_ENTITY_RESET instead.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x20_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_RESET_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PORT_RESET_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ENTITY_RESET
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Generic per-resource reset. There is no equivalent for per-board reset.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Locks required: None; Return code: 0, ETIME. NOTE: This command is an
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * extended version of the deprecated MC_CMD_PORT_RESET with added fields.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_0x20_PRIVILEGE_CTG SRIOV_CTG_GENERAL */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ENTITY_RESET_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Optional flags field. Omitting this will perform a "legacy" reset action
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ENTITY_RESET_IN_FUNCTION_RESOURCE_RESET_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ENTITY_RESET_IN_FUNCTION_RESOURCE_RESET_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ENTITY_RESET_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_CREDITS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read instantaneous and minimum flow control thresholds.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_CREDITS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* poll period. 0 is disabled */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_IN_POLL_PERIOD_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* wipe statistics */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_CREDITS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_CURRENT_P_HDR_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_CURRENT_P_HDR_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_CURRENT_P_DATA_OFST 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_CURRENT_P_DATA_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_CURRENT_NP_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_CURRENT_NP_HDR_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_CURRENT_NP_DATA_OFST 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_CURRENT_NP_DATA_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_MINIMUM_P_HDR_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_MINIMUM_P_HDR_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_MINIMUM_P_DATA_OFST 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_MINIMUM_P_DATA_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_MINIMUM_NP_HDR_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_MINIMUM_NP_HDR_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_MINIMUM_NP_DATA_OFST 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_CREDITS_OUT_MINIMUM_NP_DATA_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RXD_MONITOR
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get histogram of RX queue fill level.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RXD_MONITOR_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_IN_POLL_PERIOD_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RXD_MONITOR_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_RING_FILL_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_CACHE_FILL_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_RING_LT_1_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_RING_LT_2_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_RING_LT_4_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_RING_LT_8_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_RING_LT_16_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_RING_LT_32_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_RING_LT_64_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_RING_LT_128_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_RING_LT_256_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_RING_GE_256_OFST 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_CACHE_LT_1_OFST 52
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_CACHE_LT_2_OFST 56
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_CACHE_LT_4_OFST 60
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_CACHE_LT_8_OFST 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_CACHE_LT_16_OFST 68
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_CACHE_LT_32_OFST 72
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RXD_MONITOR_OUT_CACHE_GE_32_OFST 76
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PUTS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Copy the given ASCII string out onto UART and/or out of the network port.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x23_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PUTS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PUTS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PHY_CFG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Report PHY configuration. This guarantees to succeed even if the PHY is in a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 'zombie' state. Locks required: None
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x24_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PHY_CFG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PHY_CFG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_PRESENT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_BIST_CABLE_SHORT_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_BIST_CABLE_SHORT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_BIST_CABLE_LONG_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_BIST_CABLE_LONG_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_LOWPOWER_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_LOWPOWER_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_POWEROFF_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_POWEROFF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bitmask of supported capabilities */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_SUPPORTED_CAP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_CHANNEL_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_STATS_MASK_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_MEDIA_TYPE_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Xaui. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CX4. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: KX4. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XFP Far. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SFP+. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 10GBaseT. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: QSFP+. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_MMD_MASK_OFST 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Native clause 22 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MMD_CLAUSE45_PMAPMD 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MMD_CLAUSE45_WIS 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MMD_CLAUSE45_PCS 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MMD_CLAUSE45_PHYXS 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MMD_CLAUSE45_DTEXS 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MMD_CLAUSE45_TC 0x6 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MMD_CLAUSE45_AN 0x7 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Clause22 proxied over clause45 by PHY. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MMD_CLAUSE45_VEND1 0x1e /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MMD_CLAUSE45_VEND2 0x1f /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_REVISION_OFST 52
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_CFG_OUT_REVISION_LEN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_START_BIST
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Start a BIST test on the PHY. Locks required: PHY_LOCK if doing a PHY BIST
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Return code: 0, EINVAL, EACCES (if PHY_LOCK is not held)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x25_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_START_BIST_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Type of test. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Run the PHY's short cable BIST. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Run the PHY's long cable BIST. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Run BIST on the currently selected BPX Serdes (XAUI or XFI) . */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Run the MC loopback tests. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Run the PHY's standard BIST. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Run MC RAM test. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Run Port RAM test. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Run register test. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_START_BIST_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_POLL_BIST
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Poll for BIST completion. Returns a single status code, and optionally some
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PHY specific bist output. The driver should only consume the BIST output
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * after validating OUTLEN and MC_CMD_GET_PHY_CFG.TYPE. If a driver can't
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * successfully parse the BIST output, it should still respect the pass/Fail in
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * OUT.RESULT. Locks required: PHY_LOCK if doing a PHY BIST. Return code: 0,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * EACCES (if PHY_LOCK is not held).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x26_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_POLL_BIST_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_POLL_BIST_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Running. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Passed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Failed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Timed-out. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_POLL_BIST_OUT_SFT9001 msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_POLL_BIST_OUT_RESULT_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_POLL_BIST_OUT/MC_CMD_POLL_BIST_OUT_RESULT */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_A_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_B_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_C_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_D_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Status of each channel A */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_A_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Ok. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Open. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_SFT9001_PAIR_OPEN 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Intra-pair short. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_SFT9001_INTRA_PAIR_SHORT 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Inter-pair short. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_SFT9001_INTER_PAIR_SHORT 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Busy. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_SFT9001_PAIR_BUSY 0x9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Status of each channel B */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_B_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* CABLE_STATUS_A */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Status of each channel C */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_C_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* CABLE_STATUS_A */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Status of each channel D */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_D_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* CABLE_STATUS_A */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_POLL_BIST_OUT_MRSFP msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_POLL_BIST_OUT_RESULT_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_POLL_BIST_OUT/MC_CMD_POLL_BIST_OUT_RESULT */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_MRSFP_TEST_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Complete. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MRSFP_TEST_COMPLETE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bus switch off I2C write. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MRSFP_TEST_BUS_SWITCH_OFF_I2C_WRITE 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bus switch off I2C no access IO exp. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MRSFP_TEST_BUS_SWITCH_OFF_I2C_NO_ACCESS_IO_EXP 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bus switch off I2C no access module. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MRSFP_TEST_BUS_SWITCH_OFF_I2C_NO_ACCESS_MODULE 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: IO exp I2C configure. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MRSFP_TEST_IO_EXP_I2C_CONFIGURE 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bus switch I2C no cross talk. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MRSFP_TEST_BUS_SWITCH_I2C_NO_CROSSTALK 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Module presence. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MRSFP_TEST_MODULE_PRESENCE 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Module ID I2C access. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MRSFP_TEST_MODULE_ID_I2C_ACCESS 0x7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Module ID sane value. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MRSFP_TEST_MODULE_ID_SANE_VALUE 0x8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_POLL_BIST_OUT_MEM msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_POLL_BIST_OUT_RESULT_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_POLL_BIST_OUT/MC_CMD_POLL_BIST_OUT_RESULT */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Test has completed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RAM test - walk ones. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MEM_MEM_WALK_ONES 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RAM test - walk zeros. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MEM_MEM_WALK_ZEROS 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RAM test - walking inversions zeros/ones. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MEM_MEM_INV_ZERO_ONE 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RAM test - walking inversions checkerboard. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MEM_MEM_INV_CHKBOARD 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Register test - set / clear individual bits. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: ECC error detected. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Failure address, only valid if result is POLL_BIST_FAILED */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bus or address space to which the failure address corresponds */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MC MIPS bus. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CSR IREG bus. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX DPCPU bus. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MEM_BUS_DPCPU_RX 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX0 DPCPU bus. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MEM_BUS_DPCPU_TX0 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX1 DPCPU bus. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MEM_BUS_DPCPU_TX1 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX DICPU bus. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MEM_BUS_DICPU_RX 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX DICPU bus. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_MEM_BUS_DICPU_TX 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Pattern written to RAM / register */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_MEM_EXPECT_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Actual value read from RAM / register */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_MEM_ACTUAL_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* ECC error mask */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* ECC parity error mask */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_MEM_ECC_PARITY_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* ECC fatal error mask */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_POLL_BIST_OUT_MEM_ECC_FATAL_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FLUSH_RX_QUEUES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Flush receive queue(s). If SRIOV is enabled (via MC_CMD_SRIOV), then RXQ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * flushes should be initiated via this MCDI operation, rather than via
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * directly writing FLUSH_CMD.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * The flush is completed (either done/fail) asynchronously (after this command
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * returns). The driver must still wait for flush done/failure events as usual.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FLUSH_RX_QUEUES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FLUSH_RX_QUEUES_IN_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FLUSH_RX_QUEUES_IN_QID_OFST_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FLUSH_RX_QUEUES_IN_QID_OFST_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FLUSH_RX_QUEUES_IN_QID_OFST_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FLUSH_RX_QUEUES_IN_QID_OFST_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FLUSH_RX_QUEUES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LOOPBACK_MODES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Returns a bitmask of loopback modes available at each speed.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x28_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LOOPBACK_MODES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LOOPBACK_MODES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Supported loopbacks. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_100M_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_100M_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_100M_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_100M_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: None. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Data. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: GMAC. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XGMII. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XGXS. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XAUI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: GMII. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SGMII. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XGBR. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XFI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XAUI Far. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: GMII Far. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SGMII Far. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XFI Far. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: GPhy. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PhyXS. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PCS. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PMA-PMD. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Cross-Port. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XGMII-Wireside. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XAUI Wireside. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XAUI Wireside Far. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XAUI Wireside near. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: GMII Wireside. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XFI Wireside. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: XFI Wireside Far. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PhyXS Wireside. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PMA lanes MAC-Serdes. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: KR Serdes Parallel (Encoder). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: KR Serdes Serial. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PMA lanes MAC-Serdes Wireside. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: KR Serdes Parallel Wireside (Full PCS). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: KR Serdes Parallel Wireside (Sym Aligner to TX). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: KR Serdes Parallel Wireside (Deserializer to Serializer). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: KR Serdes Serial Wireside. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Near side of AOE Siena side port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Medford Wireside datapath loopback */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Force link up without setting up any physical loopback (snapper use
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Supported loopbacks. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_1G_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_1G_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_1G_LO_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_1G_HI_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Supported loopbacks. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_10G_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_10G_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_10G_LO_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_10G_HI_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Supported loopbacks. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_SUGGESTED_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_SUGGESTED_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_SUGGESTED_LO_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_SUGGESTED_HI_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Supported loopbacks. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_40G_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_40G_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_40G_LO_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LOOPBACK_MODES_OUT_40G_HI_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LINK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read the unified MAC/PHY link state. Locks required: None Return code: 0,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x29_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LINK_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LINK_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* near-side advertised capabilities */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* link-partner advertised capabilities */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Autonegotiated speed in mbit/s. The link may still be down even if this
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * reads non-zero.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LINK_OUT_LINK_SPEED_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Current loopback setting. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LINK_OUT_LOOPBACK_MODE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LOOPBACK_MODES/MC_CMD_GET_LOOPBACK_MODES_OUT/100M */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LINK_OUT_FULL_DUPLEX_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LINK_OUT_FULL_DUPLEX_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LINK_OUT_LINK_FAULT_RX_LBN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LINK_OUT_LINK_FAULT_RX_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LINK_OUT_LINK_FAULT_TX_LBN 7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LINK_OUT_LINK_FAULT_TX_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* This returns the negotiated flow control value. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LINK_OUT_MAC_FAULT_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_FAULT_XGMII_REMOTE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_FAULT_SGMII_REMOTE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_FAULT_PENDING_RECONFIG_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_FAULT_PENDING_RECONFIG_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_LINK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Write the unified MAC/PHY link configuration. Locks required: None. Return
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * code: 0, EINVAL, ETIME
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x2a_PRIVILEGE_CTG SRIOV_CTG_LINK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_LINK_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Loopback mode. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_LINK_IN_LOOPBACK_MODE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LOOPBACK_MODES/MC_CMD_GET_LOOPBACK_MODES_OUT/100M */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* A loopback speed of "0" is supported, and means (choose any available
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_LINK_IN_LOOPBACK_SPEED_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_LINK_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_ID_LED
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set identification LED state. Locks required: None. Return code: 0, EINVAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x2b_PRIVILEGE_CTG SRIOV_CTG_LINK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_ID_LED_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Set LED state. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_ID_LED_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_MAC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set MAC configuration. Locks required: None. Return code: 0, EINVAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x2c_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_MAC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The MTU is the MTU programmed directly into the XMAC/GMAC (inclusive of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * EtherII, VLAN, bug16011 padding).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_IN_REJECT_UNCST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_IN_REJECT_BRDCST_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_IN_REJECT_BRDCST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Flow control is off. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Respond to flow control. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Respond to and Issue flow control. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Auto neg flow control. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Priority flow control (eftest builds only). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Issue flow control. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_IN_FLAG_INCLUDE_FCS_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_IN_FLAG_INCLUDE_FCS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_MAC_EXT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The MTU is the MTU programmed directly into the XMAC/GMAC (inclusive of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * EtherII, VLAN, bug16011 padding).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_ADDR_HI_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_REJECT_UNCST_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_REJECT_UNCST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_REJECT_BRDCST_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_REJECT_BRDCST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Flow control is off. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FCNTL_OFF 0x0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Respond to flow control. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FCNTL_RESPOND 0x1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Respond to and Issue flow control. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FCNTL_BIDIR 0x2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Auto neg flow control. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FCNTL_AUTO 0x3 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Priority flow control (eftest builds only). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FCNTL_QBB 0x4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Issue flow control. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FCNTL_GENERATE 0x5 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_FLAG_INCLUDE_FCS_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_FLAG_INCLUDE_FCS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Select which parameters to configure. A parameter will only be modified if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the corresponding control flag is set. If SET_MAC_ENHANCED is not set in
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * capabilities then this field is ignored (and all flags are assumed to be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_CONTROL_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_CFG_MTU_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_CFG_DRAIN_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_CFG_DRAIN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_CFG_REJECT_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_CFG_REJECT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_CFG_FCNTL_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_CFG_FCNTL_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MAC_EXT_IN_CFG_FCS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_MAC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PHY_STATS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get generic PHY statistics. This call returns the statistics for a generic
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PHY in a sparse array (indexed by the enumerate). Each value is represented
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * by a 32bit number. If the DMA_ADDR is 0, then no DMA is performed, and the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * statistics may be read from the message response. If DMA_ADDR != 0, then the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * statistics are dmad to that (page-aligned location). Locks required: None.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Returns: 0, ETIME
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x2d_PRIVILEGE_CTG SRIOV_CTG_LINK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PHY_STATS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PHY_STATS_IN_DMA_ADDR_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PHY_STATS_IN_DMA_ADDR_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PHY_STATS_OUT_DMA msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PHY_STATS_OUT_NO_DMA msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PHY_STATS_OUT_NO_DMA_LEN (((MC_CMD_PHY_NSTATS*32))>>3)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PHY_STATS_OUT_NO_DMA_STATISTICS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PHY_STATS_OUT_NO_DMA_STATISTICS_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PHY_STATS_OUT_NO_DMA_STATISTICS_NUM MC_CMD_PHY_NSTATS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: OUI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PMA-PMD Link Up. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PMA-PMD RX Fault. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PMA-PMD TX Fault. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PMA-PMD Signal */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PMA-PMD SNR A. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PMA-PMD SNR B. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PMA-PMD SNR C. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PMA-PMD SNR D. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PCS Link Up. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PCS RX Fault. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PCS TX Fault. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PCS BER. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PCS Block Errors. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PhyXS Link Up. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PhyXS RX Fault. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PhyXS TX Fault. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PhyXS Align. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PhyXS Sync. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AN link-up. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AN Complete. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AN 10GBaseT Status. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Clause 22 Link-Up. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: (Last entry) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MAC_STATS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get generic MAC statistics. This call returns unified statistics maintained
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * by the MC as it switches between the GMAC and XMAC. The MC will write out
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * all supported stats. The driver should zero initialise the buffer to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * guarantee consistent results. If the DMA_ADDR is 0, then no DMA is
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * performed, and the statistics may be read from the message response. If
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * DMA_ADDR != 0, then the statistics are dmad to that (page-aligned location).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Locks required: None. The PERIODIC_CLEAR option is not used and now has no
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * effect. Returns: 0, ETIME
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x2e_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MAC_STATS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_IN_DMA_ADDR_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_IN_DMA_ADDR_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_IN_PERIODIC_CHANGE_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_IN_PERIODIC_CHANGE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_IN_PERIODIC_ENABLE_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_IN_PERIODIC_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_IN_PERIODIC_CLEAR_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_IN_PERIODIC_CLEAR_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_IN_PERIODIC_NOEVENT_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_IN_PERIODIC_NOEVENT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_IN_PERIOD_MS_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* port id so vadapter stats can be provided */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MAC_STATS_OUT_DMA msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MAC_STATS_OUT_NO_DMA msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_OUT_NO_DMA_LEN (((MC_CMD_MAC_NSTATS*64))>>3)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_OUT_NO_DMA_STATISTICS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_OUT_NO_DMA_STATISTICS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_OUT_NO_DMA_STATISTICS_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_OUT_NO_DMA_STATISTICS_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_STATS_OUT_NO_DMA_STATISTICS_NUM MC_CMD_MAC_NSTATS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_GENERATION_START 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_DMABUF_START 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_PAUSE_PKTS 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_CONTROL_PKTS 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_UNICAST_PKTS 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_MULTICAST_PKTS 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_BROADCAST_PKTS 0x6 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_BAD_BYTES 0x8 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_LT64_PKTS 0x9 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_65_TO_127_PKTS 0xb /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_128_TO_255_PKTS 0xc /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_256_TO_511_PKTS 0xd /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_512_TO_1023_PKTS 0xe /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_1024_TO_15XX_PKTS 0xf /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_15XX_TO_JUMBO_PKTS 0x10 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_GTJUMBO_PKTS 0x11 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_BAD_FCS_PKTS 0x12 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_SINGLE_COLLISION_PKTS 0x13 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_MULTIPLE_COLLISION_PKTS 0x14 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_EXCESSIVE_COLLISION_PKTS 0x15 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_LATE_COLLISION_PKTS 0x16 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_DEFERRED_PKTS 0x17 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_EXCESSIVE_DEFERRED_PKTS 0x18 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_NON_TCPUDP_PKTS 0x19 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_MAC_SRC_ERR_PKTS 0x1a /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_TX_IP_SRC_ERR_PKTS 0x1b /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_PAUSE_PKTS 0x1d /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_GOOD_PKTS 0x1e /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_CONTROL_PKTS 0x1f /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_UNICAST_PKTS 0x20 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_MULTICAST_PKTS 0x21 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_BROADCAST_PKTS 0x22 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_BAD_BYTES 0x24 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_64_PKTS 0x25 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_65_TO_127_PKTS 0x26 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_128_TO_255_PKTS 0x27 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_256_TO_511_PKTS 0x28 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_512_TO_1023_PKTS 0x29 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_1024_TO_15XX_PKTS 0x2a /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_15XX_TO_JUMBO_PKTS 0x2b /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_GTJUMBO_PKTS 0x2c /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_UNDERSIZE_PKTS 0x2d /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_BAD_FCS_PKTS 0x2e /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_OVERFLOW_PKTS 0x2f /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_FALSE_CARRIER_PKTS 0x30 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_SYMBOL_ERROR_PKTS 0x31 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_ALIGN_ERROR_PKTS 0x32 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_LENGTH_ERROR_PKTS 0x33 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_INTERNAL_ERROR_PKTS 0x34 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_JABBER_PKTS 0x35 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_NODESC_DROPS 0x36 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_LANES01_CHAR_ERR 0x37 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_LANES23_CHAR_ERR 0x38 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_LANES01_DISP_ERR 0x39 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_LANES23_DISP_ERR 0x3a /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RX_MATCH_FAULT 0x3b /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PM trunc_bb_overflow counter. Valid for EF10 with PM_AND_RXDP_COUNTERS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * capability only.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PM discard_bb_overflow counter. Valid for EF10 with
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PM_AND_RXDP_COUNTERS capability only.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_PM_DISCARD_BB_OVERFLOW 0x3d
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PM trunc_vfifo_full counter. Valid for EF10 with PM_AND_RXDP_COUNTERS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * capability only.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PM discard_vfifo_full counter. Valid for EF10 with
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PM_AND_RXDP_COUNTERS capability only.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_PM_DISCARD_VFIFO_FULL 0x3f
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PM trunc_qbb counter. Valid for EF10 with PM_AND_RXDP_COUNTERS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * capability only.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PM discard_qbb counter. Valid for EF10 with PM_AND_RXDP_COUNTERS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * capability only.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PM discard_mapping counter. Valid for EF10 with PM_AND_RXDP_COUNTERS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * capability only.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP counter: Number of packets dropped due to the queue being
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * disabled. Valid for EF10 with PM_AND_RXDP_COUNTERS capability only.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP counter: Number of packets dropped by the DICPU. Valid for EF10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * with PM_AND_RXDP_COUNTERS capability only.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP counter: Number of non-host packets. Valid for EF10 with
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PM_AND_RXDP_COUNTERS capability only.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP counter: Number of times an hlb descriptor fetch was performed.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Valid for EF10 with PM_AND_RXDP_COUNTERS capability only.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RXDP_HLB_FETCH_CONDITIONS 0x47
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP counter: Number of times the DPCPU waited for an existing
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * descriptor fetch. Valid for EF10 with PM_AND_RXDP_COUNTERS capability only.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_RXDP_HLB_WAIT_CONDITIONS 0x48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_RX_DMABUF_START 0x4c /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_RX_UNICAST_PACKETS 0x4c /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_RX_UNICAST_BYTES 0x4d /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_RX_MULTICAST_PACKETS 0x4e /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_RX_MULTICAST_BYTES 0x4f /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_RX_BROADCAST_PACKETS 0x50 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_RX_BROADCAST_BYTES 0x51 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_RX_BAD_PACKETS 0x52 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_RX_BAD_BYTES 0x53 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_RX_OVERFLOW 0x54 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_TX_DMABUF_START 0x57 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_TX_UNICAST_PACKETS 0x57 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_TX_UNICAST_BYTES 0x58 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_TX_MULTICAST_PACKETS 0x59 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_TX_MULTICAST_BYTES 0x5a /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_TX_BROADCAST_PACKETS 0x5b /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_TX_BROADCAST_BYTES 0x5c /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_TX_BAD_PACKETS 0x5d /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_TX_BAD_BYTES 0x5e /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_VADAPTER_TX_OVERFLOW 0x5f /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Start of GMAC stats buffer space, for Siena only. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: End of GMAC stats buffer space, for Siena only. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MAC_GENERATION_END 0x60 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SRIOV
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * to be documented
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SRIOV_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SRIOV_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MEMCPY_RECORD_TYPEDEF structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* this is only used for the first record */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_NUM_RECORDS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_NUM_RECORDS_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_NUM_RECORDS_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_RID_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_RID_LBN 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_RID_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_ADDR_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_ADDR_LO_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_ADDR_HI_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_ADDR_LBN 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_ADDR_WIDTH 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_RID_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_RID_INLINE 0x100 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_RID_LBN 128
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_RID_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_ADDR_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_ADDR_LO_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_ADDR_HI_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_ADDR_LBN 160
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_ADDR_WIDTH 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_LENGTH_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_LENGTH_LBN 224
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_RECORD_TYPEDEF_LENGTH_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MEMCPY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * DMA write data into (Rid,Addr), either by dma reading (Rid,Addr), or by data
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * embedded directly in the command.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * A common pattern is for a client to use generation counts to signal a dma
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * update of a datastructure. To facilitate this, this MCDI operation can
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * contain multiple requests which are executed in strict order. Requests take
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the form of duplicating the entire MCDI request continuously (including the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * requests record, which is ignored in all but the first structure)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * The source data can either come from a DMA from the host, or it can be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * embedded within the request directly, thereby eliminating a DMA read. To
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * indicate this, the client sets FROM_RID=%RID_INLINE, ADDR_HI=0, and
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * ADDR_LO=offset, and inserts the data at %offset from the start of the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * payload. It's the callers responsibility to ensure that the embedded data
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * doesn't overlap the records.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Returns: 0, EINVAL (invalid RID)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MEMCPY_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MEMCPY_IN_LEN(num) (0+32*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* see MC_CMD_MEMCPY_RECORD_TYPEDEF */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MEMCPY_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set a WoL filter.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x32_PRIVILEGE_CTG SRIOV_CTG_LINK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_MODE_SIMPLE 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_MODE_STRUCTURED 0xffffffff /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* A type value of 1 is unused. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Magic */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MS Windows Magic */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: IPv4 Syn */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: IPv6 Syn */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bitmap */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Link */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: (Above this for future use) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_MAGIC msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_MAGIC_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_MAGIC_MAC_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_MAGIC_MAC_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_MAGIC_MAC_LO_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_MAGIC_MAC_HI_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_LEN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_SRC_IP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_DST_IP_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_SRC_PORT_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_SRC_PORT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_DST_PORT_OFST 18
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_DST_PORT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_LEN 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_SRC_IP_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_SRC_IP_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_DST_IP_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_DST_IP_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_SRC_PORT_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_SRC_PORT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_DST_PORT_OFST 42
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_IPV6_SYN_DST_PORT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_BITMAP msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_LEN 187
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_MASK_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_MASK_LEN 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_BITMAP_OFST 56
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_BITMAP_LEN 128
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_LEN_OFST 184
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_LEN_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_LAYER3_OFST 185
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_LAYER3_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_LAYER4_OFST 186
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_BITMAP_LAYER4_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_LINK msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_LINK_MASK_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_LINK_UP_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_LINK_UP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_LINK_DOWN_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_IN_LINK_DOWN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_SET_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_SET_OUT_FILTER_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_REMOVE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Remove a WoL filter. Locks required: None. Returns: 0, EINVAL, ENOSYS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x33_PRIVILEGE_CTG SRIOV_CTG_LINK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_REMOVE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_REMOVE_IN_FILTER_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_REMOVE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_RESET
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Reset (i.e. remove all) WoL filters. Locks required: None. Returns: 0,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x34_PRIVILEGE_CTG SRIOV_CTG_LINK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_RESET_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_RESET_IN_MASK_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_RESET_IN_WAKE_FILTERS 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_RESET_IN_LIGHTSOUT_OFFLOADS 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_RESET_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_MCAST_HASH
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set the MCAST hash value without otherwise reconfiguring the MAC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_MCAST_HASH_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MCAST_HASH_IN_HASH0_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MCAST_HASH_IN_HASH0_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MCAST_HASH_IN_HASH1_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_MCAST_HASH_IN_HASH1_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_MCAST_HASH_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Return bitfield indicating available types of virtual NVRAM partitions.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Locks required: none. Returns: 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x36_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bit mask of supported types. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Disabled callisto. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_TYPE_DISABLED_CALLISTO 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MC firmware. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MC backup firmware. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Static configuration Port0. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_TYPE_STATIC_CFG_PORT0 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Static configuration Port1. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_TYPE_STATIC_CFG_PORT1 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Dynamic configuration Port0. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_TYPE_DYNAMIC_CFG_PORT0 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Dynamic configuration Port1. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_TYPE_DYNAMIC_CFG_PORT1 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Expansion Rom. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Expansion Rom Configuration Port0. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_TYPE_EXP_ROM_CFG_PORT0 0x8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Expansion Rom Configuration Port1. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_TYPE_EXP_ROM_CFG_PORT1 0x9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Phy Configuration Port0. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Phy Configuration Port1. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Log. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FPGA image. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FPGA backup image */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FC firmware. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FC backup firmware. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CPLD image. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Licensing information. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FC Log. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Additional flash on FPGA. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_INFO
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read info about a virtual NVRAM partition. Locks required: none. Returns: 0,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * EINVAL (bad type).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x37_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_INFO_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES/MC_CMD_NVRAM_TYPES_OUT/TYPES */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_INFO_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES/MC_CMD_NVRAM_TYPES_OUT/TYPES */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_INFO_OUT_ERASESIZE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_INFO_OUT_PROTECTED_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_INFO_OUT_PROTECTED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_INFO_OUT_PHYSDEV_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_INFO_OUT_PHYSADDR_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_INFO_V2_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES/MC_CMD_NVRAM_TYPES_OUT/TYPES */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_INFO_V2_OUT_ERASESIZE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_INFO_V2_OUT_FLAGS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_INFO_V2_OUT_PROTECTED_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_INFO_V2_OUT_PROTECTED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_INFO_V2_OUT_PHYSDEV_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_INFO_V2_OUT_PHYSADDR_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Writes must be multiples of this size. Added to support the MUM on Sorrento.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_INFO_V2_OUT_WRITESIZE_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_UPDATE_START
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Start a group of update operations on a virtual NVRAM partition. Locks
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * required: PHY_LOCK if type==*PHY*. Returns: 0, EINVAL (bad type), EACCES (if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PHY_LOCK required and not held).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x38_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_UPDATE_START_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_UPDATE_START_IN_TYPE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES/MC_CMD_NVRAM_TYPES_OUT/TYPES */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_UPDATE_START_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_READ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read data from a virtual NVRAM partition. Locks required: PHY_LOCK if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * type==*PHY*. Returns: 0, EINVAL (bad type/offset/length), EACCES (if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PHY_LOCK required and not held)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x39_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_READ_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES/MC_CMD_NVRAM_TYPES_OUT/TYPES */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* amount to read in bytes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_READ_IN_V2 msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES/MC_CMD_NVRAM_TYPES_OUT/TYPES */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_READ_IN_V2_OFFSET_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* amount to read in bytes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_READ_IN_V2_LENGTH_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Optional control info. If a partition is stored with an A/B versioning
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * scheme (i.e. in more than one physical partition in NVRAM) the host can set
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * this to control which underlying physical partition is used to read data
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * from. This allows it to perform a read-modify-write-verify with the write
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * lock continuously held by calling NVRAM_UPDATE_START, reading the old
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * contents using MODE=TARGET_CURRENT, overwriting the old partition and then
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * verifying by reading with MODE=TARGET_BACKUP.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Same as omitting MODE: caller sees data in current partition unless it
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * holds the write lock in which case it sees data in the partition it is
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read from the current partition of an A/B pair, even if holding the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * write lock.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_READ_IN_V2_TARGET_CURRENT 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read from the non-current (i.e. to be updated) partition of an A/B
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_READ_IN_V2_TARGET_BACKUP 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_READ_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_READ_OUT_LEN(num) (0+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_READ_OUT_READ_BUFFER_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_READ_OUT_READ_BUFFER_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_READ_OUT_READ_BUFFER_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_READ_OUT_READ_BUFFER_MAXNUM 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_WRITE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Write data to a virtual NVRAM partition. Locks required: PHY_LOCK if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * type==*PHY*. Returns: 0, EINVAL (bad type/offset/length), EACCES (if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PHY_LOCK required and not held)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x3a_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_WRITE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_WRITE_IN_LEN(num) (12+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES/MC_CMD_NVRAM_TYPES_OUT/TYPES */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_WRITE_IN_WRITE_BUFFER_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_WRITE_IN_WRITE_BUFFER_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_WRITE_IN_WRITE_BUFFER_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_WRITE_IN_WRITE_BUFFER_MAXNUM 240
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_WRITE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_ERASE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Erase sector(s) from a virtual NVRAM partition. Locks required: PHY_LOCK if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * type==*PHY*. Returns: 0, EINVAL (bad type/offset/length), EACCES (if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PHY_LOCK required and not held)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x3b_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_ERASE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES/MC_CMD_NVRAM_TYPES_OUT/TYPES */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_ERASE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_UPDATE_FINISH
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Finish a group of update operations on a virtual NVRAM partition. Locks
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * required: PHY_LOCK if type==*PHY*. Returns: 0, EINVAL (bad
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * type/offset/length), EACCES (if PHY_LOCK required and not held)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x3c_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_UPDATE_FINISH_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_UPDATE_FINISH_IN_TYPE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES/MC_CMD_NVRAM_TYPES_OUT/TYPES */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_UPDATE_FINISH_IN_REBOOT_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_UPDATE_FINISH_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_REBOOT
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Reboot the MC.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * The AFTER_ASSERTION flag is intended to be used when the driver notices an
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * assertion failure (at which point it is expected to perform a complete tear
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * down and reinitialise), to allow both ports to reset the MC once in an
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * atomic fashion.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Production mc firmwares are generally compiled with REBOOT_ON_ASSERT=1,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * which means that they will automatically reboot out of the assertion
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * handler, so this is in practise an optional operation. It is still
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * recommended that drivers execute this to support custom firmwares with
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * REBOOT_ON_ASSERT=0.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Locks required: NONE Returns: Nothing. You get back a response with ERR=1,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x3d_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_REBOOT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REBOOT_FLAGS_AFTER_ASSERTION 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_REBOOT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SCHEDINFO
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Request scheduler info. Locks required: NONE. Returns: An array of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (timeslice,maximum overrun), one for each thread, in ascending order of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * thread address.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x3e_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SCHEDINFO_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SCHEDINFO_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SCHEDINFO_OUT_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_REBOOT_MODE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set the mode for the next MC reboot. Locks required: NONE. Sets the reboot
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * mode to the specified value. Returns the old mode.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x3f_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_REBOOT_MODE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Normal. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Power-on Reset. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Snapper. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: snapper fake POR */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_REBOOT_MODE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_INFO
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Returns information about every available sensor.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Each sensor has a single (16bit) value, and a corresponding state. The
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * mapping between value and state is nominally determined by the MC, but may
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * be implemented using up to 2 ranges per sensor.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * This call returns a mask (32bit) of the sensors that are supported by this
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * platform, then an array of sensor information structures, in order of sensor
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * type (but without gaps for unimplemented sensors). Each structure defines
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the ranges for the corresponding sensor. An unused range is indicated by
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * equal limit values. If one range is used, a value outside that range results
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * in STATE_FATAL. If two ranges are used, a value outside the second range
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * results in STATE_FATAL while a value outside the first and inside the second
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * range results in STATE_WARNING.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Sensor masks and sensor information arrays are organised into pages. For
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * backward compatibility, older host software can only use sensors in page 0.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Bit 32 in the sensor mask was previously unused, and is no reserved for use
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * as the next page flag.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * If the request does not contain a PAGE value then firmware will only return
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * page 0 of sensor information, with bit 31 in the sensor mask cleared.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * If the request contains a PAGE value then firmware responds with the sensor
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * mask and sensor information array for that page of sensors. In this case bit
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 31 in the mask is set if another page exists.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Locks required: None Returns: 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x41_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_INFO_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_INFO_EXT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Which page of sensors to report.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Page 0 contains sensors 0 to 30 (sensor 31 is the next page bit).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Page 1 contains sensors 32 to 62 (sensor 63 is the next page bit). etc.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_EXT_IN_PAGE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_INFO_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_OUT_LEN(num) (4+8*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Controller temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Phy common temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Controller cooling: bool */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Phy 0 temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Phy 0 cooling: bool */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Phy 1 temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Phy 1 cooling: bool */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 1.0v power: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 1.2v power: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 1.8v power: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 2.5v power: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 3.3v power: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 12v power: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 1.2v analogue power: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: reference voltage: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE FPGA power: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE FPGA temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE FPGA PSU temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE PSU temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Fan 0 speed: RPM */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Fan 1 speed: RPM */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Fan 2 speed: RPM */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Fan 3 speed: RPM */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Fan 4 speed: RPM */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE FPGA input power: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE FPGA current: mA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: AOE FPGA input current: mA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: NIC power consumption: W */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 0.9v power voltage: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 0.9v power current: mA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 1.2v power current: mA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Not a sensor: reserved for the next page flag */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 0.9v power voltage (at ADC): mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Controller temperature 2: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Voltage regulator internal temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VREG_INTERNAL_TEMP 0x22
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 0.9V voltage regulator temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 1.2V voltage regulator temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: controller internal temperature sensor voltage (internal ADC): mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: controller internal temperature (internal ADC): degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CONTROLLER_INTERNAL_TEMP 0x26
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: controller internal temperature sensor voltage (external ADC): mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CONTROLLER_VPTAT_EXTADC 0x27
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: controller internal temperature (external ADC): degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CONTROLLER_INTERNAL_TEMP_EXTADC 0x28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: ambient temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: air flow: bool */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: voltage between VSS08D and VSS08D at CSR: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: voltage between VSS08D and VSS08D at CSR (external ADC): mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VDD08D_VSS08D_CSR_EXTADC 0x2c
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Hotpoint temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Port 0 PHY power switch over-current: bool */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Port 1 PHY power switch over-current: bool */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Mop-up microcontroller reference voltage (millivolts) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 0.9v power phase A voltage: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 0.9v power phase A current: mA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 0.9V voltage regulator phase A temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 0.9v power phase B voltage: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 0.9v power phase B current: mA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: 0.9V voltage regulator phase B temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CCOM AVREG 1v2 supply (interval ADC): mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CCOM_AVREG_1V2_SUPPLY 0x37
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CCOM AVREG 1v2 supply (external ADC): mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CCOM_AVREG_1V2_SUPPLY_EXTADC 0x38
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CCOM AVREG 1v8 supply (interval ADC): mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CCOM_AVREG_1V8_SUPPLY 0x39
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CCOM AVREG 1v8 supply (external ADC): mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CCOM_AVREG_1V8_SUPPLY_EXTADC 0x3a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CCOM RTS temperature: degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Not a sensor: reserved for the next page flag */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: controller internal temperature sensor voltage on master core
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (internal ADC): mV
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CONTROLLER_MASTER_VPTAT 0x40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: controller internal temperature on master core (internal ADC): degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CONTROLLER_MASTER_INTERNAL_TEMP 0x41
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: controller internal temperature sensor voltage on master core
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (external ADC): mV
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CONTROLLER_MASTER_VPTAT_EXTADC 0x42
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: controller internal temperature on master core (external ADC): degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CONTROLLER_MASTER_INTERNAL_TEMP_EXTADC 0x43
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: controller internal temperature on slave core sensor voltage (internal
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CONTROLLER_SLAVE_VPTAT 0x44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: controller internal temperature on slave core (internal ADC): degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CONTROLLER_SLAVE_INTERNAL_TEMP 0x45
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: controller internal temperature on slave core sensor voltage (external
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CONTROLLER_SLAVE_VPTAT_EXTADC 0x46
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: controller internal temperature on slave core (external ADC): degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CONTROLLER_SLAVE_INTERNAL_TEMP_EXTADC 0x47
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Voltage supplied to the SODIMMs from their power supply: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Temperature of SODIMM 0 (if installed): degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Temperature of SODIMM 1 (if installed): degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Voltage supplied to the QSFP #0 from their power supply: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Voltage supplied to the QSFP #1 from their power supply: mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Controller die temperature (TDIODE): degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_CONTROLLER_TDIODE_TEMP 0x4e
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Board temperature (front): degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Board temperature (back): degC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_INFO_EXT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_EXT_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_EXT_OUT_LEN(num) (4+8*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_EXT_OUT_MASK_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_INFO_OUT */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_EXT_OUT_NEXT_PAGE_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_EXT_OUT_NEXT_PAGE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_ENTRY_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_ENTRY_LEN 8 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_ENTRY_LO_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_ENTRY_HI_OFST 8 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_ENTRY_MINNUM 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_ENTRY_MAXNUM 31 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MIN1_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MIN1_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MIN1_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MIN1_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MAX1_OFST 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MAX1_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MAX1_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MAX1_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MIN2_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MIN2_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MIN2_LBN 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MIN2_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MAX2_OFST 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MAX2_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MAX2_LBN 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MAX2_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_SENSORS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Returns the current reading from each sensor. DMAs an array of sensor
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * readings, in order of sensor type (but without gaps for unimplemented
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * sensors), into host memory. Each array element is a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF dword.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * If the request does not contain the LENGTH field then only sensors 0 to 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * are reported, to avoid DMA buffer overflow in older host software. If the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * sensor reading require more space than the LENGTH allows, then return
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * The MC will send a SENSOREVT event every time any sensor changes state. The
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * driver is responsible for ensuring that it doesn't miss any events. The
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * board will function normally if all sensors are in STATE_OK or
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * STATE_WARNING. Otherwise the board should not be expected to function.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x42_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_SENSORS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* DMA address of host buffer for sensor readings (must be 4Kbyte aligned). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_SENSORS_IN_DMA_ADDR_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_SENSORS_IN_DMA_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_SENSORS_IN_DMA_ADDR_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_SENSORS_IN_DMA_ADDR_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_SENSORS_EXT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* DMA address of host buffer for sensor readings (must be 4Kbyte aligned). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_SENSORS_EXT_IN_DMA_ADDR_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_SENSORS_EXT_IN_DMA_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_SENSORS_EXT_IN_DMA_ADDR_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_SENSORS_EXT_IN_DMA_ADDR_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Size in bytes of host buffer. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_SENSORS_EXT_IN_LENGTH_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_SENSORS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_SENSORS_EXT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_VALUE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_VALUE_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_VALUE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_VALUE_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_STATE_OFST 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_STATE_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Ok. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Breached warning threshold. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Breached fatal threshold. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Fault with sensor. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Sensor is working but does not currently have a reading. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Sensor initialisation failed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_STATE_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_STATE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_TYPE_OFST 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_TYPE_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_INFO/MC_CMD_SENSOR_INFO_OUT/MASK */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_TYPE_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_TYPE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PHY_STATE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Report current state of PHY. A 'zombie' PHY is a PHY that has failed to boot
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (e.g. due to missing or corrupted firmware). Locks required: None. Return
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x43_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PHY_STATE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PHY_STATE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_STATE_OUT_STATE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Ok. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Faulty. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SETUP_8021QBB
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 802.1Qbb control. 8 Tx queues that map to priorities 0 - 7. Use all 1s to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * disable 802.Qbb for a given priority.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SETUP_8021QBB_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SETUP_8021QBB_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_GET
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Retrieve ID of any WoL filters. Locks required: None. Returns: 0, ENOSYS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x45_PRIVILEGE_CTG SRIOV_CTG_LINK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_GET_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WOL_FILTER_GET_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WOL_FILTER_GET_OUT_FILTER_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ADD_LIGHTSOUT_OFFLOAD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Add a protocol offload to NIC for lights-out state. Locks required: None.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Returns: 0, ENOSYS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x46_PRIVILEGE_CTG SRIOV_CTG_LINK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_LENMIN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_LEN(num) (4+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_PROTOCOL_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LIGHTSOUT_OFFLOAD_PROTOCOL_ARP 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LIGHTSOUT_OFFLOAD_PROTOCOL_NS 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_DATA_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_DATA_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_DATA_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_DATA_MAXNUM 62
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_ARP msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_ARP_LEN 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_PROTOCOL_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_ARP_MAC_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_ARP_MAC_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_ARP_IP_OFST 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NS_LEN 42
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_PROTOCOL_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NS_MAC_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NS_MAC_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NS_SNIPV6_OFST 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NS_SNIPV6_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NS_IPV6_OFST 26
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NS_IPV6_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ADD_LIGHTSOUT_OFFLOAD_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_OUT_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_OUT_FILTER_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Remove a protocol offload from NIC for lights-out state. Locks required:
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * None. Returns: 0, ENOSYS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x47_PRIVILEGE_CTG SRIOV_CTG_LINK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_IN_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_IN_PROTOCOL_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_IN_FILTER_ID_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MAC_RESET_RESTORE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Restore MAC after block reset. Locks required: None. Returns: 0.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MAC_RESET_RESTORE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MAC_RESET_RESTORE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TESTASSERT
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Deliberately trigger an assert-detonation in the firmware for testing
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * purposes (i.e. to allow tests that the driver copes gracefully). Locks
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * required: None Returns: 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x49_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TESTASSERT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TESTASSERT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WORKAROUND
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Enable/Disable a given workaround. The mcfw will return EINVAL if it doesn't
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * understand the given workaround number - which should not be treated as a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * hard error by client code. This op does not imply any semantics about each
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * workaround, that's between the driver and the mcfw on a per-workaround
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * basis. Locks required: None. Returns: 0, EINVAL .
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x4a_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WORKAROUND_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The enums here must correspond with those in MC_CMD_GET_WORKAROUND. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bug 17230 work around. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bug 35388 work around (unsafe EVQ writes). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bug35017 workaround (A64 tables must be identity map) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bug 41750 present (MC_CMD_TRIGGER_INTERRUPT won't work) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bug 42008 present (Interrupts can overtake associated events). Caution
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * - before adding code that queries this workaround, remember that there's
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * released Monza firmware that doesn't understand MC_CMD_WORKAROUND_BUG42008,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * and will hence (incorrectly) report that the bug doesn't exist.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bug 26807 features present in firmware (multicast filter chaining)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * This feature cannot be turned on/off while there are any filters already
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * present. The behaviour in such case depends on the acting client's privilege
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * level. If the client has the admin privilege, then all functions that have
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * filters installed will be FLRed and the FLR_DONE flag will be set. Otherwise
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the command will fail with MC_CMD_ERR_FILTERS_PRESENT.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 0 = disable the workaround indicated by TYPE; any non-zero value = enable
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the workaround
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WORKAROUND_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_WORKAROUND_EXT_OUT msgresponse: This response format will be used
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * when (TYPE == MC_CMD_WORKAROUND_BUG26807)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WORKAROUND_EXT_OUT_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WORKAROUND_EXT_OUT_FLR_DONE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_WORKAROUND_EXT_OUT_FLR_DONE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PHY_MEDIA_INFO
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read media-specific data from PHY (e.g. SFP/SFP+ module ID information for
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * SFP+ PHYs). The 'media type' can be found via GET_PHY_CFG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (GET_PHY_CFG_OUT_MEDIA_TYPE); the valid 'page number' input values, and the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * output data, are interpreted on a per-type basis. For SFP+: PAGE=0 or 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * returns a 128-byte block read from module I2C address 0xA0 offset 0 or 0x80.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Anything else: currently undefined. Locks required: None. Return code: 0.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x4b_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PHY_MEDIA_INFO_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_MEDIA_INFO_IN_PAGE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PHY_MEDIA_INFO_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_MEDIA_INFO_OUT_LENMIN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_MEDIA_INFO_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_MEDIA_INFO_OUT_LEN(num) (4+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* in bytes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATALEN_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATA_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATA_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATA_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATA_MAXNUM 248
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TEST
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Test a particular NVRAM partition for valid contents (where "valid" depends
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * on the type of partition).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x4c_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TEST_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TYPES/MC_CMD_NVRAM_TYPES_OUT/TYPES */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_TEST_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Passed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Failed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Not supported. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MRSFP_TWEAK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read status and/or set parameters for the 'mrsfp' driver in mr_rusty builds.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * I2C I/O expander bits are always read; if equaliser parameters are supplied,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * they are configured first. Locks required: None. Return code: 0, EINVAL.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MRSFP_TWEAK_IN_EQ_CONFIG msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MRSFP_TWEAK_IN_EQ_CONFIG_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 0-6 low->high de-emph. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MRSFP_TWEAK_IN_EQ_CONFIG_TXEQ_LEVEL_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 0-8 low->high ref.V */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MRSFP_TWEAK_IN_EQ_CONFIG_TXEQ_DT_CFG_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 0-8 0-8 low->high boost */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MRSFP_TWEAK_IN_EQ_CONFIG_RXEQ_BOOST_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 0-8 low->high ref.V */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MRSFP_TWEAK_IN_EQ_CONFIG_RXEQ_DT_CFG_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MRSFP_TWEAK_IN_READ_ONLY msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MRSFP_TWEAK_IN_READ_ONLY_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MRSFP_TWEAK_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* input bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MRSFP_TWEAK_OUT_IOEXP_INPUTS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* output bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MRSFP_TWEAK_OUT_IOEXP_OUTPUTS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* direction */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MRSFP_TWEAK_OUT_IOEXP_DIRECTION_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Out. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MRSFP_TWEAK_OUT_IOEXP_DIRECTION_OUT 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: In. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MRSFP_TWEAK_OUT_IOEXP_DIRECTION_IN 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_SET_LIMS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Adjusts the sensor limits. This is a warranty-voiding operation. Returns:
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * ENOENT if the sensor specified does not exist, EINVAL if the limits are out
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x4e_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_SET_LIMS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_SET_LIMS_IN_SENSOR_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_INFO/MC_CMD_SENSOR_INFO_OUT/MASK */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* interpretation is is sensor-specific. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_SET_LIMS_IN_LOW0_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* interpretation is is sensor-specific. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* interpretation is is sensor-specific. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_SET_LIMS_IN_LOW1_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* interpretation is is sensor-specific. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SENSOR_SET_LIMS_IN_HI1_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SENSOR_SET_LIMS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_RESOURCE_LIMITS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_RESOURCE_LIMITS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_RESOURCE_LIMITS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_RESOURCE_LIMITS_OUT_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_RESOURCE_LIMITS_OUT_BUFTBL_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_RESOURCE_LIMITS_OUT_EVQ_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_RESOURCE_LIMITS_OUT_RXQ_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_RESOURCE_LIMITS_OUT_TXQ_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_PARTITIONS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Reads the list of available virtual NVRAM partition types. Locks required:
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * none. Returns: 0, EINVAL (bad type).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x51_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_PARTITIONS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_PARTITIONS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_PARTITIONS_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_PARTITIONS_OUT_LEN(num) (4+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* total number of partitions */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_PARTITIONS_OUT_NUM_PARTITIONS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* type ID code for each of NUM_PARTITIONS partitions */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_PARTITIONS_OUT_TYPE_ID_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_PARTITIONS_OUT_TYPE_ID_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_PARTITIONS_OUT_TYPE_ID_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_PARTITIONS_OUT_TYPE_ID_MAXNUM 62
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_METADATA
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Reads soft metadata for a virtual NVRAM partition type. Locks required:
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * none. Returns: 0, EINVAL (bad type).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x52_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_METADATA_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Partition type ID code */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_NVRAM_METADATA_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_LEN(num) (20+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Partition type ID code */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_TYPE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_FLAGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_SUBTYPE_VALID_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_SUBTYPE_VALID_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_VERSION_VALID_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_VERSION_VALID_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_VALID_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_VALID_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Subtype ID code for content of this partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_SUBTYPE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 1st component of W.X.Y.Z version number for content of this partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_VERSION_W_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_VERSION_W_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 2nd component of W.X.Y.Z version number for content of this partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_VERSION_X_OFST 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_VERSION_X_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 3rd component of W.X.Y.Z version number for content of this partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_VERSION_Y_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_VERSION_Y_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 4th component of W.X.Y.Z version number for content of this partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_VERSION_Z_OFST 18
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_VERSION_Z_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Zero-terminated string describing the content of this partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_MAXNUM 232
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_MAC_ADDRESSES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Returns the base MAC, count and stride for the requesting function
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x55_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_MAC_ADDRESSES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_MAC_ADDRESSES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Base MAC address */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_MAC_ADDRESSES_OUT_MAC_ADDR_BASE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_MAC_ADDRESSES_OUT_MAC_ADDR_BASE_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_MAC_ADDRESSES_OUT_RESERVED_OFST 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_MAC_ADDRESSES_OUT_RESERVED_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of allocated MAC addresses */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_MAC_ADDRESSES_OUT_MAC_COUNT_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Spacing of allocated MAC addresses */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_MAC_ADDRESSES_OUT_MAC_STRIDE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Perform a CLP related operation
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x56_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sub operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Return to factory default settings */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set MAC address */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get MAC address */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set UEFI/GPXE boot mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get UEFI/GPXE boot mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_IN_DEFAULT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_IN_OP_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_OUT_DEFAULT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_IN_SET_MAC msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_IN_OP_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MAC address assigned to port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CLP_IN_SET_MAC_RESERVED_OFST 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_OUT_SET_MAC msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_IN_GET_MAC msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_IN_OP_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_OUT_GET_MAC msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MAC address assigned to port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CLP_OUT_GET_MAC_RESERVED_OFST 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CLP_OUT_GET_MAC_RESERVED_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_IN_SET_BOOT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_IN_OP_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Boot flag */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_OUT_SET_BOOT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_IN_GET_BOOT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_IN_OP_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CLP_OUT_GET_BOOT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Boot flag */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CLP_OUT_GET_BOOT_RESERVED_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CLP_OUT_GET_BOOT_RESERVED_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Perform a MUM operation
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x57_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: NULL MCDI command to MUM */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get MUM version */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Issue raw I2C command to MUM */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read from registers on devices connected to MUM. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Write to registers on devices connected to MUM. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Control UART logging. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Operations on MUM GPIO lines */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get sensor readings from MUM */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Initiate clock programming on the MUM */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Initiate FPGA load from flash on the MUM */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Request sensor reading from MUM ADC resulting from earlier request via
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Send commands relating to the QSFP ports via the MUM for PHY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Request discrete and SODIMM DDR info (type, size, speed grade, voltage
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * level) from MUM
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_NULL msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_GET_VERSION msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_READ msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* ID of (device connected to MUM) to read from registers of */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Hittite HMC1035 clock generator on Sorrento board */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Hittite HMC1035 clock generator for NIC-side on Sorrento board */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 32-bit address to read from */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of words to read. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_WRITE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_WRITE_LEN(num) (12+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* ID of (device connected to MUM) to write to registers of */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Hittite HMC1035 clock generator on Sorrento board */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_DEV_HITTITE 0x1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 32-bit address to write to */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Words to write */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_RAW_CMD msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_RAW_CMD_LEN(num) (16+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM I2C cmd code */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_RAW_CMD_CMD_CODE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of bytes to write */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_RAW_CMD_NUM_WRITE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of bytes to read */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_RAW_CMD_NUM_READ_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bytes to write */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_RAW_CMD_WRITE_DATA_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_RAW_CMD_WRITE_DATA_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_RAW_CMD_WRITE_DATA_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_RAW_CMD_WRITE_DATA_MAXNUM 236
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_LOG msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_LOG_OP_UART 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_LOG_OP_UART msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_LOG_OP_OFST 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enable/disable debug output to UART */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_LOG_OP_UART_ENABLE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_GPIO msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_IN_READ 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_WRITE 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_READ 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_WRITE 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_READ 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_GPIO_IN_READ msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_IN_READ_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_GPIO_OUT_WRITE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_WRITE_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The first 32-bit word to be written to the GPIO OUT register. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_WRITE_GPIOMASK1_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The second 32-bit word to be written to the GPIO OUT register. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_WRITE_GPIOMASK2_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_GPIO_OUT_READ msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_READ_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_GPIO_OUT_ENABLE_WRITE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_WRITE_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_WRITE_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The first 32-bit word to be written to the GPIO OUT ENABLE register. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_WRITE_GPIOMASK1_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The second 32-bit word to be written to the GPIO OUT ENABLE register. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_WRITE_GPIOMASK2_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_GPIO_OUT_ENABLE_READ msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_READ_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_READ_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_GPIO_OP msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_BITWISE_OP_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_BITWISE_OP_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_READ 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_WRITE 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_CONFIG 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_ENABLE 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_GPIO_NUMBER_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_GPIO_NUMBER_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_GPIO_OP_OUT_READ msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_READ_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_GPIO_OP_OUT_WRITE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_WRITE_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_WRITE_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_WRITE_WRITEBIT_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_WRITE_WRITEBIT_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_GPIO_OP_OUT_CONFIG msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_CONFIG_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_CONFIG_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_CONFIG_CFG_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_CONFIG_CFG_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_GPIO_OP_OUT_ENABLE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_ENABLE_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_ENABLE_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_ENABLE_ENABLEBIT_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_GPIO_OP_OUT_ENABLE_ENABLEBIT_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_READ_SENSORS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_READ_SENSORS_PARAMS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_READ_SENSORS_SENSOR_ID_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_READ_SENSORS_SENSOR_ID_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_READ_SENSORS_NUM_SENSORS_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_READ_SENSORS_NUM_SENSORS_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_PROGRAM_CLOCKS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bit-mask of clocks to be programmed */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_PROGRAM_CLOCKS_MASK_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_CLOCK_ID_FPGA 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_CLOCK_ID_DDR 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_CLOCK_ID_NIC 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Control flags for clock programming */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_PROGRAM_CLOCKS_FLAGS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_PROGRAM_CLOCKS_OVERCLOCK_110_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_PROGRAM_CLOCKS_OVERCLOCK_110_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_PROGRAM_CLOCKS_CLOCK_NIC_FROM_FPGA_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_PROGRAM_CLOCKS_CLOCK_NIC_FROM_FPGA_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_PROGRAM_CLOCKS_CLOCK_REF_FROM_XO_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_PROGRAM_CLOCKS_CLOCK_REF_FROM_XO_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_FPGA_LOAD msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enable/Disable FPGA config from flash */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_FPGA_LOAD_ENABLE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_READ_ATB_SENSOR msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_QSFP msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_INIT 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_RECONFIGURE 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_GET_SUPPORTED_CAP 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_GET_MEDIA_INFO 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_FILL_STATS 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_POLL_BIST 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_QSFP_INIT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_QSFP_RECONFIGURE msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_RECONFIGURE_LEN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_RECONFIGURE_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_RECONFIGURE_IDX_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_RECONFIGURE_TX_DISABLE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_RECONFIGURE_PORT_LANES_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_RECONFIGURE_PORT_LINK_SPEED_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_QSFP_GET_SUPPORTED_CAP msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_GET_SUPPORTED_CAP_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_GET_SUPPORTED_CAP_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_GET_SUPPORTED_CAP_IDX_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_QSFP_GET_MEDIA_INFO msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_GET_MEDIA_INFO_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_GET_MEDIA_INFO_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_GET_MEDIA_INFO_IDX_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_GET_MEDIA_INFO_PAGE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_QSFP_FILL_STATS msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_FILL_STATS_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_FILL_STATS_IDX_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_QSFP_POLL_BIST msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_POLL_BIST_HDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_IN_QSFP_POLL_BIST_IDX_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_READ_DDR_INFO msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MUM cmd header */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_IN_CMD_OFST 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_NULL msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_GET_VERSION msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GET_VERSION_FIRMWARE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GET_VERSION_VERSION_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GET_VERSION_VERSION_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GET_VERSION_VERSION_LO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GET_VERSION_VERSION_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_RAW_CMD msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_RAW_CMD_LEN(num) (0+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* returned data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_RAW_CMD_DATA_MAXNUM 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_READ msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_WRITE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_LOG msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_LOG_OP_UART msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_GPIO_IN_READ msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The first 32-bit word read from the GPIO IN register. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_IN_READ_GPIOMASK1_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The second 32-bit word read from the GPIO IN register. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_IN_READ_GPIOMASK2_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_GPIO_OUT_WRITE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_GPIO_OUT_READ msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The first 32-bit word read from the GPIO OUT register. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_OUT_READ_GPIOMASK1_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The second 32-bit word read from the GPIO OUT register. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_OUT_READ_GPIOMASK2_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_GPIO_OUT_ENABLE_WRITE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_OUT_ENABLE_WRITE_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_GPIO_OUT_ENABLE_READ msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_OUT_ENABLE_READ_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_OUT_ENABLE_READ_GPIOMASK1_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_OUT_ENABLE_READ_GPIOMASK2_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_GPIO_OP_OUT_READ msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_OP_OUT_READ_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_OP_OUT_READ_BIT_READ_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_GPIO_OP_OUT_WRITE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_OP_OUT_WRITE_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_GPIO_OP_OUT_CONFIG msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_OP_OUT_CONFIG_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_GPIO_OP_OUT_ENABLE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_GPIO_OP_OUT_ENABLE_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_READ_SENSORS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_SENSORS_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_SENSORS_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_SENSORS_DATA_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_SENSORS_DATA_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_SENSORS_DATA_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_SENSORS_DATA_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_SENSORS_READING_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_SENSORS_READING_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_SENSORS_STATE_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_SENSORS_STATE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_SENSORS_TYPE_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_SENSORS_TYPE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_PROGRAM_CLOCKS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_PROGRAM_CLOCKS_OK_MASK_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_FPGA_LOAD msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_READ_ATB_SENSOR msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_ATB_SENSOR_RESULT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_QSFP_INIT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_QSFP_RECONFIGURE msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_RECONFIGURE_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_RECONFIGURE_PORT_PHY_LP_CAP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_RECONFIGURE_PORT_PHY_FLAGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_RECONFIGURE_PORT_PHY_READY_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_RECONFIGURE_PORT_PHY_READY_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_RECONFIGURE_PORT_PHY_LINK_UP_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_RECONFIGURE_PORT_PHY_LINK_UP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_QSFP_GET_SUPPORTED_CAP msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_GET_SUPPORTED_CAP_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_GET_SUPPORTED_CAP_PORT_PHY_LP_CAP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_LENMIN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_LEN(num) (4+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* in bytes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_DATALEN_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_DATA_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_DATA_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_DATA_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_DATA_MAXNUM 248
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_QSFP_FILL_STATS msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_FILL_STATS_PORT_PHY_STATS_PMA_PMD_LINK_UP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_FILL_STATS_PORT_PHY_STATS_PCS_LINK_UP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_QSFP_POLL_BIST msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_QSFP_POLL_BIST_TEST_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MUM_OUT_READ_DDR_INFO msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_LENMIN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_LENMAX 248
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_LEN(num) (8+8*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Discrete (soldered) DDR resistor strap info */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_DISCRETE_DDR_INFO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_VRATIO_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_VRATIO_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_RESERVED1_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_RESERVED1_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of SODIMM info records */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_NUM_RECORDS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Array of SODIMM info records */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_SODIMM_INFO_RECORD_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_SODIMM_INFO_RECORD_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_SODIMM_INFO_RECORD_LO_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_SODIMM_INFO_RECORD_HI_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_SODIMM_INFO_RECORD_MINNUM 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_SODIMM_INFO_RECORD_MAXNUM 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_BANK_ID_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_BANK_ID_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SODIMM bank 1 (Top SODIMM for Sorrento) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_BANK1 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SODIMM bank 2 (Bottom SODDIMM for Sorrento) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_BANK2 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Total number of SODIMM banks */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_NUM_BANKS 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_TYPE_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_TYPE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_RANK_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_RANK_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_VOLTAGE_LBN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_VOLTAGE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_NOT_POWERED 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_1V25 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_1V35 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_1V5 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Values 5-15 are reserved for future usage */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_SIZE_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_SIZE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_SPEED_LBN 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_SPEED_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_STATE_LBN 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_STATE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: No module present */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_ABSENT 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Module present supported and powered on */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_PRESENT_POWERED 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Module present but bad type */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_PRESENT_BAD_TYPE 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Module present but incompatible voltage */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_PRESENT_BAD_VOLTAGE 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Module present but unknown SPD */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_PRESENT_BAD_SPD 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Module present but slot cannot support it */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_PRESENT_BAD_SLOT 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Modules may or may not be present, but cannot establish contact by I2C
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_NOT_REACHABLE 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_RESERVED2_LBN 52
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_MUM_OUT_READ_DDR_INFO_RESERVED2_WIDTH 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RESOURCE_SPECIFIER enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Any */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RESOURCE_INSTANCE_ANY 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: None */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RESOURCE_INSTANCE_NONE 0xfffffffe
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* EVB_PORT_ID structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: An invalid port handle. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The port assigned to this function.. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: External network port 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: External network port 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: External network port 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: External network port 3 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* EVB_VLAN_TAG structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The VLAN tag value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Insert the VLAN. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Replace the VLAN if already present. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* BUFTBL_ENTRY structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the owner ID */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the page parameter as one of ESE_DZ_SMC_PAGE_SIZE_ */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the raw 64-bit address field from the SMC, not adjusted for page size */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* NVRAM_PARTITION_TYPE structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Primary MC firmware partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_MC_FIRMWARE 0x100
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Secondary MC firmware partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_MC_FIRMWARE_BACKUP 0x200
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Expansion ROM partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_EXPANSION_ROM 0x300
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Static configuration TLV partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_STATIC_CONFIG 0x400
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Dynamic configuration TLV partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_DYNAMIC_CONFIG 0x500
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Expansion ROM configuration data for port 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_EXPROM_CONFIG_PORT0 0x600
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Synonym for EXPROM_CONFIG_PORT0 as used in pmap files */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_EXPROM_CONFIG 0x600
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Expansion ROM configuration data for port 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_EXPROM_CONFIG_PORT1 0x601
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Expansion ROM configuration data for port 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_EXPROM_CONFIG_PORT2 0x602
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Expansion ROM configuration data for port 3 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_EXPROM_CONFIG_PORT3 0x603
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Non-volatile log output partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Non-volatile log output of second core on dual-core device */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Device state dump output partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Application license key storage partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Start of range used for PHY partitions (low 8 bits are the PHY ID) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: End of range used for PHY partitions (low 8 bits are the PHY ID) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Primary FPGA partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Secondary FPGA partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_FPGA_BACKUP 0xb01
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FC firmware partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_FC_FIRMWARE 0xb02
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: FC License partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_FC_LICENSE 0xb03
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Non-volatile log output partition for FC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MUM firmware partition */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_MUM_FIRMWARE 0xc00
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MUM Non-volatile log output partition. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MUM Application table partition. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_MUM_APPTABLE 0xc02
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MUM boot rom partition. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_MUM_BOOT_ROM 0xc03
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MUM production signatures & calibration rom partition. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_MUM_PROD_ROM 0xc04
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MUM user signatures & calibration rom partition. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_MUM_USER_ROM 0xc05
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MUM fuses and lockbits partition. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_MUM_FUSELOCK 0xc06
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: UEFI expansion ROM if separate from PXE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_EXPANSION_UEFI 0xd00
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Spare partition 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Spare partition 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Spare partition 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Spare partition 3 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Spare partition 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Spare partition 5 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Start of reserved value range (firmware may use for any purpose) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_RESERVED_VALUES_MIN 0xff00
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: End of reserved value range (firmware may use for any purpose) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_RESERVED_VALUES_MAX 0xfffd
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Recovery partition map (provided if real map is missing or corrupt) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_RECOVERY_MAP 0xfffe
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Partition map (real map as stored in flash) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define NVRAM_PARTITION_TYPE_PARTITION_MAP 0xffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* LICENSED_APP_ID structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: OpenOnload */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PTP timestamping */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SolarCapture Pro */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SolarSecure filter engine */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Performance monitor */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: SolarCapture Live */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_APP_ID_SOLARCAPTURE_LIVE 0x20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Capture SolarSystem */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_APP_ID_CAPTURE_SOLARSYSTEM 0x40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Network Access Control */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_APP_ID_NETWORK_ACCESS_CONTROL 0x80
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* LICENSED_FEATURES structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bitmask of licensed firmware features */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_FEATURES_RX_CUT_THROUGH_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_FEATURES_RX_CUT_THROUGH_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_FEATURES_RX_TIMESTAMPS_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_FEATURES_RX_TIMESTAMPS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_FEATURES_TX_TIMESTAMPS_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_FEATURES_TX_TIMESTAMPS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_FEATURES_PROXY_FILTER_OPS_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_FEATURES_PROXY_FILTER_OPS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* LICENSED_V3_APPS structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bitmask of licensed applications */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_APPS_SOLARCAPTURE_PRO_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_APPS_SOLARCAPTURE_PRO_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_APPS_PERF_MONITOR_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_APPS_SOLARCAPTURE_LIVE_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_APPS_SOLARCAPTURE_LIVE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_APPS_CAPTURE_SOLARSYSTEM_LBN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_APPS_CAPTURE_SOLARSYSTEM_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_APPS_NETWORK_ACCESS_CONTROL_LBN 7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_APPS_NETWORK_ACCESS_CONTROL_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* LICENSED_V3_FEATURES structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bitmask of licensed firmware features */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_FEATURES_RX_CUT_THROUGH_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_FEATURES_RX_CUT_THROUGH_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_FEATURES_EVQ_TIMER_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_FEATURES_RX_TIMESTAMPS_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_FEATURES_RX_TIMESTAMPS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_FEATURES_TX_TIMESTAMPS_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_FEATURES_TX_TIMESTAMPS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_FEATURES_RX_SNIFF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_FEATURES_TX_SNIFF_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_FEATURES_PROXY_FILTER_OPS_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define LICENSED_V3_FEATURES_PROXY_FILTER_OPS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* TX_TIMESTAMP_EVENT structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* lower 16 bits of timestamp data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define TX_TIMESTAMP_EVENT_TSTAMP_DATA_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define TX_TIMESTAMP_EVENT_TSTAMP_DATA_LO_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define TX_TIMESTAMP_EVENT_TSTAMP_DATA_LO_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define TX_TIMESTAMP_EVENT_TSTAMP_DATA_LO_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Type of TX event, ordinary TX completion, low or high part of TX timestamp
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: This is a TX completion event, not a timestamp */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define TX_TIMESTAMP_EVENT_TX_EV_COMPLETION 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: This is the low part of a TX timestamp event */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define TX_TIMESTAMP_EVENT_TX_EV_TSTAMP_LO 0x51
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: This is the high part of a TX timestamp event */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define TX_TIMESTAMP_EVENT_TX_EV_TSTAMP_HI 0x52
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define TX_TIMESTAMP_EVENT_TX_EV_TYPE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* upper 16 bits of timestamp data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define TX_TIMESTAMP_EVENT_TSTAMP_DATA_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define TX_TIMESTAMP_EVENT_TSTAMP_DATA_HI_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define TX_TIMESTAMP_EVENT_TSTAMP_DATA_HI_LBN 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define TX_TIMESTAMP_EVENT_TSTAMP_DATA_HI_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RSS_MODE structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The RSS mode for a particular packet type is a value from 0 - 15 which can
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * be considered as 4 bits selecting which fields are included in the hash. (A
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * value 0 effectively disables RSS spreading for the packet type.) The YAML
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * generation tools require this structure to be a whole number of bytes wide,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * but only 4 bits are relevant.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_REGS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get a dump of the MCPU registers
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x50_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_REGS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_REGS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Whether the corresponding register entry contains a valid value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Same order as MIPS GDB (r0-r31, sr, lo, hi, bad, cause, 32 x float, fsr,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_INIT_EVQ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set up an event queue according to the supplied parameters. The IN arguments
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * end with an address for each 4k of host memory required to back the EVQ.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x80_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_INIT_EVQ_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_LEN(num) (36+8*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Size, in entries */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Desired instance. Must be set to a specific instance, which is a function
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * local queue index.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The initial timer value. The load value is ignored if the timer mode is DIS.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The reload value is ignored in one-shot modes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_TMR_RELOAD_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_FLAG_INTERRUPTING_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_FLAG_INTERRUPTING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_FLAG_RPTR_DOS_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_FLAG_RPTR_DOS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_FLAG_INT_ARMD_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_FLAG_INT_ARMD_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_FLAG_CUT_THRU_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_FLAG_CUT_THRU_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_FLAG_RX_MERGE_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_FLAG_RX_MERGE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_FLAG_TX_MERGE_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_FLAG_TX_MERGE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Disabled */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Immediate */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_TMR_IMMED_START 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Triggered */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_TMR_TRIG_START 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Hold-off */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_TMR_INT_HLDOFF 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Target EVQ for wakeups if in wakeup mode. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_TARGET_EVQ_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Target interrupt if in interrupting mode (note union with target EVQ). Use
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_RESOURCE_INSTANCE_ANY unless a specific one required for test
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Event Counter Mode. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_COUNT_MODE_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Disabled */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_COUNT_MODE_DIS 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Disabled */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Disabled */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Disabled */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_COUNT_MODE_RXTX 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Event queue packet count threshold. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_COUNT_THRSHLD_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 64-bit address of 4k of 4k-aligned host memory buffer */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_DMA_ADDR_LO_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_DMA_ADDR_HI_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_EVQ_IN_DMA_ADDR_MAXNUM 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_INIT_EVQ_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Only valid if INTRFLAG was true */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* QUEUE_CRC_MODE structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: No CRC. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CRC Fiber channel over ethernet. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CRC (digest) iSCSI header only. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CRC (digest) iSCSI header and payload. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CRC Fiber channel over IP over ethernet. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CRC MPA. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_INIT_RXQ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * set up a receive queue according to the supplied parameters. The IN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * arguments end with an address for each 4k of host memory required to back
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x81_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_INIT_RXQ_IN msgrequest: Legacy RXQ_INIT request. Use extended version
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * in new code.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_LEN(num) (28+8*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Size, in entries */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The EVQ to send events to. This is an index originally specified to INIT_EVQ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The value to put in the event data. Check hardware spec. for valid range. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Desired instance. Must be set to a specific instance, which is a function
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * local queue index.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* There will be more flags here. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_FLAG_BUFF_MODE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_FLAG_BUFF_MODE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_FLAG_HDR_SPLIT_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_FLAG_HDR_SPLIT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_FLAG_TIMESTAMP_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_FLAG_TIMESTAMP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_FLAG_CHAIN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_FLAG_PREFIX_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_FLAG_DISABLE_SCATTER_LBN 9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_FLAG_DISABLE_SCATTER_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_FLAG_FORCE_EV_MERGING_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_FLAG_FORCE_EV_MERGING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Owner ID to use if in buffer mode (zero if physical) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port ID associated with the v-adaptor which should contain this DMAQ. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 64-bit address of 4k of 4k-aligned host memory buffer */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_DMA_ADDR_LO_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_DMA_ADDR_HI_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_IN_DMA_ADDR_MAXNUM 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_INIT_RXQ_EXT_IN msgrequest: Extended RXQ_INIT with additional mode
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Size, in entries */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The EVQ to send events to. This is an index originally specified to INIT_EVQ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_TARGET_EVQ_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The value to put in the event data. Check hardware spec. for valid range. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Desired instance. Must be set to a specific instance, which is a function
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * local queue index.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_INSTANCE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* There will be more flags here. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_BUFF_MODE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_BUFF_MODE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_HDR_SPLIT_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_HDR_SPLIT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_TIMESTAMP_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_TIMESTAMP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_CRC_MODE_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_CRC_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_CHAIN_LBN 7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_CHAIN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_PREFIX_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_PREFIX_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_DISABLE_SCATTER_LBN 9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_DISABLE_SCATTER_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_DMA_MODE_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_DMA_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: One packet per descriptor (for normal networking) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_SINGLE_PACKET 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Pack multiple packets into large descriptors (for SolarCapture) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_PACKED_STREAM 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_SNAPSHOT_MODE_LBN 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_SNAPSHOT_MODE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_PACKED_STREAM_BUFF_SIZE_LBN 15
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_PACKED_STREAM_BUFF_SIZE_WIDTH 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_PS_BUFF_1M 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_PS_BUFF_512K 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_PS_BUFF_256K 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_PS_BUFF_128K 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_PS_BUFF_64K 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_WANT_OUTER_CLASSES_LBN 18
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_WANT_OUTER_CLASSES_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_FORCE_EV_MERGING_LBN 19
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_FLAG_FORCE_EV_MERGING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Owner ID to use if in buffer mode (zero if physical) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_OWNER_ID_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port ID associated with the v-adaptor which should contain this DMAQ. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_PORT_ID_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 64-bit address of 4k of 4k-aligned host memory buffer */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_DMA_ADDR_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_DMA_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_DMA_ADDR_LO_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_DMA_ADDR_HI_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_DMA_ADDR_NUM 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Maximum length of packet to receive, if SNAPSHOT_MODE flag is set */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_RXQ_EXT_IN_SNAPSHOT_LENGTH_OFST 540
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_INIT_RXQ_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_INIT_RXQ_EXT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_INIT_TXQ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x82_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_INIT_TXQ_IN msgrequest: Legacy INIT_TXQ request. Use extended version
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * in new code.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_LEN(num) (28+8*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Size, in entries */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The EVQ to send events to. This is an index originally specified to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The value to put in the event data. Check hardware spec. for valid range. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Desired instance. Must be set to a specific instance, which is a function
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * local queue index.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* There will be more flags here. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_BUFF_MODE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_BUFF_MODE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_IP_CSUM_DIS_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_IP_CSUM_DIS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_TCP_CSUM_DIS_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_TCP_CSUM_DIS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_TCP_UDP_ONLY_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_TCP_UDP_ONLY_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_TIMESTAMP_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_TIMESTAMP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_PACER_BYPASS_LBN 9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_PACER_BYPASS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_INNER_IP_CSUM_EN_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_INNER_IP_CSUM_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_INNER_TCP_CSUM_EN_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_FLAG_INNER_TCP_CSUM_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Owner ID to use if in buffer mode (zero if physical) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port ID associated with the v-adaptor which should contain this DMAQ. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 64-bit address of 4k of 4k-aligned host memory buffer */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_DMA_ADDR_LO_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_DMA_ADDR_HI_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_IN_DMA_ADDR_MAXNUM 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_INIT_TXQ_EXT_IN msgrequest: Extended INIT_TXQ with additional mode
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Size, in entries */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The EVQ to send events to. This is an index originally specified to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_TARGET_EVQ_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The value to put in the event data. Check hardware spec. for valid range. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Desired instance. Must be set to a specific instance, which is a function
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * local queue index.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_INSTANCE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* There will be more flags here. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_BUFF_MODE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_BUFF_MODE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_IP_CSUM_DIS_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_IP_CSUM_DIS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_TCP_CSUM_DIS_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_TCP_CSUM_DIS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_TCP_UDP_ONLY_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_TCP_UDP_ONLY_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_CRC_MODE_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_CRC_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_TIMESTAMP_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_TIMESTAMP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_PACER_BYPASS_LBN 9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_PACER_BYPASS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_INNER_IP_CSUM_EN_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_INNER_IP_CSUM_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_INNER_TCP_CSUM_EN_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_INNER_TCP_CSUM_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_TSOV2_EN_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_FLAG_TSOV2_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Owner ID to use if in buffer mode (zero if physical) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_OWNER_ID_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port ID associated with the v-adaptor which should contain this DMAQ. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_PORT_ID_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* 64-bit address of 4k of 4k-aligned host memory buffer */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_DMA_ADDR_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_DMA_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_DMA_ADDR_LO_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_DMA_ADDR_HI_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_DMA_ADDR_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_DMA_ADDR_MAXNUM 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Flags related to Qbb flow control mode. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_QBB_FLAGS_OFST 540
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_QBB_ENABLE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_QBB_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_QBB_PRIORITY_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_INIT_TXQ_EXT_IN_QBB_PRIORITY_WIDTH 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_INIT_TXQ_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FINI_EVQ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Teardown an EVQ.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * All DMAQs or EVQs that point to the EVQ to tear down must be torn down first
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * or the operation will fail with EBUSY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x83_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FINI_EVQ_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Instance of EVQ to destroy. Should be the same instance as that previously
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * passed to INIT_EVQ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FINI_EVQ_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FINI_RXQ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Teardown a RXQ.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x84_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FINI_RXQ_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Instance of RXQ to destroy */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FINI_RXQ_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FINI_TXQ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Teardown a TXQ.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x85_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FINI_TXQ_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Instance of TXQ to destroy */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FINI_TXQ_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DRIVER_EVENT
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Generate an event on an EVQ belonging to the function issuing the command.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x86_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DRIVER_EVENT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Handle of target EVQ */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bits 0 - 63 of event */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DRIVER_EVENT_IN_DATA_LO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DRIVER_EVENT_IN_DATA_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DRIVER_EVENT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROXY_CMD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Execute an arbitrary MCDI command on behalf of a different function, subject
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * to security restrictions. The command to be proxied follows immediately
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * afterward in the host buffer (or on the UART). This command supercedes
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_SET_FUNC, which remains available for Siena but now deprecated.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x5b_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROXY_CMD_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the target function. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CMD_IN_TARGET_PF_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CMD_IN_TARGET_VF_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CMD_IN_VF_NULL 0xffff /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROXY_CMD_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_PROXY_STATUS_BUFFER structuredef: Host memory status buffer used to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * manage proxied requests
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Handle allocated by the firmware for this proxy transaction */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: An invalid handle. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_PROXY_STATUS_BUFFER_HANDLE_INVALID 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_PROXY_STATUS_BUFFER_HANDLE_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The requesting physical function number */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The requesting virtual function number. Set to VF_NULL if the target is a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The target function RID. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The status of the proxy as described in MC_CMD_PROXY_COMPLETE. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_PROXY_STATUS_BUFFER_STATUS_OFST 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_PROXY_STATUS_BUFFER_STATUS_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* If a request is authorized rather than carried out by the host, this is the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * elevated privilege mask granted to the requesting function.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_PROXY_STATUS_BUFFER_GRANTED_PRIVILEGES_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_PROXY_STATUS_BUFFER_GRANTED_PRIVILEGES_LBN 96
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_PROXY_STATUS_BUFFER_GRANTED_PRIVILEGES_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROXY_CONFIGURE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Enable/disable authorization of MCDI requests from unprivileged functions by
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * a designated admin function
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x58_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROXY_CONFIGURE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_ENABLE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Host provides a contiguous memory buffer that contains at least NUM_BLOCKS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of blocks, each of the size REQUEST_BLOCK_SIZE.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_STATUS_BUFF_ADDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_STATUS_BUFF_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_STATUS_BUFF_ADDR_LO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_STATUS_BUFF_ADDR_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Must be a power of 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_STATUS_BLOCK_SIZE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Host provides a contiguous memory buffer that contains at least NUM_BLOCKS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of blocks, each of the size REPLY_BLOCK_SIZE.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_REQUEST_BUFF_ADDR_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_REQUEST_BUFF_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_REQUEST_BUFF_ADDR_LO_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_REQUEST_BUFF_ADDR_HI_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Must be a power of 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_REQUEST_BLOCK_SIZE_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Host provides a contiguous memory buffer that contains at least NUM_BLOCKS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of blocks, each of the size STATUS_BLOCK_SIZE. This buffer is only needed if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * host intends to complete proxied operations by using MC_CMD_PROXY_CMD.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_REPLY_BUFF_ADDR_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_REPLY_BUFF_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_REPLY_BUFF_ADDR_LO_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_REPLY_BUFF_ADDR_HI_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Must be a power of 2, or zero if this buffer is not provided */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_REPLY_BLOCK_SIZE_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Applies to all three buffers */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_NUM_BLOCKS_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* A bit mask defining which MCDI operations may be proxied */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_ALLOWED_MCDI_MASK_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_IN_ALLOWED_MCDI_MASK_LEN 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROXY_CONFIGURE_EXT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_LEN 112
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_ENABLE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Host provides a contiguous memory buffer that contains at least NUM_BLOCKS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of blocks, each of the size REQUEST_BLOCK_SIZE.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_STATUS_BUFF_ADDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_STATUS_BUFF_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_STATUS_BUFF_ADDR_LO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_STATUS_BUFF_ADDR_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Must be a power of 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_STATUS_BLOCK_SIZE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Host provides a contiguous memory buffer that contains at least NUM_BLOCKS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of blocks, each of the size REPLY_BLOCK_SIZE.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_REQUEST_BUFF_ADDR_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_REQUEST_BUFF_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_REQUEST_BUFF_ADDR_LO_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_REQUEST_BUFF_ADDR_HI_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Must be a power of 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_REQUEST_BLOCK_SIZE_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Host provides a contiguous memory buffer that contains at least NUM_BLOCKS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of blocks, each of the size STATUS_BLOCK_SIZE. This buffer is only needed if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * host intends to complete proxied operations by using MC_CMD_PROXY_CMD.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_REPLY_BUFF_ADDR_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_REPLY_BUFF_ADDR_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_REPLY_BUFF_ADDR_LO_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_REPLY_BUFF_ADDR_HI_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Must be a power of 2, or zero if this buffer is not provided */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_REPLY_BLOCK_SIZE_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Applies to all three buffers */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_NUM_BLOCKS_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* A bit mask defining which MCDI operations may be proxied */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_ALLOWED_MCDI_MASK_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_ALLOWED_MCDI_MASK_LEN 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_CONFIGURE_EXT_IN_RESERVED_OFST 108
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROXY_CONFIGURE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROXY_COMPLETE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Tells FW that a requested proxy operation has either been completed (by
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * using MC_CMD_PROXY_CMD) or authorized/declined. May only be sent by the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * function that enabled proxying/authorization (by using
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_PROXY_CONFIGURE).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x5f_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROXY_COMPLETE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_COMPLETE_IN_BLOCK_INDEX_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_COMPLETE_IN_STATUS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The operation has been completed by using MC_CMD_PROXY_CMD, the reply
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * is stored in the REPLY_BUFF.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_COMPLETE_IN_COMPLETE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The operation has been authorized. The originating function may now
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_COMPLETE_IN_AUTHORIZED 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The operation has been declined. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_COMPLETE_IN_DECLINED 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The authorization failed because the relevant application did not
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * respond in time.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_COMPLETE_IN_TIMEDOUT 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROXY_COMPLETE_IN_HANDLE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROXY_COMPLETE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ALLOC_BUFTBL_CHUNK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Allocate a set of buffer table entries using the specified owner ID. This
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * operation allocates the required buffer table entries (and fails if it
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * cannot do so). The buffer table entries will initially be zeroed.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x87_PRIVILEGE_CTG SRIOV_CTG_ONLOAD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ALLOC_BUFTBL_CHUNK_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Owner ID to use */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ALLOC_BUFTBL_CHUNK_IN_OWNER_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Size of buffer table pages to use, in bytes (note that only a few values are
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * legal on any specific hardware).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ALLOC_BUFTBL_CHUNK_IN_PAGE_SIZE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ALLOC_BUFTBL_CHUNK_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ALLOC_BUFTBL_CHUNK_OUT_HANDLE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ALLOC_BUFTBL_CHUNK_OUT_NUMENTRIES_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Buffer table IDs for use in DMA descriptors. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ALLOC_BUFTBL_CHUNK_OUT_ID_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROGRAM_BUFTBL_ENTRIES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Reprogram a set of buffer table entries in the specified chunk.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x88_PRIVILEGE_CTG SRIOV_CTG_ONLOAD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_LENMIN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_LENMAX 268
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_LEN(num) (12+8*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_HANDLE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_FIRSTID_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Num entries */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_NUMENTRIES_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Buffer table entry address */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_MAXNUM 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PROGRAM_BUFTBL_ENTRIES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FREE_BUFTBL_CHUNK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x89_PRIVILEGE_CTG SRIOV_CTG_ONLOAD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FREE_BUFTBL_CHUNK_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FREE_BUFTBL_CHUNK_IN_HANDLE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FREE_BUFTBL_CHUNK_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* PORT_CONFIG_ENTRY structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* External port number (label) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Port core location */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORT_CONFIG_ENTRY_STANDALONE 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORT_CONFIG_ENTRY_MASTER 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORT_CONFIG_ENTRY_SLAVE 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Internal number (HW resource) relative to the core */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Reserved */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bitmask of KR lanes used by the port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Port capabilities (MC_CMD_PHY_CAP_*) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORT_CONFIG_ENTRY_SUPPORTED_CAPS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORT_CONFIG_ENTRY_SUPPORTED_CAPS_LBN 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORT_CONFIG_ENTRY_SUPPORTED_CAPS_WIDTH 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Reserved (align to 16 bytes) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FILTER_OP
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Multiplexed MCDI call for filter operations
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x8a_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FILTER_OP_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* identifies the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: single-recipient filter insert */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: single-recipient filter remove */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: multi-recipient filter subscribe */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: multi-recipient filter unsubscribe */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_OP_UNSUBSCRIBE 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: replace one recipient with another (warning - the filter handle may
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* filter handle (for remove / unsubscribe operations) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port ID associated with the v-adaptor which should contain this filter.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* fields to include in match criteria */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_FIELDS_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_SRC_IP_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_SRC_IP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_DST_IP_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_DST_IP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_SRC_MAC_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_SRC_MAC_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_SRC_PORT_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_SRC_PORT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_DST_MAC_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_DST_MAC_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_DST_PORT_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_DST_PORT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_ETHER_TYPE_LBN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_ETHER_TYPE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_INNER_VLAN_LBN 7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_INNER_VLAN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_OUTER_VLAN_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_OUTER_VLAN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_IP_PROTO_LBN 9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_IP_PROTO_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_FWDEF0_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_FWDEF0_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_FWDEF1_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_FWDEF1_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_UNKNOWN_MCAST_DST_LBN 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_UNKNOWN_MCAST_DST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_UNKNOWN_UCAST_DST_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_MATCH_UNKNOWN_UCAST_DST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receive destination */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: drop packets */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to host */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to MC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: loop back to TXDP 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: loop back to TXDP 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receive queue handle (for multiple queue modes, this is the base queue) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receive mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to just the specified queue */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_RX_MODE_SIMPLE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to multiple queues using RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to multiple queues using .1p mapping */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_RX_MODE_DOT1P_MAPPING 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: install a filter entry that will never match; for test purposes only
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_RX_MODE_TEST_NEVER_MATCH 0x80000000
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RSS context (for RX_MODE_RSS) or .1p mapping handle (for
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * RX_MODE_DOT1P_MAPPING), as returned by MC_CMD_RSS_CONTEXT_ALLOC or
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_DOT1P_MAPPING_ALLOC.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_RX_CONTEXT_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* transmit domain (reserved; set to 0) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_TX_DOMAIN_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* transmit destination (either set the MAC and/or PM bits for explicit
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * control, or set this field to TX_DEST_DEFAULT for sensible default
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: request default behaviour (based on filter type) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_TX_DEST_DEFAULT 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_TX_DEST_MAC_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_TX_DEST_MAC_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_TX_DEST_PM_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* source MAC address to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* source port to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* destination MAC address to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* destination port to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Ethernet type to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_ETHER_TYPE_OFST 60
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Inner VLAN tag to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_INNER_VLAN_OFST 62
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Outer VLAN tag to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_IN_OUTER_VLAN_OFST 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* IP protocol to match (in low byte; set high byte to 0) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Firmware defined register 0 to match (reserved; set to 0) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Firmware defined register 1 to match (reserved; set to 0) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* source IP address to match (as bytes in network order; set last 12 bytes to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 0 for IPv4 address)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* destination IP address to match (as bytes in network order; set last 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * bytes to 0 for IPv4 address)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FILTER_OP_EXT_IN msgrequest: Extension to MC_CMD_FILTER_OP_IN to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * include handling of VXLAN/NVGRE encapsulated frame filtering (which is
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * supported on Medford only).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* identifies the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* filter handle (for remove / unsubscribe operations) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_HANDLE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_HANDLE_LO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_HANDLE_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port ID associated with the v-adaptor which should contain this filter.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_PORT_ID_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* fields to include in match criteria */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_FIELDS_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_SRC_IP_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_SRC_IP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_DST_IP_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_DST_IP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_SRC_MAC_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_SRC_MAC_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_SRC_PORT_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_SRC_PORT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_DST_MAC_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_DST_MAC_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_DST_PORT_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_DST_PORT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_ETHER_TYPE_LBN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_ETHER_TYPE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_INNER_VLAN_LBN 7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_INNER_VLAN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_OUTER_VLAN_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_OUTER_VLAN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IP_PROTO_LBN 9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IP_PROTO_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_FWDEF0_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_FWDEF0_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_VNI_OR_VSID_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_VNI_OR_VSID_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_SRC_IP_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_SRC_IP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_DST_IP_LBN 13
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_DST_IP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_SRC_MAC_LBN 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_SRC_MAC_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_SRC_PORT_LBN 15
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_SRC_PORT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_DST_MAC_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_DST_MAC_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_DST_PORT_LBN 17
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_DST_PORT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_ETHER_TYPE_LBN 18
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_ETHER_TYPE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_INNER_VLAN_LBN 19
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_INNER_VLAN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_OUTER_VLAN_LBN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_OUTER_VLAN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_IP_PROTO_LBN 21
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_IP_PROTO_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_FWDEF0_LBN 22
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_FWDEF0_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_FWDEF1_LBN 23
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_FWDEF1_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_UNKNOWN_MCAST_DST_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_UNKNOWN_MCAST_DST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_UNKNOWN_UCAST_DST_LBN 25
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_UNKNOWN_UCAST_DST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_UNKNOWN_MCAST_DST_LBN 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_UNKNOWN_MCAST_DST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_UNKNOWN_UCAST_DST_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_MATCH_UNKNOWN_UCAST_DST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receive destination */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_DEST_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: drop packets */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_DEST_DROP 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to host */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_DEST_HOST 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to MC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_DEST_MC 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: loop back to TXDP 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_DEST_TX0 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: loop back to TXDP 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_DEST_TX1 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receive queue handle (for multiple queue modes, this is the base queue) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_QUEUE_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receive mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_MODE_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to just the specified queue */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_MODE_SIMPLE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to multiple queues using RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_MODE_RSS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to multiple queues using .1p mapping */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_MODE_DOT1P_MAPPING 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: install a filter entry that will never match; for test purposes only
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_MODE_TEST_NEVER_MATCH 0x80000000
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RSS context (for RX_MODE_RSS) or .1p mapping handle (for
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * RX_MODE_DOT1P_MAPPING), as returned by MC_CMD_RSS_CONTEXT_ALLOC or
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_DOT1P_MAPPING_ALLOC.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_RX_CONTEXT_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* transmit domain (reserved; set to 0) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_TX_DOMAIN_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* transmit destination (either set the MAC and/or PM bits for explicit
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * control, or set this field to TX_DEST_DEFAULT for sensible default
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_TX_DEST_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: request default behaviour (based on filter type) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_TX_DEST_DEFAULT 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_TX_DEST_MAC_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_TX_DEST_MAC_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_TX_DEST_PM_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_TX_DEST_PM_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* source MAC address to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_SRC_MAC_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_SRC_MAC_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* source port to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_SRC_PORT_OFST 50
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_SRC_PORT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* destination MAC address to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_DST_MAC_OFST 52
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_DST_MAC_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* destination port to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_DST_PORT_OFST 58
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_DST_PORT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Ethernet type to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_ETHER_TYPE_OFST 60
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_ETHER_TYPE_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Inner VLAN tag to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_INNER_VLAN_OFST 62
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_INNER_VLAN_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Outer VLAN tag to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_OUTER_VLAN_OFST 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_OUTER_VLAN_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* IP protocol to match (in low byte; set high byte to 0) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IP_PROTO_OFST 66
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IP_PROTO_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Firmware defined register 0 to match (reserved; set to 0) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_FWDEF0_OFST 68
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VNI (for VXLAN/Geneve, when IP protocol is UDP) or VSID (for NVGRE, when IP
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * protocol is GRE) to match (as bytes in network order; set last byte to 0 for
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * VXLAN/NVGRE, or 1 for Geneve)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VNI_OR_VSID_OFST 72
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VNI_VALUE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VNI_VALUE_WIDTH 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VNI_TYPE_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VNI_TYPE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Match VXLAN traffic with this VNI */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VNI_TYPE_VXLAN 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Match Geneve traffic with this VNI */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VNI_TYPE_GENEVE 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Reserved for experimental development use */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VNI_TYPE_EXPERIMENTAL 0xfe
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VSID_VALUE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VSID_VALUE_WIDTH 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VSID_TYPE_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VSID_TYPE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Match NVGRE traffic with this VSID */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_VSID_TYPE_NVGRE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* source IP address to match (as bytes in network order; set last 12 bytes to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 0 for IPv4 address)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_SRC_IP_OFST 76
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_SRC_IP_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* destination IP address to match (as bytes in network order; set last 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * bytes to 0 for IPv4 address)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_DST_IP_OFST 92
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_DST_IP_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VXLAN/NVGRE inner frame source MAC address to match (as bytes in network
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_SRC_MAC_OFST 108
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_SRC_MAC_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VXLAN/NVGRE inner frame source port to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_SRC_PORT_OFST 114
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_SRC_PORT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VXLAN/NVGRE inner frame destination MAC address to match (as bytes in
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * network order)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_DST_MAC_OFST 116
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_DST_MAC_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VXLAN/NVGRE inner frame destination port to match (as bytes in network
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_DST_PORT_OFST 122
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_DST_PORT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VXLAN/NVGRE inner frame Ethernet type to match (as bytes in network order)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_ETHER_TYPE_OFST 124
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_ETHER_TYPE_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VXLAN/NVGRE inner frame Inner VLAN tag to match (as bytes in network order)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_INNER_VLAN_OFST 126
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_INNER_VLAN_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VXLAN/NVGRE inner frame Outer VLAN tag to match (as bytes in network order)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_OUTER_VLAN_OFST 128
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_OUTER_VLAN_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VXLAN/NVGRE inner frame IP protocol to match (in low byte; set high byte to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_IP_PROTO_OFST 130
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_IP_PROTO_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VXLAN/NVGRE inner frame Firmware defined register 0 to match (reserved; set
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_FWDEF0_OFST 132
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VXLAN/NVGRE inner frame Firmware defined register 1 to match (reserved; set
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_FWDEF1_OFST 136
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VXLAN/NVGRE inner frame source IP address to match (as bytes in network
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * order; set last 12 bytes to 0 for IPv4 address)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_SRC_IP_OFST 140
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_SRC_IP_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VXLAN/NVGRE inner frame destination IP address to match (as bytes in network
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * order; set last 12 bytes to 0 for IPv4 address)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_DST_IP_OFST 156
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_IN_IFRM_DST_IP_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FILTER_OP_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* identifies the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Returned filter handle (for insert / subscribe operations). Note that these
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * handles should be considered opaque to the host, although a value of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 0xFFFFFFFF_FFFFFFFF is guaranteed never to be a valid handle.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_OUT_HANDLE_LO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_OUT_HANDLE_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: guaranteed invalid filter handle (low 32 bits) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_OUT_HANDLE_LO_INVALID 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: guaranteed invalid filter handle (high 32 bits) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_OUT_HANDLE_HI_INVALID 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FILTER_OP_EXT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* identifies the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Returned filter handle (for insert / subscribe operations). Note that these
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * handles should be considered opaque to the host, although a value of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 0xFFFFFFFF_FFFFFFFF is guaranteed never to be a valid handle.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_OUT_HANDLE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_OUT_HANDLE_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_OUT_HANDLE_LO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FILTER_OP_EXT_OUT_HANDLE_HI_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PARSER_DISP_INFO
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get information related to the parser-dispatcher subsystem
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xe4_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PARSER_DISP_INFO_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* identifies the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_IN_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: read the list of supported RX filter matches */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_IN_OP_GET_SUPPORTED_RX_MATCHES 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: read flags indicating restrictions on filter insertion for the calling
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_IN_OP_GET_RESTRICTIONS 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: read properties relating to security rules (Medford-only; for use by
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * SolarSecure apps, not directly by drivers. See SF-114946-SW.)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_IN_OP_GET_SECURITY_RULE_INFO 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PARSER_DISP_INFO_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_OUT_LENMIN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_OUT_LEN(num) (8+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* identifies the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_OUT_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* number of supported match types */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_OUT_NUM_SUPPORTED_MATCHES_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* array of supported match types (valid MATCH_FIELDS values for
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_FILTER_OP) sorted in decreasing priority order
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_OUT_SUPPORTED_MATCHES_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_OUT_SUPPORTED_MATCHES_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_OUT_SUPPORTED_MATCHES_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_INFO_OUT_SUPPORTED_MATCHES_MAXNUM 61
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* identifies the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* bitfield of filter insertion restrictions */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_RESTRICTION_FLAGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_DST_IP_MCAST_ONLY_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_DST_IP_MCAST_ONLY_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT msgresponse:
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * GET_PARSER_DISP_INFO response format for OP_GET_SECURITY_RULE_INFO.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Medford-only; for use by SolarSecure apps, not directly by drivers. See
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * been used in any released code and may change during development. This note
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * will be removed once it is regarded as stable.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_LEN 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* identifies the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* a version number representing the set of rule lookups that are implemented
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * by the currently running firmware
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_RULES_VERSION_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: implements lookup sequences described in SF-114946-SW draft C */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_RULES_VERSION_SF_114946_SW_C 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the number of nodes in the subnet map */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_SUBNET_MAP_NUM_NODES_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the number of entries in one subnet map node */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_SUBNET_MAP_NUM_ENTRIES_PER_NODE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* minimum valid value for a subnet ID in a subnet map leaf */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_SUBNET_ID_MIN_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* maximum valid value for a subnet ID in a subnet map leaf */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_SUBNET_ID_MAX_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the number of entries in the local and remote port range maps */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_PORTRANGE_TREE_NUM_ENTRIES_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* minimum valid value for a portrange ID in a port range map leaf */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_PORTRANGE_ID_MIN_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* maximum valid value for a portrange ID in a port range map leaf */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_PORTRANGE_ID_MAX_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PARSER_DISP_RW
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Direct read/write of parser-dispatcher state (DICPUs and LUE) for debugging.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Please note that this interface is only of use to debug tools which have
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * knowledge of firmware and hardware data structures; nothing here is intended
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * for use by normal driver code.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xe5_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PARSER_DISP_RW_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* identifies the target of the operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_TARGET_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX dispatcher CPU */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_RX_DICPU 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX dispatcher CPU */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_TX_DICPU 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Lookup engine (with original metadata format) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Lookup engine (with requested metadata format) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_LUE_VERSIONED_METADATA 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX0 dispatcher CPU (alias for RX_DICPU; Medford has 2 RX DICPUs) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_RX0_DICPU 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX1 dispatcher CPU (only valid for Medford) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_RX1_DICPU 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Miscellaneous other state (only valid for Medford) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_MISC_STATE 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* identifies the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: read a word of DICPU DMEM or a LUE entry */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: write a word of DICPU DMEM or a LUE entry */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: read-modify-write a word of DICPU DMEM (not valid for LUE) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* data memory address (DICPU targets) or LUE index (LUE targets) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_ADDRESS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* selector (for MISC_STATE target) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_SELECTOR_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Port to datapath mapping */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_PORT_DP_MAPPING 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* value to write (for DMEM writes) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_DMEM_WRITE_VALUE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* XOR value (for DMEM read-modify-writes: new = (old & mask) ^ value) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_DMEM_RMW_XOR_VALUE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* AND mask (for DMEM read-modify-writes: new = (old & mask) ^ value) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_DMEM_RMW_AND_MASK_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* metadata format (for LUE reads using LUE_VERSIONED_METADATA) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_LUE_READ_METADATA_VERSION_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* value to write (for LUE writes) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_LUE_WRITE_VALUE_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_IN_LUE_WRITE_VALUE_LEN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PARSER_DISP_RW_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* value read (for DMEM reads) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_OUT_DMEM_READ_VALUE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* value read (for LUE reads) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_OUT_LUE_READ_VALUE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_OUT_LUE_READ_VALUE_LEN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* up to 8 32-bit words of additional soft state from the LUE manager (the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * exact content is firmware-dependent and intended only for debug use)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_OUT_LUE_MGR_STATE_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_OUT_LUE_MGR_STATE_LEN 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* datapath(s) used for each port (for MISC_STATE PORT_DP_MAPPING selector) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_OUT_PORT_DP_MAPPING_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_OUT_PORT_DP_MAPPING_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_OUT_PORT_DP_MAPPING_NUM 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_OUT_DP0 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PARSER_DISP_RW_OUT_DP1 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PF_COUNT
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get number of PFs on the device.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xb6_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PF_COUNT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PF_COUNT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Identifies the number of PFs on the device. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PF_COUNT_OUT_PF_COUNT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PF_COUNT_OUT_PF_COUNT_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PF_COUNT
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set number of PFs on the device.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PF_COUNT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* New number of PFs on the device. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PF_COUNT_IN_PF_COUNT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PF_COUNT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PORT_ASSIGNMENT
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get port assignment for current PCI function.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xb8_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PORT_ASSIGNMENT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PORT_ASSIGNMENT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Identifies the port assignment for this function. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_ASSIGNMENT_OUT_PORT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PORT_ASSIGNMENT
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set port assignment for current PCI function.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xb9_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PORT_ASSIGNMENT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Identifies the port assignment for this function. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_ASSIGNMENT_IN_PORT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PORT_ASSIGNMENT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ALLOC_VIS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Allocate VIs for current PCI function.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x8b_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ALLOC_VIS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The minimum number of VIs that is acceptable */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ALLOC_VIS_IN_MIN_VI_COUNT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The maximum number of VIs that would be useful */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ALLOC_VIS_IN_MAX_VI_COUNT_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ALLOC_VIS_OUT msgresponse: Huntington-compatible VI_ALLOC request.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Use extended version in new code.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The number of VIs allocated on this function */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The base absolute VI number allocated to this function. Required to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * correctly interpret wakeup events.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ALLOC_VIS_EXT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The number of VIs allocated on this function */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ALLOC_VIS_EXT_OUT_VI_COUNT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The base absolute VI number allocated to this function. Required to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * correctly interpret wakeup events.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ALLOC_VIS_EXT_OUT_VI_BASE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Function's port vi_shift value (always 0 on Huntington) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ALLOC_VIS_EXT_OUT_VI_SHIFT_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FREE_VIS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Free VIs for current PCI function. Any linked PIO buffers will be unlinked,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * but not freed.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x8c_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FREE_VIS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FREE_VIS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_SRIOV_CFG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get SRIOV config for this PF.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xba_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_SRIOV_CFG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_SRIOV_CFG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of VFs currently enabled. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SRIOV_CFG_OUT_VF_CURRENT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Max number of VFs before sriov stride and offset may need to be changed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SRIOV_CFG_OUT_VF_MAX_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SRIOV_CFG_OUT_FLAGS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SRIOV_CFG_OUT_VF_ENABLED_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SRIOV_CFG_OUT_VF_ENABLED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RID offset of first VF from PF. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SRIOV_CFG_OUT_VF_OFFSET_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RID offset of each subsequent VF from the previous. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SRIOV_CFG_OUT_VF_STRIDE_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_SRIOV_CFG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set SRIOV config for this PF.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xbb_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_SRIOV_CFG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of VFs currently enabled. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SRIOV_CFG_IN_VF_CURRENT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Max number of VFs before sriov stride and offset may need to be changed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SRIOV_CFG_IN_VF_MAX_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SRIOV_CFG_IN_VF_ENABLED_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SRIOV_CFG_IN_VF_ENABLED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RID offset of first VF from PF, or 0 for no change, or
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_RESOURCE_INSTANCE_ANY to allow the system to allocate an offset.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SRIOV_CFG_IN_VF_OFFSET_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RID offset of each subsequent VF from the previous, 0 for no change, or
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_RESOURCE_INSTANCE_ANY to allow the system to allocate a stride.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SRIOV_CFG_IN_VF_STRIDE_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_SRIOV_CFG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VI_ALLOC_INFO
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get information about number of VI's and base VI number allocated to this
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x8d_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VI_ALLOC_INFO_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VI_ALLOC_INFO_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The number of VIs allocated on this function */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_ALLOC_INFO_OUT_VI_COUNT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The base absolute VI number allocated to this function. Required to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * correctly interpret wakeup events.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_ALLOC_INFO_OUT_VI_BASE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Function's port vi_shift value (always 0 on Huntington) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_ALLOC_INFO_OUT_VI_SHIFT_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_VI_STATE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * For CmdClient use. Dump pertinent information on a specific absolute VI.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x8e_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_VI_STATE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The VI number to query. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_IN_VI_NUMBER_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_VI_STATE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The PF part of the function owning this VI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_OWNER_PF_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_OWNER_PF_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The VF part of the function owning this VI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_OWNER_VF_OFST 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_OWNER_VF_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Base of VIs allocated to this function. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_FUNC_VI_BASE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_FUNC_VI_BASE_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Count of VIs allocated to the owner function. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_FUNC_VI_COUNT_OFST 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_FUNC_VI_COUNT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Base interrupt vector allocated to this function. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_FUNC_VECTOR_BASE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_FUNC_VECTOR_BASE_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of interrupt vectors allocated to this function. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_FUNC_VECTOR_COUNT_OFST 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_FUNC_VECTOR_COUNT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Raw evq ptr table data. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EVQ_PTR_RAW_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EVQ_PTR_RAW_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EVQ_PTR_RAW_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EVQ_PTR_RAW_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Raw evq timer table data. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_TIMER_RAW_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_TIMER_RAW_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_TIMER_RAW_LO_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_TIMER_RAW_HI_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Combined metadata field. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_META_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_META_BUFS_BASE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_META_BUFS_BASE_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_META_BUFS_NPAGES_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_META_BUFS_NPAGES_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_META_WKUP_REF_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_META_WKUP_REF_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* TXDPCPU raw table data for queue. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_0_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_0_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_0_LO_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_0_HI_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* TXDPCPU raw table data for queue. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_1_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_1_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_1_LO_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_1_HI_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* TXDPCPU raw table data for queue. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_2_OFST 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_2_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_2_LO_OFST 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_2_HI_OFST 52
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Combined metadata field. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_OFST 56
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_LO_OFST 56
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_HI_OFST 60
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_BUFS_BASE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_BUFS_BASE_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_BUFS_NPAGES_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_BUFS_NPAGES_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_QSTATE_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_QSTATE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_WAITCOUNT_LBN 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_WAITCOUNT_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_PADDING_LBN 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_PADDING_WIDTH 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RXDPCPU raw table data for queue. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_0_OFST 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_0_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_0_LO_OFST 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_0_HI_OFST 68
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RXDPCPU raw table data for queue. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_1_OFST 72
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_1_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_1_LO_OFST 72
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_1_HI_OFST 76
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Reserved, currently 0. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_2_OFST 80
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_2_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_2_LO_OFST 80
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_2_HI_OFST 84
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Combined metadata field. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_OFST 88
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_LO_OFST 88
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_HI_OFST 92
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_BUFS_BASE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_BUFS_BASE_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_BUFS_NPAGES_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_BUFS_NPAGES_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_QSTATE_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_QSTATE_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_WAITCOUNT_LBN 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_WAITCOUNT_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ALLOC_PIOBUF
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Allocate a push I/O buffer for later use with a tx queue.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x8f_PRIVILEGE_CTG SRIOV_CTG_ONLOAD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ALLOC_PIOBUF_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ALLOC_PIOBUF_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Handle for allocated push I/O buffer. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ALLOC_PIOBUF_OUT_PIOBUF_HANDLE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FREE_PIOBUF
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Free a push I/O buffer.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x90_PRIVILEGE_CTG SRIOV_CTG_ONLOAD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FREE_PIOBUF_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Handle for allocated push I/O buffer. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FREE_PIOBUF_IN_PIOBUF_HANDLE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FREE_PIOBUF_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VI_TLP_PROCESSING
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get TLP steering and ordering information for a VI.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xb0_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VI_TLP_PROCESSING_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_IN_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VI number to get information for. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_IN_INSTANCE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VI_TLP_PROCESSING_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Transaction processing steering hint 1 for use with the Rx Queue. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_TPH_TAG1_RX_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_TPH_TAG1_RX_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Transaction processing steering hint 2 for use with the Ev Queue. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_TPH_TAG2_EV_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_TPH_TAG2_EV_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Use Relaxed ordering model for TLPs on this VI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_RELAXED_ORDERING_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_RELAXED_ORDERING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Use ID based ordering for TLPs on this VI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_ID_BASED_ORDERING_LBN 17
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_ID_BASED_ORDERING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Set no snoop bit for TLPs on this VI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_NO_SNOOP_LBN 18
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_NO_SNOOP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enable TPH for TLPs on this VI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_TPH_ON_LBN 19
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_TPH_ON_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VI_TLP_PROCESSING_OUT_DATA_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_VI_TLP_PROCESSING
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set TLP steering and ordering information for a VI.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xb1_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_VI_TLP_PROCESSING_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* VI number to set information for. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_INSTANCE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Transaction processing steering hint 1 for use with the Rx Queue. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_TPH_TAG1_RX_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_TPH_TAG1_RX_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Transaction processing steering hint 2 for use with the Ev Queue. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_TPH_TAG2_EV_OFST 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_TPH_TAG2_EV_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Use Relaxed ordering model for TLPs on this VI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_RELAXED_ORDERING_LBN 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_RELAXED_ORDERING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Use ID based ordering for TLPs on this VI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_ID_BASED_ORDERING_LBN 49
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_ID_BASED_ORDERING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Set the no snoop bit for TLPs on this VI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_NO_SNOOP_LBN 50
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_NO_SNOOP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enable TPH for TLPs on this VI. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_TPH_ON_LBN 51
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_TPH_ON_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_IN_DATA_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_VI_TLP_PROCESSING_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VI_TLP_PROCESSING_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_TLP_PROCESSING_GLOBALS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get global PCIe steering and transaction processing configuration.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS 0xbc
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xbc_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_TLP_PROCESSING_GLOBALS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_IN_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_IN_TLP_GLOBAL_CATEGORY_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MISC. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_IN_TLP_GLOBAL_CATEGORY_MISC 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: IDO. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_IN_TLP_GLOBAL_CATEGORY_IDO 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RO. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_IN_TLP_GLOBAL_CATEGORY_RO 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TPH Type. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_IN_TLP_GLOBAL_CATEGORY_TPH_TYPE 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_GLOBAL_CATEGORY_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_TLP_PROCESSING_GLOBALS_IN/TLP_GLOBAL_CATEGORY */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Amalgamated TLP info word. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_WORD_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_MISC_WTAG_EN_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_MISC_WTAG_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_MISC_SPARE_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_MISC_SPARE_WIDTH 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_DL_EN_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_DL_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_TX_EN_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_TX_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_EV_EN_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_EV_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_RX_EN_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_RX_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_SPARE_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_SPARE_WIDTH 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_RO_RXDMA_EN_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_RO_RXDMA_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_RO_TXDMA_EN_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_RO_TXDMA_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_RO_DL_EN_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_RO_DL_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_RO_SPARE_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_RO_SPARE_WIDTH 29
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_MSIX_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_MSIX_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_DL_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_DL_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_TX_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_TX_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_EV_LBN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_EV_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_RX_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_RX_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TLP_TYPE_SPARE_LBN 9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TLP_TYPE_SPARE_WIDTH 23
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_TLP_PROCESSING_GLOBALS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set global PCIe steering and transaction processing configuration.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS 0xbd
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xbd_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_GLOBAL_CATEGORY_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_TLP_PROCESSING_GLOBALS/MC_CMD_GET_TLP_PROCESSING_GLOBALS_IN/TLP_GLOBAL_CATEGORY */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Amalgamated TLP info word. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_WORD_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_MISC_WTAG_EN_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_MISC_WTAG_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_IDO_DL_EN_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_IDO_DL_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_IDO_TX_EN_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_IDO_TX_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_IDO_EV_EN_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_IDO_EV_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_IDO_RX_EN_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_IDO_RX_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_RO_RXDMA_EN_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_RO_RXDMA_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_RO_TXDMA_EN_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_RO_TXDMA_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_RO_DL_EN_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_RO_DL_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_MSIX_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_MSIX_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_DL_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_DL_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_TX_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_TX_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_EV_LBN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_EV_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_RX_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_RX_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_SPARE_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_SPARE_WIDTH 22
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_TLP_PROCESSING_GLOBALS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TLP_PROCESSING_GLOBALS_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SATELLITE_DOWNLOAD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Download a new set of images to the satellite CPUs from the host.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x91_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SATELLITE_DOWNLOAD_IN msgrequest: The reset requirements for the CPUs
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * are subtle, and so downloads must proceed in a number of phases.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 1) PHASE_RESET with a target of TARGET_ALL and chunk ID/length of 0.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 2) PHASE_IMEMS for each of the IMEM targets (target IDs 0-11). Each download
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * may consist of multiple chunks. The final chunk (with CHUNK_ID_LAST) should
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * be a checksum (a simple 32-bit sum) of the transferred data. An individual
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * download may be aborted using CHUNK_ID_ABORT.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 3) PHASE_VECTORS for each of the vector table targets (target IDs 12-15),
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * similar to PHASE_IMEMS.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 4) PHASE_READY with a target of TARGET_ALL and chunk ID/length of 0.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * After any error (a requested abort is not considered to be an error) the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * sequence must be restarted from PHASE_RESET.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_LENMIN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_LEN(num) (16+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Download phase. (Note: the IDLE phase is used internally and is never valid
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * in a command from the host.)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_PHASE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_PHASE_IDLE 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_PHASE_RESET 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_PHASE_IMEMS 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_PHASE_VECTORS 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_PHASE_READY 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Target for download. (These match the blob numbers defined in
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 2 (PHASE_IMEMS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_TXDI_TEXT 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 2 (PHASE_IMEMS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_RXDI_TEXT 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 2 (PHASE_IMEMS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_TXDP_TEXT 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 2 (PHASE_IMEMS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_RXDP_TEXT 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 2 (PHASE_IMEMS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_RXHRSL_HR_LUT 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 2 (PHASE_IMEMS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_RXHRSL_HR_LUT_CFG 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 2 (PHASE_IMEMS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_TXHRSL_HR_LUT 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 2 (PHASE_IMEMS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_TXHRSL_HR_LUT_CFG 0x7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 2 (PHASE_IMEMS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_RXHRSL_HR_PGM 0x8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 2 (PHASE_IMEMS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_RXHRSL_SL_PGM 0x9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 2 (PHASE_IMEMS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_TXHRSL_HR_PGM 0xa
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 2 (PHASE_IMEMS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_TXHRSL_SL_PGM 0xb
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 3 (PHASE_VECTORS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_RXDI_VTBL0 0xc
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 3 (PHASE_VECTORS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_TXDI_VTBL0 0xd
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 3 (PHASE_VECTORS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_RXDI_VTBL1 0xe
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phase 3 (PHASE_VECTORS) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_TXDI_VTBL1 0xf
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Valid in phases 1 (PHASE_RESET) and 4 (PHASE_READY) only */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_ALL 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Chunk ID, or CHUNK_ID_LAST or CHUNK_ID_ABORT */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_CHUNK_ID_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Last chunk, containing checksum rather than data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_CHUNK_ID_LAST 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Abort download of this item */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_CHUNK_ID_ABORT 0xfffffffe
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of this chunk in bytes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_CHUNK_LEN_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Data for this chunk */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_CHUNK_DATA_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_CHUNK_DATA_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_CHUNK_DATA_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_IN_CHUNK_DATA_MAXNUM 59
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SATELLITE_DOWNLOAD_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Same as MC_CMD_ERR field, but included as 0 in success cases */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_OUT_RESULT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Extra status information */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_OUT_INFO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Code download OK, completed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_OUT_OK_COMPLETE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Code download aborted as requested. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_OUT_OK_ABORTED 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Code download OK so far, send next chunk. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_OUT_OK_NEXT_CHUNK 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Download phases out of sequence */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_OUT_ERR_BAD_PHASE 0x100
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bad target for this phase */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_OUT_ERR_BAD_TARGET 0x101
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Chunk ID out of sequence */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_OUT_ERR_BAD_CHUNK_ID 0x200
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Chunk length zero or too large */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_OUT_ERR_BAD_CHUNK_LEN 0x201
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Checksum was incorrect */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SATELLITE_DOWNLOAD_OUT_ERR_BAD_CHECKSUM 0x300
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_CAPABILITIES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get device capabilities.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * This is supplementary to the MC_CMD_GET_BOARD_CFG command, and intended to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * reference inherent device capabilities as opposed to current NVRAM config.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xbe_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_CAPABILITIES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_CAPABILITIES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* First word of flags. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_FLAGS1_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_VPORT_RECONFIGURE_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_VPORT_RECONFIGURE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TX_STRIPING_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TX_STRIPING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_VADAPTOR_QUERY_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_VADAPTOR_QUERY_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_EVB_PORT_VLAN_RESTRICT_LBN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_EVB_PORT_VLAN_RESTRICT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_DRV_ATTACH_PREBOOT_LBN 7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_DRV_ATTACH_PREBOOT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_FORCE_EVENT_MERGING_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_FORCE_EVENT_MERGING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_SET_MAC_ENHANCED_LBN 9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_SET_MAC_ENHANCED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_UNKNOWN_UCAST_DST_FILTER_ALWAYS_MULTI_RECIPIENT_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_UNKNOWN_UCAST_DST_FILTER_ALWAYS_MULTI_RECIPIENT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_VADAPTOR_PERMIT_SET_MAC_WHEN_FILTERS_INSTALLED_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_VADAPTOR_PERMIT_SET_MAC_WHEN_FILTERS_INSTALLED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TX_MAC_SECURITY_FILTERING_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TX_MAC_SECURITY_FILTERING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_ADDITIONAL_RSS_MODES_LBN 13
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_ADDITIONAL_RSS_MODES_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_QBB_LBN 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_QBB_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_PACKED_STREAM_VAR_BUFFERS_LBN 15
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_PACKED_STREAM_VAR_BUFFERS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_RSS_LIMITED_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_RSS_LIMITED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_PACKED_STREAM_LBN 17
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_PACKED_STREAM_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_INCLUDE_FCS_LBN 18
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_INCLUDE_FCS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TX_VLAN_INSERTION_LBN 19
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TX_VLAN_INSERTION_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_VLAN_STRIPPING_LBN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_VLAN_STRIPPING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TX_TSO_LBN 21
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TX_TSO_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_PREFIX_LEN_0_LBN 22
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_PREFIX_LEN_0_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_PREFIX_LEN_14_LBN 23
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_PREFIX_LEN_14_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_TIMESTAMP_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_TIMESTAMP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_BATCHING_LBN 25
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_BATCHING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_MCAST_FILTER_CHAINING_LBN 26
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_MCAST_FILTER_CHAINING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_PM_AND_RXDP_COUNTERS_LBN 27
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_PM_AND_RXDP_COUNTERS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_DISABLE_SCATTER_LBN 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_DISABLE_SCATTER_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TX_MCAST_UDP_LOOPBACK_LBN 29
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TX_MCAST_UDP_LOOPBACK_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_EVB_LBN 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_EVB_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_VXLAN_NVGRE_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_VXLAN_NVGRE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RxDPCPU firmware id. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_DPCPU_FW_ID_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RX_DPCPU_FW_ID_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Standard RXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Low latency RXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXDP_LOW_LATENCY 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Packed stream RXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXDP_PACKED_STREAM 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: BIST RXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXDP_BIST 0x10a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXDP_TEST_FW_TO_MC_CUT_THROUGH 0x101
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXDP_TEST_FW_TO_MC_STORE_FORWARD 0x102
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 3 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXDP_TEST_FW_TO_MC_STORE_FORWARD_FIRST 0x103
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXDP_TEST_EVERY_EVENT_BATCHABLE 0x104
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 5 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXDP_TEST_BACKPRESSURE 0x105
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 6 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXDP_TEST_FW_PACKET_EDITS 0x106
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 7 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXDP_TEST_FW_RX_HDR_SPLIT 0x107
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 8 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXDP_TEST_FW_DISABLE_DL 0x108
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 9 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXDP_TEST_FW_DOORBELL_DELAY 0x10b
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* TxDPCPU firmware id. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TX_DPCPU_FW_ID_OFST 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TX_DPCPU_FW_ID_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Standard TXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Low latency TXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXDP_LOW_LATENCY 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: High packet rate TXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXDP_HIGH_PACKET_RATE 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: BIST TXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXDP_BIST 0x12d
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TXDP Test firmware image 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXDP_TEST_FW_TSO_EDIT 0x101
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TXDP Test firmware image 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXDP_TEST_FW_PACKET_EDITS 0x102
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_VERSION_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_VERSION_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_VERSION_REV_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_VERSION_REV_WIDTH 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_VERSION_TYPE_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: reserved value - do not use (may indicate alternative interpretation
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of REV field in future)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_TYPE_RESERVED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Trivial RX PD firmware for early Huntington development (Huntington
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_TYPE_FIRST_PKT 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX PD firmware with approximately Siena-compatible behaviour
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Huntington development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_TYPE_SIENA_COMPAT 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Virtual switching (full feature) RX PD production firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_TYPE_VSWITCH 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: siena_compat variant RX PD firmware using PM rather than MAC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Huntington development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_TYPE_SIENA_COMPAT_PM 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Low latency RX PD production firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_TYPE_LOW_LATENCY 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Packed stream RX PD production firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_TYPE_PACKED_STREAM 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX PD firmware handling layer 2 only for high packet rate performance
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * tests (Medford development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_TYPE_LAYER2_PERF 0x7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX PD firmware for GUE parsing prototype (Medford development only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_TYPE_TESTFW_GUE_PROTOTYPE 0xe
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX PD firmware parsing but not filtering network overlay tunnel
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * encapsulations (Medford development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_TYPE_TESTFW_ENCAP_PARSING_ONLY 0xf
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_VERSION_OFST 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_VERSION_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_VERSION_REV_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_VERSION_REV_WIDTH 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_VERSION_TYPE_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: reserved value - do not use (may indicate alternative interpretation
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of REV field in future)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_TYPE_RESERVED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Trivial TX PD firmware for early Huntington development (Huntington
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_TYPE_FIRST_PKT 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX PD firmware with approximately Siena-compatible behaviour
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Huntington development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_TYPE_SIENA_COMPAT 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Virtual switching (full feature) TX PD production firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_TYPE_VSWITCH 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: siena_compat variant TX PD firmware using PM rather than MAC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Huntington development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_TYPE_SIENA_COMPAT_PM 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_TYPE_LOW_LATENCY 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX PD firmware handling layer 2 only for high packet rate performance
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * tests (Medford development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_TYPE_LAYER2_PERF 0x7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX PD firmware for GUE parsing prototype (Medford development only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_TYPE_TESTFW_GUE_PROTOTYPE 0xe
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Hardware capabilities of NIC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_HW_CAPABILITIES_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Licensed capabilities */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_OUT_LICENSE_CAPABILITIES_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_CAPABILITIES_V2_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_CAPABILITIES_V2_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_LEN 72
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* First word of flags. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_FLAGS1_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_VPORT_RECONFIGURE_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_VPORT_RECONFIGURE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_STRIPING_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_STRIPING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_VADAPTOR_QUERY_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_VADAPTOR_QUERY_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_EVB_PORT_VLAN_RESTRICT_LBN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_EVB_PORT_VLAN_RESTRICT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_DRV_ATTACH_PREBOOT_LBN 7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_DRV_ATTACH_PREBOOT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_FORCE_EVENT_MERGING_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_FORCE_EVENT_MERGING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_SET_MAC_ENHANCED_LBN 9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_SET_MAC_ENHANCED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_UNKNOWN_UCAST_DST_FILTER_ALWAYS_MULTI_RECIPIENT_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_UNKNOWN_UCAST_DST_FILTER_ALWAYS_MULTI_RECIPIENT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_VADAPTOR_PERMIT_SET_MAC_WHEN_FILTERS_INSTALLED_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_VADAPTOR_PERMIT_SET_MAC_WHEN_FILTERS_INSTALLED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_MAC_SECURITY_FILTERING_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_MAC_SECURITY_FILTERING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_ADDITIONAL_RSS_MODES_LBN 13
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_ADDITIONAL_RSS_MODES_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_QBB_LBN 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_QBB_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_PACKED_STREAM_VAR_BUFFERS_LBN 15
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_PACKED_STREAM_VAR_BUFFERS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_RSS_LIMITED_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_RSS_LIMITED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_PACKED_STREAM_LBN 17
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_PACKED_STREAM_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_INCLUDE_FCS_LBN 18
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_INCLUDE_FCS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_VLAN_INSERTION_LBN 19
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_VLAN_INSERTION_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_VLAN_STRIPPING_LBN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_VLAN_STRIPPING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_LBN 21
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_PREFIX_LEN_0_LBN 22
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_PREFIX_LEN_0_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_PREFIX_LEN_14_LBN 23
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_PREFIX_LEN_14_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_TIMESTAMP_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_TIMESTAMP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_BATCHING_LBN 25
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_BATCHING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_MCAST_FILTER_CHAINING_LBN 26
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_MCAST_FILTER_CHAINING_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_PM_AND_RXDP_COUNTERS_LBN 27
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_PM_AND_RXDP_COUNTERS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_DISABLE_SCATTER_LBN 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_DISABLE_SCATTER_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_MCAST_UDP_LOOPBACK_LBN 29
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_MCAST_UDP_LOOPBACK_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_EVB_LBN 30
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_EVB_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_VXLAN_NVGRE_LBN 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_VXLAN_NVGRE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RxDPCPU firmware id. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_DPCPU_FW_ID_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_DPCPU_FW_ID_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Standard RXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Low latency RXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_LOW_LATENCY 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Packed stream RXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_PACKED_STREAM 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: BIST RXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_BIST 0x10a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_TEST_FW_TO_MC_CUT_THROUGH 0x101
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_TEST_FW_TO_MC_STORE_FORWARD 0x102
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 3 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_TEST_FW_TO_MC_STORE_FORWARD_FIRST 0x103
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 4 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_TEST_EVERY_EVENT_BATCHABLE 0x104
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 5 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_TEST_BACKPRESSURE 0x105
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 6 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_TEST_FW_PACKET_EDITS 0x106
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 7 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_TEST_FW_RX_HDR_SPLIT 0x107
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 8 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_TEST_FW_DISABLE_DL 0x108
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RXDP Test firmware image 9 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_TEST_FW_DOORBELL_DELAY 0x10b
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* TxDPCPU firmware id. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_DPCPU_FW_ID_OFST 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_DPCPU_FW_ID_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Standard TXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXDP 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Low latency TXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXDP_LOW_LATENCY 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: High packet rate TXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXDP_HIGH_PACKET_RATE 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: BIST TXDP firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXDP_BIST 0x12d
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TXDP Test firmware image 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXDP_TEST_FW_TSO_EDIT 0x101
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TXDP Test firmware image 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXDP_TEST_FW_PACKET_EDITS 0x102
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_VERSION_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_VERSION_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_VERSION_REV_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_VERSION_REV_WIDTH 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_VERSION_TYPE_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: reserved value - do not use (may indicate alternative interpretation
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of REV field in future)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_TYPE_RESERVED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Trivial RX PD firmware for early Huntington development (Huntington
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_TYPE_FIRST_PKT 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX PD firmware with approximately Siena-compatible behaviour
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Huntington development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_TYPE_SIENA_COMPAT 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Virtual switching (full feature) RX PD production firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_TYPE_VSWITCH 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: siena_compat variant RX PD firmware using PM rather than MAC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Huntington development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_TYPE_SIENA_COMPAT_PM 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Low latency RX PD production firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_TYPE_LOW_LATENCY 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Packed stream RX PD production firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_TYPE_PACKED_STREAM 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX PD firmware handling layer 2 only for high packet rate performance
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * tests (Medford development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_TYPE_LAYER2_PERF 0x7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX PD firmware for GUE parsing prototype (Medford development only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_TYPE_TESTFW_GUE_PROTOTYPE 0xe
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX PD firmware parsing but not filtering network overlay tunnel
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * encapsulations (Medford development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_TYPE_TESTFW_ENCAP_PARSING_ONLY 0xf
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_VERSION_OFST 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_VERSION_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_VERSION_REV_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_VERSION_REV_WIDTH 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_VERSION_TYPE_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: reserved value - do not use (may indicate alternative interpretation
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of REV field in future)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_TYPE_RESERVED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Trivial TX PD firmware for early Huntington development (Huntington
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_TYPE_FIRST_PKT 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX PD firmware with approximately Siena-compatible behaviour
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Huntington development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_TYPE_SIENA_COMPAT 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Virtual switching (full feature) TX PD production firmware */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_TYPE_VSWITCH 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: siena_compat variant TX PD firmware using PM rather than MAC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Huntington development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_TYPE_SIENA_COMPAT_PM 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_TYPE_LOW_LATENCY 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX PD firmware handling layer 2 only for high packet rate performance
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * tests (Medford development only)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_TYPE_LAYER2_PERF 0x7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RX PD firmware for GUE parsing prototype (Medford development only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_TYPE_TESTFW_GUE_PROTOTYPE 0xe
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Hardware capabilities of NIC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_HW_CAPABILITIES_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Licensed capabilities */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_LICENSE_CAPABILITIES_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Second word of flags. Not present on older firmware (check the length). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_FLAGS2_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_V2_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_V2_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_V2_ENCAP_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_V2_ENCAP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of FATSOv2 contexts per datapath supported by this NIC. Not present
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * on older firmware (check the length).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_V2_N_CONTEXTS_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_V2_N_CONTEXTS_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* One byte per PF containing the number of the external port assigned to this
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PF, indexed by PF number. Special values indicate that a PF is either not
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * present or not assigned.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_PFS_TO_PORTS_ASSIGNMENT_OFST 26
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_PFS_TO_PORTS_ASSIGNMENT_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_PFS_TO_PORTS_ASSIGNMENT_NUM 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The caller is not permitted to access information on this PF. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_ACCESS_NOT_PERMITTED 0xff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PF does not exist. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_PF_NOT_PRESENT 0xfe
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PF does exist but is not assigned to any external port. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_PF_NOT_ASSIGNED 0xfd
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: This value indicates that PF is assigned, but it cannot be expressed
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * in this field. It is intended for a possible future situation where a more
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * complex scheme of PFs to ports mapping is being used. The future driver
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * should look for a new field supporting the new scheme. The current/old
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * driver should treat this value as PF_NOT_ASSIGNED.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_INCOMPATIBLE_ASSIGNMENT 0xfc
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* One byte per PF containing the number of its VFs, indexed by PF number. A
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * special value indicates that a PF is not present.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_NUM_VFS_PER_PF_OFST 42
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_NUM_VFS_PER_PF_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_NUM_VFS_PER_PF_NUM 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The caller is not permitted to access information on this PF. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_CAPABILITIES_V2_OUT_ACCESS_NOT_PERMITTED 0xff */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: PF does not exist. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_CAPABILITIES_V2_OUT_PF_NOT_PRESENT 0xfe */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of VIs available for each external port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_NUM_VIS_PER_PORT_OFST 58
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_NUM_VIS_PER_PORT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_NUM_VIS_PER_PORT_NUM 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Size of RX descriptor cache expressed as binary logarithm The actual size
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * equals (2 ^ RX_DESC_CACHE_SIZE)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_DESC_CACHE_SIZE_OFST 66
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_DESC_CACHE_SIZE_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Size of TX descriptor cache expressed as binary logarithm The actual size
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * equals (2 ^ TX_DESC_CACHE_SIZE)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_DESC_CACHE_SIZE_OFST 67
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_DESC_CACHE_SIZE_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Total number of available PIO buffers */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_NUM_PIO_BUFFS_OFST 68
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_NUM_PIO_BUFFS_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Size of a single PIO buffer */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_SIZE_PIO_BUFF_OFST 70
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CAPABILITIES_V2_OUT_SIZE_PIO_BUFF_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_V2_EXTN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Encapsulation for a v2 extended command
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_V2_EXTN_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the extended command number */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_V2_EXTN_IN_EXTENDED_CMD_WIDTH 15
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the actual length of the encapsulated command (which is not in the v1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_V2_EXTN_IN_ACTUAL_LEN_WIDTH 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_BUCKET_ALLOC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Allocate a pacer bucket (for qau rp or a snapper test)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xb2_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_BUCKET_ALLOC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_BUCKET_ALLOC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the bucket id */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_BUCKET_ALLOC_OUT_BUCKET_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_BUCKET_FREE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Free a pacer bucket
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xb3_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_BUCKET_FREE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the bucket id */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_BUCKET_FREE_IN_BUCKET_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_BUCKET_FREE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_BUCKET_INIT
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Initialise pacer bucket with a given rate
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xb4_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_BUCKET_INIT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the bucket id */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_BUCKET_INIT_IN_BUCKET_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the rate in mbps */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_BUCKET_INIT_IN_RATE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_BUCKET_INIT_EXT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the bucket id */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_BUCKET_INIT_EXT_IN_BUCKET_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the rate in mbps */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_BUCKET_INIT_EXT_IN_RATE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the desired maximum fill level */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_BUCKET_INIT_EXT_IN_MAX_FILL_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_BUCKET_INIT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_TXQ_INIT
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Initialise txq in pacer with given options or set options
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xb5_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_TXQ_INIT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the txq id */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the static priority associated with the txq */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* bitmask of the priority queues this txq is inserted into when inserted. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_IN_PQ_FLAGS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_IN_PQ_FLAG_GUARANTEED_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_IN_PQ_FLAG_GUARANTEED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_IN_PQ_FLAG_NORMAL_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_IN_PQ_FLAG_NORMAL_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_IN_PQ_FLAG_LOW_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_IN_PQ_FLAG_LOW_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the reaction point (RP) bucket */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_IN_RP_BKT_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* an already reserved bucket (typically set to bucket associated with outer
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_IN_MAX_BKT1_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* an already reserved bucket (typically set to bucket associated with inner
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_IN_MAX_BKT2_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the min bucket (typically for ETS/minimum bandwidth) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_IN_MIN_BKT_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_TXQ_INIT_EXT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the txq id */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_QID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the static priority associated with the txq */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_LABEL_NORMAL_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* bitmask of the priority queues this txq is inserted into when inserted. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_PQ_FLAGS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_PQ_FLAG_GUARANTEED_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_PQ_FLAG_GUARANTEED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_PQ_FLAG_NORMAL_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_PQ_FLAG_NORMAL_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_PQ_FLAG_LOW_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_PQ_FLAG_LOW_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the reaction point (RP) bucket */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_RP_BKT_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* an already reserved bucket (typically set to bucket associated with outer
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_MAX_BKT1_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* an already reserved bucket (typically set to bucket associated with inner
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_MAX_BKT2_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the min bucket (typically for ETS/minimum bandwidth) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_MIN_BKT_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the static priority associated with the txq */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TCM_TXQ_INIT_EXT_IN_LABEL_GUARANTEED_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TCM_TXQ_INIT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LINK_PIOBUF
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Link a push I/O buffer to a TxQ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x92_PRIVILEGE_CTG SRIOV_CTG_ONLOAD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LINK_PIOBUF_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Handle for allocated push I/O buffer. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_PIOBUF_IN_PIOBUF_HANDLE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Function Local Instance (VI) number. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_PIOBUF_IN_TXQ_INSTANCE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LINK_PIOBUF_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_UNLINK_PIOBUF
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Unlink a push I/O buffer from a TxQ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x93_PRIVILEGE_CTG SRIOV_CTG_ONLOAD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_UNLINK_PIOBUF_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Function Local Instance (VI) number. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UNLINK_PIOBUF_IN_TXQ_INSTANCE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_UNLINK_PIOBUF_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VSWITCH_ALLOC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * allocate and initialise a v-switch.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x94_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VSWITCH_ALLOC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port to connect to the v-switch's upstream port. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VSWITCH_ALLOC_IN_UPSTREAM_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The type of v-switch to create. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: VLAN */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VSWITCH_ALLOC_IN_VSWITCH_TYPE_VLAN 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: VEB */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VSWITCH_ALLOC_IN_VSWITCH_TYPE_VEB 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: VEPA (obsolete) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VSWITCH_ALLOC_IN_VSWITCH_TYPE_VEPA 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: MUX */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VSWITCH_ALLOC_IN_VSWITCH_TYPE_MUX 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Snapper specific; semantics TBD */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VSWITCH_ALLOC_IN_VSWITCH_TYPE_TEST 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Flags controlling v-port creation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VSWITCH_ALLOC_IN_FLAG_AUTO_PORT_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VSWITCH_ALLOC_IN_FLAG_AUTO_PORT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The number of VLAN tags to allow for attached v-ports. For VLAN aggregators,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * this must be one or greated, and the attached v-ports must have exactly this
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * number of tags. For other v-switch types, this must be zero of greater, and
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * is an upper limit on the number of VLAN tags for attached v-ports. An error
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * will be returned if existing configuration means we can't support attached
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * v-ports with this number of tags.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VSWITCH_ALLOC_IN_NUM_VLAN_TAGS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VSWITCH_ALLOC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VSWITCH_FREE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * de-allocate a v-switch.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x95_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VSWITCH_FREE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port to which the v-switch is connected. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VSWITCH_FREE_IN_UPSTREAM_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VSWITCH_FREE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VSWITCH_QUERY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * read some config of v-switch. For now this command is an empty placeholder.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * It may be used to check if a v-switch is connected to a given EVB port (if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * not, then the command returns ENOENT).
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x63_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VSWITCH_QUERY_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port to which the v-switch is connected. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VSWITCH_QUERY_IN_UPSTREAM_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VSWITCH_QUERY_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_ALLOC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * allocate a v-port.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x96_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_ALLOC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port to which the v-switch is connected. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_UPSTREAM_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The type of the new v-port. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: VLAN (obsolete) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_VPORT_TYPE_VLAN 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: VEB (obsolete) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_VPORT_TYPE_VEB 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: VEPA (obsolete) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_VPORT_TYPE_VEPA 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: A normal v-port receives packets which match a specified MAC and/or
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_VPORT_TYPE_NORMAL 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: An expansion v-port packets traffic which don't match any other
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_VPORT_TYPE_EXPANSION 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: An test v-port receives packets which match any filters installed by
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * its downstream components.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_VPORT_TYPE_TEST 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Flags controlling v-port creation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_FLAG_AUTO_PORT_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_FLAG_AUTO_PORT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_FLAG_VLAN_RESTRICT_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_FLAG_VLAN_RESTRICT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The number of VLAN tags to insert/remove. An error will be returned if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * incompatible with the number of VLAN tags specified for the upstream
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_NUM_VLAN_TAGS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The actual VLAN tags to insert/remove */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_VLAN_TAGS_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_VLAN_TAG_0_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_VLAN_TAG_0_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_VLAN_TAG_1_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_IN_VLAN_TAG_1_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_ALLOC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the new v-port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ALLOC_OUT_VPORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_FREE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * de-allocate a v-port.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x97_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_FREE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the v-port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_FREE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_ALLOC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * allocate a v-adaptor.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x98_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_ALLOC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port to connect to the v-adaptor's port. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_UPSTREAM_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Flags controlling v-adaptor creation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_FLAGS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_FLAG_AUTO_VADAPTOR_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_FLAG_AUTO_VADAPTOR_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_FLAG_PERMIT_SET_MAC_WHEN_FILTERS_INSTALLED_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_FLAG_PERMIT_SET_MAC_WHEN_FILTERS_INSTALLED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The number of VLAN tags to strip on receive */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_NUM_VLANS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The number of VLAN tags to transparently insert/remove. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_NUM_VLAN_TAGS_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The actual VLAN tags to insert/remove */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAGS_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAG_0_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAG_0_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAG_1_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAG_1_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The MAC address to assign to this v-adaptor */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_MACADDR_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_MACADDR_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Derive the MAC address from the upstream port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_ALLOC_IN_AUTO_MAC 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_ALLOC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_FREE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * de-allocate a v-adaptor.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x99_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_FREE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port to which the v-adaptor is connected. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_FREE_IN_UPSTREAM_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_FREE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_SET_MAC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * assign a new MAC address to a v-adaptor.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x5d_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_SET_MAC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port to which the v-adaptor is connected. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_SET_MAC_IN_UPSTREAM_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The new MAC address to assign to this v-adaptor */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_SET_MAC_IN_MACADDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_SET_MAC_IN_MACADDR_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_SET_MAC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_GET_MAC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * read the MAC address assigned to a v-adaptor.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x5e_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_GET_MAC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port to which the v-adaptor is connected. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_GET_MAC_IN_UPSTREAM_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_GET_MAC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The MAC address assigned to this v-adaptor */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_GET_MAC_OUT_MACADDR_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_GET_MAC_OUT_MACADDR_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_QUERY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * read some config of v-adaptor.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x61_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_QUERY_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port to which the v-adaptor is connected. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_QUERY_IN_UPSTREAM_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VADAPTOR_QUERY_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The EVB port flags as defined at MC_CMD_VPORT_ALLOC. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_QUERY_OUT_PORT_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The v-adaptor flags as defined at MC_CMD_VADAPTOR_ALLOC. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_QUERY_OUT_VADAPTOR_FLAGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The number of VLAN tags that may still be added */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VADAPTOR_QUERY_OUT_NUM_AVAILABLE_VLAN_TAGS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_EVB_PORT_ASSIGN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * assign a port to a PCI function.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x9a_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_EVB_PORT_ASSIGN_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The port to assign. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_EVB_PORT_ASSIGN_IN_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The target function to modify. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_EVB_PORT_ASSIGN_IN_FUNCTION_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_EVB_PORT_ASSIGN_IN_PF_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_EVB_PORT_ASSIGN_IN_VF_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_EVB_PORT_ASSIGN_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RDWR_A64_REGIONS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Assign the 64 bit region addresses.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x9b_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RDWR_A64_REGIONS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RDWR_A64_REGIONS_IN_REGION0_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RDWR_A64_REGIONS_IN_REGION1_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RDWR_A64_REGIONS_IN_REGION2_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RDWR_A64_REGIONS_IN_REGION3_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Write enable bits 0-3, set to write, clear to read. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RDWR_A64_REGIONS_IN_WRITE_MASK_LBN 128
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RDWR_A64_REGIONS_IN_WRITE_MASK_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RDWR_A64_REGIONS_IN_WRITE_MASK_BYTE_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RDWR_A64_REGIONS_IN_WRITE_MASK_BYTE_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RDWR_A64_REGIONS_OUT msgresponse: This data always included
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * regardless of state of write bits in the request.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RDWR_A64_REGIONS_OUT_REGION0_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RDWR_A64_REGIONS_OUT_REGION1_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RDWR_A64_REGIONS_OUT_REGION2_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RDWR_A64_REGIONS_OUT_REGION3_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ONLOAD_STACK_ALLOC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Allocate an Onload stack ID.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x9c_PRIVILEGE_CTG SRIOV_CTG_ONLOAD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ONLOAD_STACK_ALLOC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the owning upstream port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ONLOAD_STACK_ALLOC_IN_UPSTREAM_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ONLOAD_STACK_ALLOC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the new Onload stack */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ONLOAD_STACK_ALLOC_OUT_ONLOAD_STACK_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ONLOAD_STACK_FREE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Free an Onload stack ID.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x9d_PRIVILEGE_CTG SRIOV_CTG_ONLOAD
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ONLOAD_STACK_FREE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the Onload stack */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_ONLOAD_STACK_FREE_IN_ONLOAD_STACK_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ONLOAD_STACK_FREE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_ALLOC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Allocate an RSS context.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x9e_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_ALLOC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the owning upstream port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_ALLOC_IN_UPSTREAM_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The type of context to allocate */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_ALLOC_IN_TYPE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Allocate a context for exclusive use. The key and indirection table
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * must be explicitly configured.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_ALLOC_IN_TYPE_EXCLUSIVE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Allocate a context for shared use; this will spread across a range of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * queues, but the key and indirection table are pre-configured and may not be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * changed. For this mode, NUM_QUEUES must 2, 4, 8, 16, 32 or 64.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_ALLOC_IN_TYPE_SHARED 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of queues spanned by this context, in the range 1-64; valid offsets
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * in the indirection table will be in the range 0 to NUM_QUEUES-1.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_ALLOC_IN_NUM_QUEUES_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_ALLOC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the new RSS context. This should be considered opaque to the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * host, although a value of 0xFFFFFFFF is guaranteed never to be a valid
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_ALLOC_OUT_RSS_CONTEXT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: guaranteed invalid RSS context handle value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_ALLOC_OUT_RSS_CONTEXT_ID_INVALID 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_FREE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Free an RSS context.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x9f_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_FREE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_FREE_IN_RSS_CONTEXT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_FREE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_SET_KEY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set the Toeplitz hash key for an RSS context.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xa0_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_SET_KEY_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_KEY_IN_RSS_CONTEXT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The 40-byte Toeplitz hash key (TBD endianness issues?) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_KEY_IN_TOEPLITZ_KEY_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_KEY_IN_TOEPLITZ_KEY_LEN 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_SET_KEY_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_GET_KEY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get the Toeplitz hash key for an RSS context.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xa1_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_GET_KEY_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_KEY_IN_RSS_CONTEXT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_GET_KEY_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_KEY_OUT_LEN 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The 40-byte Toeplitz hash key (TBD endianness issues?) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_KEY_OUT_TOEPLITZ_KEY_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_KEY_OUT_TOEPLITZ_KEY_LEN 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_SET_TABLE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set the indirection table for an RSS context.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xa2_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_SET_TABLE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_TABLE_IN_LEN 132
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_TABLE_IN_RSS_CONTEXT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The 128-byte indirection table (1 byte per entry) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_TABLE_IN_INDIRECTION_TABLE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_TABLE_IN_INDIRECTION_TABLE_LEN 128
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_SET_TABLE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_TABLE_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_GET_TABLE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get the indirection table for an RSS context.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xa3_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_GET_TABLE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_TABLE_IN_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_TABLE_IN_RSS_CONTEXT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_GET_TABLE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_TABLE_OUT_LEN 132
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The 128-byte indirection table (1 byte per entry) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_TABLE_OUT_INDIRECTION_TABLE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_TABLE_OUT_INDIRECTION_TABLE_LEN 128
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_SET_FLAGS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set various control flags for an RSS context.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xe1_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_SET_FLAGS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_RSS_CONTEXT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Hash control flags. The _EN bits are always supported, but new modes are
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * available when ADDITIONAL_RSS_MODES is reported by MC_CMD_GET_CAPABILITIES:
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * in this case, the MODE fields may be set to non-zero values, and will take
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * effect regardless of the settings of the _EN flags. See the RSS_MODE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * structure for the meaning of the mode bits. Drivers must check the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * capability before trying to set any _MODE fields, as older firmware will
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * reject any attempt to set the FLAGS field to a value > 0xff with EINVAL. In
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the case where all the _MODE flags are zero, the _EN flags take effect,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * providing backward compatibility for existing drivers. (Setting all _MODE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * *and* all _EN flags to zero is valid, to disable RSS spreading for that
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * particular packet type.)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_FLAGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_IPV4_EN_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_IPV4_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_TCPV4_EN_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_TCPV4_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_IPV6_EN_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_IPV6_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_TCPV6_EN_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_TCPV6_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_RESERVED_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_RESERVED_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV4_RSS_MODE_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV4_RSS_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_UDP_IPV4_RSS_MODE_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_UDP_IPV4_RSS_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_OTHER_IPV4_RSS_MODE_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_OTHER_IPV4_RSS_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV6_RSS_MODE_LBN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV6_RSS_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_UDP_IPV6_RSS_MODE_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_UDP_IPV6_RSS_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_OTHER_IPV6_RSS_MODE_LBN 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_OTHER_IPV6_RSS_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_SET_FLAGS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_SET_FLAGS_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_GET_FLAGS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get various control flags for an RSS context.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xe2_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_GET_FLAGS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_IN_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_IN_RSS_CONTEXT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Hash control flags. If all _MODE bits are zero (which will always be true
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * for older firmware which does not report the ADDITIONAL_RSS_MODES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * capability), the _EN bits report the state. If any _MODE bits are non-zero
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (which will only be true when the firmware reports ADDITIONAL_RSS_MODES)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * then the _EN bits should be disregarded, although the _MODE flags are
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * guaranteed to be consistent with the _EN flags for a freshly-allocated RSS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * context and in the case where the _EN flags were used in the SET. This
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * provides backward compatibility: old drivers will not be attempting to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * derive any meaning from the _MODE bits (and can never set them to any value
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * not representable by the _EN bits); new drivers can always determine the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * mode by looking only at the _MODE bits; the value returned by a GET can
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * always be used for a SET regardless of old/new driver vs. old/new firmware.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_FLAGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_IPV4_EN_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_IPV4_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_TCPV4_EN_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_TCPV4_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_IPV6_EN_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_IPV6_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_TCPV6_EN_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_TCPV6_EN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_RESERVED_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_RESERVED_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV4_RSS_MODE_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV4_RSS_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_UDP_IPV4_RSS_MODE_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_UDP_IPV4_RSS_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_OTHER_IPV4_RSS_MODE_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_OTHER_IPV4_RSS_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV6_RSS_MODE_LBN 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV6_RSS_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_UDP_IPV6_RSS_MODE_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_UDP_IPV6_RSS_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_OTHER_IPV6_RSS_MODE_LBN 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_OTHER_IPV6_RSS_MODE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DOT1P_MAPPING_ALLOC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Allocate a .1p mapping.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xa4_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DOT1P_MAPPING_ALLOC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the owning upstream port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_ALLOC_IN_UPSTREAM_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of queues spanned by this mapping, in the range 1-64; valid fixed
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * offsets in the mapping table will be in the range 0 to NUM_QUEUES-1, and
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * referenced RSS contexts must span no more than this number.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_ALLOC_IN_NUM_QUEUES_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DOT1P_MAPPING_ALLOC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the new .1p mapping. This should be considered opaque to the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * host, although a value of 0xFFFFFFFF is guaranteed never to be a valid
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_ALLOC_OUT_DOT1P_MAPPING_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: guaranteed invalid .1p mapping handle value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_ALLOC_OUT_DOT1P_MAPPING_ID_INVALID 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DOT1P_MAPPING_FREE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Free a .1p mapping.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xa5_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DOT1P_MAPPING_FREE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the .1p mapping */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_FREE_IN_DOT1P_MAPPING_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DOT1P_MAPPING_FREE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DOT1P_MAPPING_SET_TABLE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set the mapping table for a .1p mapping.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xa6_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DOT1P_MAPPING_SET_TABLE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_SET_TABLE_IN_LEN 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the .1p mapping */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_SET_TABLE_IN_DOT1P_MAPPING_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Per-priority mappings (1 32-bit word per entry - an offset or RSS context
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_SET_TABLE_IN_MAPPING_TABLE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_SET_TABLE_IN_MAPPING_TABLE_LEN 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DOT1P_MAPPING_SET_TABLE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_SET_TABLE_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DOT1P_MAPPING_GET_TABLE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get the mapping table for a .1p mapping.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xa7_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DOT1P_MAPPING_GET_TABLE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_GET_TABLE_IN_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the .1p mapping */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_GET_TABLE_IN_DOT1P_MAPPING_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DOT1P_MAPPING_GET_TABLE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_GET_TABLE_OUT_LEN 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Per-priority mappings (1 32-bit word per entry - an offset or RSS context
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_GET_TABLE_OUT_MAPPING_TABLE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DOT1P_MAPPING_GET_TABLE_OUT_MAPPING_TABLE_LEN 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VECTOR_CFG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get Interrupt Vector config for this PF.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xbf_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VECTOR_CFG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_VECTOR_CFG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Base absolute interrupt vector number. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VECTOR_CFG_OUT_VEC_BASE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of interrupt vectors allocate to this PF. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VECTOR_CFG_OUT_VECS_PER_PF_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of interrupt vectors to allocate per VF. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_VECTOR_CFG_OUT_VECS_PER_VF_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_VECTOR_CFG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set Interrupt Vector config for this PF.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xc0_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_VECTOR_CFG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Base absolute interrupt vector number, or MC_CMD_RESOURCE_INSTANCE_ANY to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * let the system find a suitable base.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VECTOR_CFG_IN_VEC_BASE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of interrupt vectors allocate to this PF. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VECTOR_CFG_IN_VECS_PER_PF_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of interrupt vectors to allocate per VF. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_VECTOR_CFG_IN_VECS_PER_VF_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_VECTOR_CFG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_ADD_MAC_ADDRESS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Add a MAC address to a v-port
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xa8_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_ADD_MAC_ADDRESS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ADD_MAC_ADDRESS_IN_LEN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the v-port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ADD_MAC_ADDRESS_IN_VPORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MAC address to add */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ADD_MAC_ADDRESS_IN_MACADDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ADD_MAC_ADDRESS_IN_MACADDR_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_ADD_MAC_ADDRESS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_ADD_MAC_ADDRESS_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_DEL_MAC_ADDRESS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Delete a MAC address from a v-port
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xa9_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_DEL_MAC_ADDRESS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_DEL_MAC_ADDRESS_IN_LEN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the v-port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_DEL_MAC_ADDRESS_IN_VPORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MAC address to add */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_DEL_MAC_ADDRESS_IN_MACADDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_DEL_MAC_ADDRESS_IN_MACADDR_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_DEL_MAC_ADDRESS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_DEL_MAC_ADDRESS_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_GET_MAC_ADDRESSES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Delete a MAC address from a v-port
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xaa_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_GET_MAC_ADDRESSES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_GET_MAC_ADDRESSES_IN_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the v-port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_GET_MAC_ADDRESSES_IN_VPORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_LENMIN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_LENMAX 250
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_LEN(num) (4+6*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The number of MAC addresses returned */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_COUNT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Array of MAC addresses */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_MAXNUM 41
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_RECONFIGURE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Replace VLAN tags and/or MAC addresses of an existing v-port. If the v-port
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * has already been passed to another function (v-port's user), then that
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * function will be reset before applying the changes.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xeb_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_RECONFIGURE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the v-port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_VPORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Flags requesting what should be changed. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_FLAGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_REPLACE_VLAN_TAGS_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_REPLACE_VLAN_TAGS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_REPLACE_MACADDRS_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_REPLACE_MACADDRS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The number of VLAN tags to insert/remove. An error will be returned if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * incompatible with the number of VLAN tags specified for the upstream
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_NUM_VLAN_TAGS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The actual VLAN tags to insert/remove */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_VLAN_TAGS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_VLAN_TAG_0_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_VLAN_TAG_0_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_VLAN_TAG_1_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_VLAN_TAG_1_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The number of MAC addresses to add */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_NUM_MACADDRS_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MAC addresses to add */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_MACADDRS_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_MACADDRS_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_IN_MACADDRS_NUM 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_VPORT_RECONFIGURE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_OUT_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_OUT_RESET_DONE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_VPORT_RECONFIGURE_OUT_RESET_DONE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_EVB_PORT_QUERY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * read some config of v-port.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x62_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_EVB_PORT_QUERY_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The handle of the v-port */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_EVB_PORT_QUERY_IN_PORT_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_EVB_PORT_QUERY_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The EVB port flags as defined at MC_CMD_VPORT_ALLOC. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_EVB_PORT_QUERY_OUT_PORT_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The number of VLAN tags that may be used on a v-adaptor connected to this
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_EVB_PORT_QUERY_OUT_NUM_AVAILABLE_VLAN_TAGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_BUFTBL_ENTRIES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Dump buffer table entries, mainly for command client debug use. Dumps
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * absolute entries, and does not use chunk handles. All entries must be in
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * range, and used for q page mapping, Although the latter restriction may be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * lifted in future.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xab_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_BUFTBL_ENTRIES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Index of the first buffer table entry. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_BUFTBL_ENTRIES_IN_FIRSTID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Number of buffer table entries to dump. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_BUFTBL_ENTRIES_IN_NUMENTRIES_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_BUFTBL_ENTRIES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_BUFTBL_ENTRIES_OUT_LENMIN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_BUFTBL_ENTRIES_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_BUFTBL_ENTRIES_OUT_LEN(num) (0+12*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Raw buffer table entries, layed out as BUFTBL_ENTRY. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_BUFTBL_ENTRIES_OUT_ENTRY_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_BUFTBL_ENTRIES_OUT_ENTRY_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_BUFTBL_ENTRIES_OUT_ENTRY_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_BUFTBL_ENTRIES_OUT_ENTRY_MAXNUM 21
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_RXDP_CONFIG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set global RXDP configuration settings
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xc1_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_RXDP_CONFIG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_RXDP_CONFIG_IN_DATA_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_RXDP_CONFIG_IN_PAD_HOST_DMA_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_RXDP_CONFIG_IN_PAD_HOST_DMA_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_RXDP_CONFIG_IN_PAD_HOST_LEN_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_RXDP_CONFIG_IN_PAD_HOST_LEN_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: pad to 64 bytes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_RXDP_CONFIG_IN_PAD_HOST_64 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: pad to 128 bytes (Medford only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_RXDP_CONFIG_IN_PAD_HOST_128 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: pad to 256 bytes (Medford only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_RXDP_CONFIG_IN_PAD_HOST_256 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_RXDP_CONFIG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_RXDP_CONFIG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get global RXDP configuration settings
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xc2_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_RXDP_CONFIG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_RXDP_CONFIG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_RXDP_CONFIG_OUT_DATA_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_RXDP_CONFIG_OUT_PAD_HOST_DMA_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_RXDP_CONFIG_OUT_PAD_HOST_DMA_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_RXDP_CONFIG_OUT_PAD_HOST_LEN_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_RXDP_CONFIG_OUT_PAD_HOST_LEN_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_RXDP_CONFIG/MC_CMD_SET_RXDP_CONFIG_IN/PAD_HOST_LEN */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_CLOCK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Return the system and PDCPU clock frequencies.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xac_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_CLOCK_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_CLOCK_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* System frequency, MHz */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* DPCPU frequency, MHz */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_CLOCK_OUT_DPCPU_FREQ_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_CLOCK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Control the system and DPCPU clock frequencies. Changes are lost reboot.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xad_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_CLOCK_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested frequency in MHz for system clock domain */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Leave the system clock domain frequency unchanged */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_IN_SYS_DOMAIN_DONT_CHANGE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested frequency in MHz for inter-core clock domain */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_IN_ICORE_FREQ_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Leave the inter-core clock domain frequency unchanged */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_IN_ICORE_DOMAIN_DONT_CHANGE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested frequency in MHz for DPCPU clock domain */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_IN_DPCPU_FREQ_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Leave the DPCPU clock domain frequency unchanged */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_IN_DPCPU_DOMAIN_DONT_CHANGE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested frequency in MHz for PCS clock domain */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Leave the PCS clock domain frequency unchanged */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_IN_PCS_DOMAIN_DONT_CHANGE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested frequency in MHz for MC clock domain */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Leave the MC clock domain frequency unchanged */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_IN_MC_DOMAIN_DONT_CHANGE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested frequency in MHz for rmon clock domain */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_IN_RMON_FREQ_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Leave the rmon clock domain frequency unchanged */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_IN_RMON_DOMAIN_DONT_CHANGE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested frequency in MHz for vswitch clock domain */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_IN_VSWITCH_FREQ_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Leave the vswitch clock domain frequency unchanged */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_IN_VSWITCH_DOMAIN_DONT_CHANGE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_CLOCK_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Resulting system frequency in MHz */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The system clock domain doesn't exist */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_OUT_SYS_DOMAIN_UNSUPPORTED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Resulting inter-core frequency in MHz */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_OUT_ICORE_FREQ_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The inter-core clock domain doesn't exist / isn't used */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_OUT_ICORE_DOMAIN_UNSUPPORTED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Resulting DPCPU frequency in MHz */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_OUT_DPCPU_FREQ_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The dpcpu clock domain doesn't exist */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_OUT_DPCPU_DOMAIN_UNSUPPORTED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Resulting PCS frequency in MHz */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_OUT_PCS_FREQ_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The PCS clock domain doesn't exist / isn't controlled */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_OUT_PCS_DOMAIN_UNSUPPORTED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Resulting MC frequency in MHz */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The MC clock domain doesn't exist / isn't controlled */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_OUT_MC_DOMAIN_UNSUPPORTED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Resulting rmon frequency in MHz */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_OUT_RMON_FREQ_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The rmon clock domain doesn't exist / isn't controlled */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_OUT_RMON_DOMAIN_UNSUPPORTED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Resulting vswitch frequency in MHz */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_OUT_VSWITCH_FREQ_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The vswitch clock domain doesn't exist / isn't controlled */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_CLOCK_OUT_VSWITCH_DOMAIN_UNSUPPORTED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DPCPU_RPC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Send an arbitrary DPCPU message.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xae_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DPCPU_RPC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RxDPCPU0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TxDPCPU0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TxDPCPU1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RxDPCPU1 (Medford only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: RxDPCPU (will be for the calling function; for now, just an alias of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TxDPCPU (will be for the calling function; for now, just an alias of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* First 8 bits [39:32] of DATA are consumed by MC-DPCPU protocol and must be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * initialised to zero
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_HDR_CMD_CMDNUM_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_HDR_CMD_CMDNUM_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CMDNUM_TXDPCPU_READ 0x6 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CMDNUM_TXDPCPU_WRITE 0x7 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CMDNUM_TXDPCPU_SELF_TEST 0xc /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CMDNUM_TXDPCPU_CSR_ACCESS 0xe /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CMDNUM_RXDPCPU_READ 0x46 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CMDNUM_RXDPCPU_WRITE 0x47 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CMDNUM_RXDPCPU_SELF_TEST 0x4a /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CMDNUM_RXDPCPU_CSR_ACCESS 0x4c /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CMDNUM_RXDPCPU_SET_MC_REPLAY_CNTXT 0x4d /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_HDR_CMD_REQ_OBJID_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_HDR_CMD_REQ_OBJID_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_HDR_CMD_REQ_ADDR_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_HDR_CMD_REQ_ADDR_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_HDR_CMD_REQ_COUNT_LBN 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_HDR_CMD_REQ_COUNT_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_INFO_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_INFO_WIDTH 240
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_CMD_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_CMD_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_CMD_STOP_RETURN_RESULT 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_CMD_START_READ 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_CMD_START_WRITE 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_CMD_START_WRITE_READ 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_CMD_START_PIPELINED_READ 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_START_DELAY_LBN 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_START_DELAY_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_RPT_COUNT_LBN 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_RPT_COUNT_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_GAP_DELAY_LBN 80
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_GAP_DELAY_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_MC_REPLAY_MODE_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_MC_REPLAY_MODE_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_MC_REPLAY_MODE_CUT_THROUGH 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_MC_REPLAY_MODE_STORE_FORWARD 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_MC_REPLAY_MODE_STORE_FORWARD_FIRST 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_MC_REPLAY_CNTXT_LBN 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_MC_REPLAY_CNTXT_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Register data to write. Only valid in write/write-read. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_DATA_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Register address. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_ADDRESS_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DPCPU_RPC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_OUT_HDR_CMD_RESP_ERRCODE_LBN 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_OUT_HDR_CMD_RESP_ERRCODE_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_OUT_CSR_ACCESS_READ_COUNT_LBN 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_OUT_CSR_ACCESS_READ_COUNT_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_OUT_CSR_ACCESS_READ_VAL_1_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_OUT_CSR_ACCESS_READ_VAL_2_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_OUT_CSR_ACCESS_READ_VAL_3_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DPCPU_RPC_OUT_CSR_ACCESS_READ_VAL_4_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TRIGGER_INTERRUPT
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Trigger an interrupt by prodding the BIU.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xe3_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TRIGGER_INTERRUPT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Interrupt level relative to base for function. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_TRIGGER_INTERRUPT_IN_INTR_LEVEL_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_TRIGGER_INTERRUPT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SHMBOOT_OP
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Special operations to support (for now) shmboot.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xe6_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SHMBOOT_OP_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Identifies the operation to perform */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SHMBOOT_OP_IN_SHMBOOT_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Copy slave_data section to the slave core. (Greenport only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SHMBOOT_OP_IN_PUSH_SLAVE_DATA 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SHMBOOT_OP_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CAP_BLK_READ
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read multiple 64bit words from capture block memory
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xe7_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CAP_BLK_READ_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAP_BLK_READ_IN_CAP_REG_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_CAP_BLK_READ_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAP_BLK_READ_OUT_LEN(num) (0+8*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAP_BLK_READ_OUT_BUFFER_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAP_BLK_READ_OUT_BUFFER_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAP_BLK_READ_OUT_BUFFER_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAP_BLK_READ_OUT_BUFFER_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_CAP_BLK_READ_OUT_BUFFER_MAXNUM 31
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_DO
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Take a dump of the DUT state
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xe8_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_DO_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_DEFAULT 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_TYPE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMP_LOCATION_NVRAM 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMP_LOCATION_HOST_MEMORY 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMP_LOCATION_HOST_MEMORY_MLI 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMP_LOCATION_UART 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_NVRAM_PARTITION_TYPE_ID_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_NVRAM_OFFSET_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_ADDR_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_ADDR_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_HOST_MEMORY_MLI_PAGE_SIZE 0x1000 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_DEPTH_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_HOST_MEMORY_MLI_MAX_DEPTH 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_UART_PORT_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: The uart port this command was received over (if using a uart
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_SIZE_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_NVRAM_DUMP_PARTITION 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_TYPE_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_DO_IN/DUMPSPEC_SRC_CUSTOM_TYPE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_NVRAM_PARTITION_TYPE_ID_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_NVRAM_OFFSET_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_ADDR_LO_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_ADDR_HI_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_LO_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_HI_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_DEPTH_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_UART_PORT_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_SIZE_OFST 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_DO_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_DO_OUT_DUMPFILE_SIZE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_CONFIGURE_UNSOLICITED
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Configure unsolicited dumps
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED 0xe9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xe9_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_LEN 52
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_ENABLE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_DO/MC_CMD_DUMP_DO_IN/DUMPSPEC_SRC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_TYPE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_DO/MC_CMD_DUMP_DO_IN/DUMPSPEC_SRC_CUSTOM_TYPE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_NVRAM_PARTITION_TYPE_ID_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_NVRAM_OFFSET_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_ADDR_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_ADDR_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_LO_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_HI_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_DEPTH_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_UART_PORT_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_SIZE_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_DO/MC_CMD_DUMP_DO_IN/DUMPFILE_DST */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_TYPE_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_DUMP_DO/MC_CMD_DUMP_DO_IN/DUMPSPEC_SRC_CUSTOM_TYPE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_NVRAM_PARTITION_TYPE_ID_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_NVRAM_OFFSET_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_ADDR_LO_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_ADDR_HI_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_LO_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_HI_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_DEPTH_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_UART_PORT_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_SIZE_OFST 48
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PSU
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Adjusts power supply parameters. This is a warranty-voiding operation.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Returns: ENOENT if the parameter or rail specified does not exist, EINVAL if
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the parameter is out of range.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xea_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PSU_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PSU_IN_PARAM_SUPPLY_VOLTAGE 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PSU_IN_RAIL_0V9 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PSU_IN_RAIL_1V2 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* desired value, eg voltage in mV */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PSU_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_FUNCTION_INFO
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get function information. PF and VF number.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xec_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_FUNCTION_INFO_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_FUNCTION_INFO_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_FUNCTION_INFO_OUT_PF_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_FUNCTION_INFO_OUT_VF_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ENABLE_OFFLINE_BIST
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Enters offline BIST mode. All queues are torn down, chip enters quiescent
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * mode, calling function gets exclusive MCDI ownership. The only way out is
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xed_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ENABLE_OFFLINE_BIST_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_ENABLE_OFFLINE_BIST_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_UART_SEND_DATA
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Send checksummed[sic] block of data over the uart. Response is a placeholder
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * should we wish to make this reliable; currently requests are fire-and-
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xee_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_UART_SEND_DATA_OUT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_SEND_DATA_OUT_LEN(num) (16+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* CRC32 over OFFSET, LENGTH, RESERVED, DATA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_SEND_DATA_OUT_CHECKSUM_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Offset at which to write the data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_SEND_DATA_OUT_OFFSET_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_SEND_DATA_OUT_LENGTH_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Reserved for future use */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_SEND_DATA_OUT_RESERVED_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_SEND_DATA_OUT_DATA_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_SEND_DATA_OUT_DATA_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_SEND_DATA_OUT_DATA_MAXNUM 236
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_UART_SEND_DATA_IN msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_UART_RECV_DATA
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Request checksummed[sic] block of data over the uart. Only a placeholder,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * subject to change and not currently implemented.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xef_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_UART_RECV_DATA_OUT msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* CRC32 over OFFSET, LENGTH, RESERVED */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_RECV_DATA_OUT_CHECKSUM_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Offset from which to read the data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_RECV_DATA_OUT_OFFSET_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_RECV_DATA_OUT_LENGTH_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Reserved for future use */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_RECV_DATA_OUT_RESERVED_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_UART_RECV_DATA_IN msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_RECV_DATA_IN_LEN(num) (16+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* CRC32 over RESERVED1, RESERVED2, RESERVED3, DATA */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_RECV_DATA_IN_CHECKSUM_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Offset at which to write the data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_RECV_DATA_IN_RESERVED1_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_RECV_DATA_IN_RESERVED2_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Reserved for future use */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_RECV_DATA_IN_RESERVED3_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_RECV_DATA_IN_DATA_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_RECV_DATA_IN_DATA_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_UART_RECV_DATA_IN_DATA_MAXNUM 236
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_FUSES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read data programmed into the device One-Time-Programmable (OTP) Fuses
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xf0_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_FUSES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Offset in OTP to read */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of data to read in bytes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_FUSES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_FUSES_OUT_LEN(num) (4+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Length of returned OTP data in bytes */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Returned data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_FUSES_OUT_DATA_MAXNUM 248
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get or set KR Serdes RXEQ and TX Driver settings
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xf1_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_IN_LEN(num) (4+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get current RXEQ settings */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Override RXEQ settings */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get current TX Driver settings */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Override TX Driver settings */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Force KR Serdes reset / recalibration */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Start KR Serdes Eye diagram plot on a given lane. Lane must have valid
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Poll KR Serdes Eye diagram plot. Returns one row of BER data. The
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * caller should call this command repeatedly after starting eye plot, until no
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * more data is returned.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Read Figure Of Merit (eye quality, higher is better). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_IN_KR_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Arguments specific to the operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_IN_KR_TUNE_ARGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_IN_KR_TUNE_ARGS_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_IN_KR_TUNE_ARGS_MAXNUM 62
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_RXEQ_GET_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_IN_KR_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_IN_KR_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_IN_KR_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_IN_KR_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_RXEQ_GET_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RXEQ Parameter */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_ID_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_ID_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Attenuation (0-15, Huntington) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CTLE Boost (0-15, Huntington) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_BOOST 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Edge DFE Tap1 (Huntington - 0 - max negative, 64 - zero, 127 - max
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * positive, Medford - 0-31)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_EDFE_TAP1 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Edge DFE Tap2 (Huntington - 0 - max negative, 32 - zero, 63 - max
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * positive, Medford - 0-31)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_EDFE_TAP2 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Edge DFE Tap3 (Huntington - 0 - max negative, 32 - zero, 63 - max
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * positive, Medford - 0-16)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_EDFE_TAP3 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Edge DFE Tap4 (Huntington - 0 - max negative, 32 - zero, 63 - max
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * positive, Medford - 0-16)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_EDFE_TAP4 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Edge DFE Tap5 (Huntington - 0 - max negative, 32 - zero, 63 - max
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * positive, Medford - 0-16)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_EDFE_TAP5 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Edge DFE DLEV (0-128 for Medford) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_EDFE_DLEV 0x7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Variable Gain Amplifier (0-15, Medford) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CTLE EQ Capacitor (0-15, Medford) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_CTLE_EQC 0x9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CTLE EQ Resistor (0-7, Medford) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_CTLE_EQRES 0xa
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_LANE_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_LANE_WIDTH 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_LANE_0 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_LANE_1 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_LANE_2 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_LANE_3 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_LANE_ALL 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_AUTOCAL_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_AUTOCAL_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_RESERVED_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_RESERVED_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_INITIAL_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_INITIAL_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_CURRENT_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_CURRENT_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_RXEQ_SET_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_LEN(num) (4+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_KR_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_KR_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_KR_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_KR_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RXEQ Parameter */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_MAXNUM 62
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_ID_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_ID_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_LANE_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_LANE_WIDTH 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_AUTOCAL_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_AUTOCAL_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_RESERVED_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_RESERVED_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_INITIAL_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_INITIAL_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_RESERVED2_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RXEQ_SET_IN_RESERVED2_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_RXEQ_SET_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_TXEQ_GET_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_IN_KR_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_IN_KR_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_IN_KR_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_IN_KR_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_TXEQ_GET_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* TXEQ Parameter */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_ID_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_ID_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX Amplitude (Huntington, Medford) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_LEV 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: De-Emphasis Tap1 Magnitude (0-7) (Huntington) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_MODE 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: De-Emphasis Tap1 Fine */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_DTLEV 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: De-Emphasis Tap2 Magnitude (0-6) (Huntington) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_D2 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: De-Emphasis Tap2 Fine (Huntington) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_D2TLEV 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Pre-Emphasis Magnitude (Huntington) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Pre-Emphasis Fine (Huntington) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_ETLEV 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX Slew Rate Coarse control (Huntington) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_PREDRV_DLY 0x7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX Slew Rate Fine control (Huntington) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_SR_SET 0x8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX Termination Impedance control (Huntington) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_RT_SET 0x9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TX Amplitude Fine control (Medford) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_LEV_FINE 0xa
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Pre-shoot Tap (Medford) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TAP_ADV 0xb
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: De-emphasis Tap (Medford) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TAP_DLY 0xc
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_LANE_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_LANE_WIDTH 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LANE_0 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LANE_1 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LANE_2 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LANE_3 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LANE_ALL 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_RESERVED_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_RESERVED_WIDTH 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_INITIAL_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_INITIAL_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_RESERVED2_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_RESERVED2_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_TXEQ_SET_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_LEN(num) (4+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_KR_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_KR_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_KR_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_KR_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* TXEQ Parameter */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_MAXNUM 62
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_ID_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_ID_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_LANE_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_LANE_WIDTH 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_RESERVED_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_RESERVED_WIDTH 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_INITIAL_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_INITIAL_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_RESERVED2_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_TXEQ_SET_IN_RESERVED2_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_TXEQ_SET_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_RECAL_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RECAL_IN_KR_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RECAL_IN_KR_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RECAL_IN_KR_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_RECAL_IN_KR_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_RECAL_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_START_EYE_PLOT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_KR_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_KR_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_KR_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_KR_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_LANE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_START_EYE_PLOT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_START_EYE_PLOT_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN_KR_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN_KR_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN_KR_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN_KR_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_LENMIN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_LEN(num) (0+2*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_MAXNUM 126
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_READ_FOM_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_READ_FOM_IN_KR_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_READ_FOM_IN_KR_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_READ_FOM_IN_KR_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_READ_FOM_IN_KR_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_READ_FOM_IN_LANE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_KR_TUNE_READ_FOM_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_KR_TUNE_READ_FOM_OUT_FOM_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get or set PCIE Serdes RXEQ and TX Driver settings
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xf2_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_IN_LEN(num) (4+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get current RXEQ settings */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Override RXEQ settings */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Get current TX Driver settings */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Override TX Driver settings */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Start PCIe Serdes Eye diagram plot on a given lane. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_IN_START_EYE_PLOT 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Poll PCIe Serdes Eye diagram plot. Returns one row of BER data. The
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * caller should call this command repeatedly after starting eye plot, until no
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * more data is returned.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_IN_POLL_EYE_PLOT 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Arguments specific to the operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_ARGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_ARGS_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_ARGS_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_ARGS_MAXNUM 62
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_RXEQ_GET_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_IN_PCIE_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_IN_PCIE_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_IN_PCIE_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_IN_PCIE_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_RXEQ_GET_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LENMIN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RXEQ Parameter */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_ID_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_ID_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Attenuation (0-15) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_ATT 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CTLE Boost (0-15) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_BOOST 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DFE Tap1 (0 - max negative, 64 - zero, 127 - max positive) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_DFE_TAP1 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DFE Tap2 (0 - max negative, 32 - zero, 63 - max positive) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_DFE_TAP2 0x3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DFE Tap3 (0 - max negative, 32 - zero, 63 - max positive) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_DFE_TAP3 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DFE Tap4 (0 - max negative, 32 - zero, 63 - max positive) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_DFE_TAP4 0x5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DFE Tap5 (0 - max negative, 32 - zero, 63 - max positive) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_DFE_TAP5 0x6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: DFE DLev */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_DFE_DLEV 0x7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Figure of Merit */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_FOM 0x8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CTLE EQ Capacitor (HF Gain) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_CTLE_EQC 0x9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: CTLE EQ Resistor (DC Gain) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_CTLE_EQRES 0xa
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_LANE_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_LANE_WIDTH 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_0 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_1 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_2 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_3 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_4 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_5 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_6 0x6 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_7 0x7 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_8 0x8 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_9 0x9 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_10 0xa /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_11 0xb /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_12 0xc /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_13 0xd /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_14 0xe /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_15 0xf /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LANE_ALL 0x10 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_AUTOCAL_LBN 13
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_AUTOCAL_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_RESERVED_LBN 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_RESERVED_WIDTH 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_CURRENT_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_CURRENT_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_RXEQ_SET_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_LENMIN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_LEN(num) (4+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PCIE_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PCIE_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PCIE_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PCIE_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RXEQ Parameter */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_MAXNUM 62
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_ID_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_ID_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_LANE_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_LANE_WIDTH 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_RXEQ_GET_OUT/PARAM_LANE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_AUTOCAL_LBN 13
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_AUTOCAL_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_RESERVED_LBN 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_RESERVED_WIDTH 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_INITIAL_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_INITIAL_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_RESERVED2_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_RESERVED2_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_RXEQ_SET_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_TXEQ_GET_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_IN_PCIE_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_IN_PCIE_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_IN_PCIE_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_IN_PCIE_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_TXEQ_GET_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_LENMIN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RXEQ Parameter */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_ID_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_ID_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TxMargin (PIPE) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_TXMARGIN 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: TxSwing (PIPE) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_TXSWING 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: De-emphasis coefficient C(-1) (PIPE) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_CM1 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: De-emphasis coefficient C(0) (PIPE) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: De-emphasis coefficient C(+1) (PIPE) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_CP1 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_LANE_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_LANE_WIDTH 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_RXEQ_GET_OUT/PARAM_LANE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_RESERVED_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_RESERVED_WIDTH 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_CURRENT_LBN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_CURRENT_WIDTH 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_PCIE_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_PCIE_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_PCIE_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_PCIE_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_LANE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_START_EYE_PLOT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Requested operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN_PCIE_TUNE_OP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN_PCIE_TUNE_OP_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Align the arguments to 32 bits */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN_PCIE_TUNE_RSVD_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN_PCIE_TUNE_RSVD_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_LENMIN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_LEN(num) (0+2*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_MAXNUM 126
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSING
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Operations on the NVRAM_PARTITION_TYPE_LICENSE application license partition
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * - not used for V3 licensing
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xf3_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSING_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* identifies the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: re-read and apply licenses after a license key partition update; note
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * that this operation returns a zero-length response
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_IN_OP_UPDATE_LICENSE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: report counts of installed licenses */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_IN_OP_GET_KEY_STATS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSING_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* count of application keys which are valid */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_OUT_VALID_APP_KEYS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* sum of UNVERIFIABLE_APP_KEYS + WRONG_NODE_APP_KEYS (for compatibility with
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_FC_OP_LICENSE)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_OUT_INVALID_APP_KEYS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* count of application keys which are invalid due to being blacklisted */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_OUT_BLACKLISTED_APP_KEYS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* count of application keys which are invalid due to being unverifiable */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_OUT_UNVERIFIABLE_APP_KEYS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* count of application keys which are invalid due to being for the wrong node
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_OUT_WRONG_NODE_APP_KEYS_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* licensing state (for diagnostics; the exact meaning of the bits in this
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * field are private to the firmware)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_OUT_LICENSING_STATE_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* licensing subsystem self-test report (for manftest) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_OUT_LICENSING_SELF_TEST_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: licensing subsystem self-test failed */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_OUT_SELF_TEST_FAIL 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: licensing subsystem self-test passed */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_OUT_SELF_TEST_PASS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSING_V3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Operations on the NVRAM_PARTITION_TYPE_LICENSE application license partition
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * - V3 licensing (Medford)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xd0_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSING_V3_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* identifies the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: re-read and apply licenses after a license key partition update; note
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * that this operation returns a zero-length response
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_IN_OP_UPDATE_LICENSE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: report counts of installed licenses */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_IN_OP_REPORT_LICENSE 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSING_V3_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* count of keys which are valid */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_VALID_KEYS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* sum of UNVERIFIABLE_KEYS + WRONG_NODE_KEYS (for compatibility with
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_FC_OP_LICENSE)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_INVALID_KEYS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* count of keys which are invalid due to being unverifiable */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_UNVERIFIABLE_KEYS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* count of keys which are invalid due to being for the wrong node */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_WRONG_NODE_KEYS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* licensing state (for diagnostics; the exact meaning of the bits in this
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * field are private to the firmware)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_LICENSING_STATE_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* licensing subsystem self-test report (for manftest) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_LICENSING_SELF_TEST_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: licensing subsystem self-test failed */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_SELF_TEST_FAIL 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: licensing subsystem self-test passed */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_SELF_TEST_PASS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* bitmask of licensed applications */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_LICENSED_APPS_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_LICENSED_APPS_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_LICENSED_APPS_LO_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_LICENSED_APPS_HI_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* reserved for future use */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_RESERVED_0_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_RESERVED_0_LEN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* bitmask of licensed features */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_LICENSED_FEATURES_OFST 56
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_LICENSED_FEATURES_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_LICENSED_FEATURES_LO_OFST 56
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_LICENSED_FEATURES_HI_OFST 60
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* reserved for future use */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_RESERVED_1_OFST 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_V3_OUT_RESERVED_1_LEN 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSING_GET_ID_V3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Get ID and type from the NVRAM_PARTITION_TYPE_LICENSE application license
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * partition - V3 licensing (Medford)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xd1_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSING_GET_ID_V3_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSING_GET_ID_V3_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_GET_ID_V3_OUT_LENMIN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_GET_ID_V3_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_GET_ID_V3_OUT_LEN(num) (8+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* type of license (eg 3) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_GET_ID_V3_OUT_LICENSE_TYPE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* length of the license ID (in bytes) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_GET_ID_V3_OUT_LICENSE_ID_LENGTH_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the unique license ID of the adapter */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_GET_ID_V3_OUT_LICENSE_ID_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_GET_ID_V3_OUT_LICENSE_ID_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_GET_ID_V3_OUT_LICENSE_ID_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSING_GET_ID_V3_OUT_LICENSE_ID_MAXNUM 244
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MC2MC_PROXY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Execute an arbitrary MCDI command on the slave MC of a dual-core device.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * This will fail on a single-core system.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xf4_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MC2MC_PROXY_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_MC2MC_PROXY_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LICENSED_APP_STATE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Query the state of an individual licensed application. (Note that the actual
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * state may be invalidated by the MC_CMD_LICENSING OP_UPDATE_LICENSE operation
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * or a reboot of the MC.) Not used for V3 licensing
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xf5_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LICENSED_APP_STATE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_APP_STATE_IN_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* application ID to query (LICENSED_APP_ID_xxx) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_APP_STATE_IN_APP_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LICENSED_APP_STATE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_APP_STATE_OUT_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* state of this application */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_APP_STATE_OUT_STATE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: no (or invalid) license is present for the application */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_APP_STATE_OUT_NOT_LICENSED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: a valid license is present for the application */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_APP_STATE_OUT_LICENSED 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LICENSED_V3_APP_STATE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Query the state of an individual licensed application. (Note that the actual
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * state may be invalidated by the MC_CMD_LICENSING_V3 OP_UPDATE_LICENSE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * operation or a reboot of the MC.) Used for V3 licensing (Medford)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_APP_STATE 0xd2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xd2_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LICENSED_V3_APP_STATE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_APP_STATE_IN_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* application ID to query (LICENSED_V3_APPS_xxx) expressed as a single bit
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_APP_STATE_IN_APP_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_APP_STATE_IN_APP_ID_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_APP_STATE_IN_APP_ID_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_APP_STATE_IN_APP_ID_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LICENSED_V3_APP_STATE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_APP_STATE_OUT_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* state of this application */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_APP_STATE_OUT_STATE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: no (or invalid) license is present for the application */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_APP_STATE_OUT_NOT_LICENSED 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: a valid license is present for the application */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_APP_STATE_OUT_LICENSED 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LICENSED_V3_FEATURE_STATES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Query the state of an one or more licensed features. (Note that the actual
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * state may be invalidated by the MC_CMD_LICENSING_V3 OP_UPDATE_LICENSE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * operation or a reboot of the MC.) Used for V3 licensing (Medford)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_FEATURE_STATES 0xd3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xd3_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LICENSED_V3_FEATURE_STATES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_IN_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* features to query (LICENSED_V3_FEATURES_xxx) expressed as a mask with one or
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * more bits set
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_IN_FEATURES_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_IN_FEATURES_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_IN_FEATURES_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_IN_FEATURES_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_LICENSED_V3_FEATURE_STATES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_OUT_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* states of these features - bit set for licensed, clear for not licensed */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_OUT_STATES_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_OUT_STATES_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_OUT_STATES_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_OUT_STATES_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_APP_OP
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Perform an action for an individual licensed application - not used for V3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xf6_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_APP_OP_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_IN_LEN(num) (8+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* application ID */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_IN_APP_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: validate application */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_IN_OP_VALIDATE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: mask application */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_IN_OP_MASK 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* arguments specific to this particular operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_IN_ARGS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_IN_ARGS_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_IN_ARGS_MAXNUM 61
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_APP_OP_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_OUT_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* result specific to this particular operation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_OUT_RESULT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_OUT_RESULT_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_OUT_RESULT_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_OUT_RESULT_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_APP_OP_VALIDATE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_LEN 72
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* application ID */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_APP_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* validation challenge */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_CHALLENGE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_CHALLENGE_LEN 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_APP_OP_VALIDATE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_VALIDATE_OUT_LEN 68
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* feature expiry (time_t) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_VALIDATE_OUT_EXPIRY_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* validation response */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_VALIDATE_OUT_RESPONSE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_VALIDATE_OUT_RESPONSE_LEN 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_APP_OP_MASK_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_MASK_IN_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* application ID */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_MASK_IN_APP_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the type of operation requested */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_MASK_IN_OP_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_MASK_IN_FLAG_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_APP_OP_MASK_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_APP_OP_MASK_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_V3_VALIDATE_APP
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Perform validation for an individual licensed application - V3 licensing
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xd4_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_V3_VALIDATE_APP_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_IN_LEN 72
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* application ID expressed as a single bit mask */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_IN_APP_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_IN_APP_ID_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_IN_APP_ID_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_IN_APP_ID_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* challenge for validation */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_IN_CHALLENGE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_IN_CHALLENGE_LEN 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_V3_VALIDATE_APP_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_OUT_LEN 72
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* application expiry time */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_OUT_EXPIRY_TIME_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* application expiry units */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_OUT_EXPIRY_UNITS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: expiry units are accounting units */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_OUT_EXPIRY_UNIT_ACC 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: expiry units are calendar days */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_OUT_EXPIRY_UNIT_DAYS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* validation response to challenge */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_OUT_RESPONSE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_VALIDATE_APP_OUT_RESPONSE_LEN 64
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_V3_MASK_FEATURES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Mask features - V3 licensing (Medford)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_MASK_FEATURES 0xd5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xd5_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_V3_MASK_FEATURES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_MASK_FEATURES_IN_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* mask to be applied to features to be changed */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_MASK_FEATURES_IN_MASK_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_MASK_FEATURES_IN_MASK_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_MASK_FEATURES_IN_MASK_LO_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_MASK_FEATURES_IN_MASK_HI_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* whether to turn on or turn off the masked features */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_MASK_FEATURES_IN_FLAG_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: turn the features off */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_MASK_FEATURES_IN_OFF 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: turn the features back on */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_MASK_FEATURES_IN_ON 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LICENSED_V3_MASK_FEATURES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LICENSED_V3_MASK_FEATURES_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PORT_SNIFF_CONFIG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Configure RX port sniffing for the physical port associated with the calling
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * function. Only a privileged function may change the port sniffing
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * configuration. A copy of all traffic delivered to the host (non-promiscuous
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * mode) or all traffic arriving at the port (promiscuous mode) may be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * delivered to a specific queue, or a set of queues with RSS.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xf7_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PORT_SNIFF_CONFIG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* configuration flags */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_ENABLE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_PROMISCUOUS_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_PROMISCUOUS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receive queue handle (for RSS mode, this is the base queue) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_QUEUE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receive mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_MODE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to just the specified queue */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_MODE_SIMPLE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to multiple queues using RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_MODE_RSS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RSS context (for RX_MODE_RSS) as returned by MC_CMD_RSS_CONTEXT_ALLOC. Note
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * that these handles should be considered opaque to the host, although a value
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of 0xFFFFFFFF is guaranteed never to be a valid handle.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_CONTEXT_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PORT_SNIFF_CONFIG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PORT_SNIFF_CONFIG_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PORT_SNIFF_CONFIG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Obtain the current RX port sniffing configuration for the physical port
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * associated with the calling function. Only a privileged function may read
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the configuration.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xf8_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PORT_SNIFF_CONFIG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_SNIFF_CONFIG_IN_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PORT_SNIFF_CONFIG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* configuration flags */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_ENABLE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_PROMISCUOUS_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_PROMISCUOUS_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receiving queue handle (for RSS mode, this is the base queue) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_QUEUE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receive mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_MODE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receiving to just the specified queue */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_MODE_SIMPLE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receiving to multiple queues using RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_MODE_RSS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RSS context (for RX_MODE_RSS) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_CONTEXT_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PARSER_DISP_CONFIG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Change configuration related to the parser-dispatcher subsystem.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xf9_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PARSER_DISP_CONFIG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PARSER_DISP_CONFIG_IN_LENMIN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PARSER_DISP_CONFIG_IN_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PARSER_DISP_CONFIG_IN_LEN(num) (8+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the type of configuration setting to change */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PARSER_DISP_CONFIG_IN_TYPE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Per-TXQ enable for multicast UDP destination lookup for possible
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * internal loopback. (ENTITY is a queue handle, VALUE is a single boolean.)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PARSER_DISP_CONFIG_IN_TXQ_MCAST_UDP_DST_LOOKUP_EN 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Per-v-adaptor enable for suppression of self-transmissions on the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * internal loopback path. (ENTITY is an EVB_PORT_ID, VALUE is a single
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PARSER_DISP_CONFIG_IN_VADAPTOR_SUPPRESS_SELF_TX 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* handle for the entity to update: queue handle, EVB port ID, etc. depending
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * on the type of configuration setting being changed
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PARSER_DISP_CONFIG_IN_ENTITY_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* new value: the details depend on the type of configuration setting being
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PARSER_DISP_CONFIG_IN_VALUE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PARSER_DISP_CONFIG_IN_VALUE_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PARSER_DISP_CONFIG_IN_VALUE_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PARSER_DISP_CONFIG_IN_VALUE_MAXNUM 61
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PARSER_DISP_CONFIG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_PARSER_DISP_CONFIG_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PARSER_DISP_CONFIG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read configuration related to the parser-dispatcher subsystem.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xfa_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PARSER_DISP_CONFIG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_CONFIG_IN_LEN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the type of configuration setting to read */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_CONFIG_IN_TYPE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_PARSER_DISP_CONFIG/MC_CMD_SET_PARSER_DISP_CONFIG_IN/TYPE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* handle for the entity to query: queue handle, EVB port ID, etc. depending on
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the type of configuration setting being read
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_CONFIG_IN_ENTITY_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PARSER_DISP_CONFIG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_CONFIG_OUT_LENMIN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_CONFIG_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_CONFIG_OUT_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* current value: the details depend on the type of configuration setting being
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_CONFIG_OUT_VALUE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_CONFIG_OUT_VALUE_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_CONFIG_OUT_VALUE_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PARSER_DISP_CONFIG_OUT_VALUE_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_TX_PORT_SNIFF_CONFIG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Configure TX port sniffing for the physical port associated with the calling
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * function. Only a privileged function may change the port sniffing
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * configuration. A copy of all traffic transmitted through the port may be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * delivered to a specific queue, or a set of queues with RSS. Note that these
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * packets are delivered with transmit timestamps in the packet prefix, not
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * receive timestamps, so it is likely that the queue(s) will need to be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * dedicated as TX sniff receivers.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xfb_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* configuration flags */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_ENABLE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receive queue handle (for RSS mode, this is the base queue) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_RX_QUEUE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receive mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_RX_MODE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to just the specified queue */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_RX_MODE_SIMPLE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receive to multiple queues using RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_RX_MODE_RSS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RSS context (for RX_MODE_RSS) as returned by MC_CMD_RSS_CONTEXT_ALLOC. Note
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * that these handles should be considered opaque to the host, although a value
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * of 0xFFFFFFFF is guaranteed never to be a valid handle.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_RX_CONTEXT_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_TX_PORT_SNIFF_CONFIG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_TX_PORT_SNIFF_CONFIG
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Obtain the current TX port sniffing configuration for the physical port
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * associated with the calling function. Only a privileged function may read
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the configuration.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xfc_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_TX_PORT_SNIFF_CONFIG_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_IN_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* configuration flags */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_FLAGS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_ENABLE_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_ENABLE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receiving queue handle (for RSS mode, this is the base queue) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_RX_QUEUE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* receive mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_RX_MODE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receiving to just the specified queue */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_RX_MODE_SIMPLE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: receiving to multiple queues using RSS context */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_RX_MODE_RSS 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* RSS context (for RX_MODE_RSS) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_RX_CONTEXT_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RMON_STATS_RX_ERRORS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Per queue rx error stats.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xfe_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RMON_STATS_RX_ERRORS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The rx queue to get stats for. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RMON_STATS_RX_ERRORS_IN_RX_QUEUE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RMON_STATS_RX_ERRORS_IN_FLAGS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RMON_STATS_RX_ERRORS_IN_RST_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RMON_STATS_RX_ERRORS_IN_RST_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RMON_STATS_RX_ERRORS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RMON_STATS_RX_ERRORS_OUT_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RMON_STATS_RX_ERRORS_OUT_CRC_ERRORS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RMON_STATS_RX_ERRORS_OUT_TRUNC_ERRORS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RMON_STATS_RX_ERRORS_OUT_RX_NO_DESC_DROPS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RMON_STATS_RX_ERRORS_OUT_RX_ABORT_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PCIE_RESOURCE_INFO
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Find out about available PCIE resources
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PCIE_RESOURCE_INFO_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PCIE_RESOURCE_INFO_IN_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PCIE_RESOURCE_INFO_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_LEN 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The maximum number of PFs the device can expose */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_MAX_PFS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The maximum number of VFs the device can expose in total */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_MAX_VFS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The maximum number of MSI-X vectors the device can provide in total */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_MAX_VECTORS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the number of MSI-X vectors the device will allocate by default to each PF
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_DEFAULT_PF_VECTORS_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the number of MSI-X vectors the device will allocate by default to each VF
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_DEFAULT_VF_VECTORS_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the maximum number of MSI-X vectors the device can allocate to any one PF */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_MAX_PF_VECTORS_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the maximum number of MSI-X vectors the device can allocate to any one VF */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_MAX_VF_VECTORS_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PORT_MODES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Find out about available port modes
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0xff_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PORT_MODES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_PORT_MODES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Bitmask of port modes available on the board (indexed by TLV_PORT_MODE_*) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_MODES_OUT_MODES_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Default (canonical) board mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_MODES_OUT_DEFAULT_MODE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Current board mode */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_PORT_MODES_OUT_CURRENT_MODE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_ATB
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Sample voltages on the ATB
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x100_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_ATB_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_ATB_IN_BUS_CCOM 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_ATB_IN_BUS_CKR 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_ATB_IN_BUS_CPCIE 0x8 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_ATB_IN_SIGNAL_EN_BITNO_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_READ_ATB_IN_SETTLING_TIME_US_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_READ_ATB_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_WORKAROUNDS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read the list of all implemented and all currently enabled workarounds. The
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * enums here must correspond with those in MC_CMD_WORKAROUND.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x59_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_WORKAROUNDS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Each workaround is represented by a single bit according to the enums below.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_WORKAROUNDS_OUT_IMPLEMENTED_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_WORKAROUNDS_OUT_ENABLED_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bug 17230 work around. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_WORKAROUNDS_OUT_BUG17230 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bug 35388 work around (unsafe EVQ writes). */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_WORKAROUNDS_OUT_BUG35388 0x4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bug35017 workaround (A64 tables must be identity map) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_WORKAROUNDS_OUT_BUG35017 0x8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bug 41750 present (MC_CMD_TRIGGER_INTERRUPT won't work) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_WORKAROUNDS_OUT_BUG41750 0x10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bug 42008 present (Interrupts can overtake associated events). Caution
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * - before adding code that queries this workaround, remember that there's
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * released Monza firmware that doesn't understand MC_CMD_WORKAROUND_BUG42008,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * and will hence (incorrectly) report that the bug doesn't exist.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_WORKAROUNDS_OUT_BUG42008 0x20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Bug 26807 features present in firmware (multicast filter chaining) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_WORKAROUNDS_OUT_BUG26807 0x40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PRIVILEGE_MASK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read/set privileges of an arbitrary PCIe function
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x5a_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PRIVILEGE_MASK_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The target function to have its mask read or set e.g. PF 0 = 0xFFFF0000, VF
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 1,3 = 0x00030001
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_FUNCTION_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_FUNCTION_PF_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_FUNCTION_PF_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_FUNCTION_VF_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_FUNCTION_VF_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_VF_NULL 0xffff /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* New privilege mask to be set. The mask will only be changed if the MSB is
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_NEW_MASK_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_LINK 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_ONLOAD 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_PTP 0x8 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_INSECURE_FILTERS 0x10 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Deprecated. Equivalent to MAC_SPOOFING_TX combined with CHANGE_MAC. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING 0x20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_UNICAST 0x40 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_MULTICAST 0x80 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_BROADCAST 0x100 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_ALL_MULTICAST 0x200 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_PROMISCUOUS 0x400 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Allows to set the TX packets' source MAC address to any arbitrary MAC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING_TX 0x800
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Privilege that allows a Function to change the MAC address configured
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * in its associated vAdapter/vPort.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_CHANGE_MAC 0x1000
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Privilege that allows a Function to install filters that specify VLANs
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * that are not in the permit list for the associated vPort. This privilege is
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * primarily to support ESX where vPorts are created that restrict traffic to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * only a set of permitted VLANs. See the vPort flag FLAG_VLAN_RESTRICT.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_GRP_UNRESTRICTED_VLAN 0x2000
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Set this bit to indicate that a new privilege mask is to be set,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * otherwise the command will only read the existing mask.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_IN_DO_CHANGE 0x80000000
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PRIVILEGE_MASK_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* For an admin function, always all the privileges are reported. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MASK_OUT_OLD_MASK_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LINK_STATE_MODE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read/set link state mode of a VF
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x5c_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LINK_STATE_MODE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The target function to have its link state mode read or set, must be a VF
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * e.g. VF 1,3 = 0x00030001
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_STATE_MODE_IN_FUNCTION_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_STATE_MODE_IN_FUNCTION_PF_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_STATE_MODE_IN_FUNCTION_PF_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_STATE_MODE_IN_FUNCTION_VF_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_STATE_MODE_IN_FUNCTION_VF_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* New link state mode to be set */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_STATE_MODE_IN_NEW_MODE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_STATE_MODE_IN_LINK_STATE_AUTO 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_STATE_MODE_IN_LINK_STATE_UP 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_STATE_MODE_IN_LINK_STATE_DOWN 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: Use this value to just read the existing setting without modifying it.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_STATE_MODE_IN_DO_NOT_CHANGE 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LINK_STATE_MODE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LINK_STATE_MODE_OUT_OLD_MODE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_SNAPSHOT_LENGTH
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Obtain the curent range of allowable values for the SNAPSHOT_LENGTH
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * parameter to MC_CMD_INIT_RXQ.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x101_PRIVILEGE_CTG SRIOV_CTG_GENERAL
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_SNAPSHOT_LENGTH_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_SNAPSHOT_LENGTH_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Minimum acceptable snapshot length. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SNAPSHOT_LENGTH_OUT_RX_SNAPLEN_MIN_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Maximum acceptable snapshot length. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SNAPSHOT_LENGTH_OUT_RX_SNAPLEN_MAX_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FUSE_DIAGS
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Additional fuse diagnostics
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x102_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FUSE_DIAGS_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_FUSE_DIAGS_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Total number of mismatched bits between pairs in area 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FUSE_DIAGS_OUT_AREA0_MISMATCH_BITS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Total number of unexpectedly clear (set in B but not A) bits in area 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FUSE_DIAGS_OUT_AREA0_PAIR_A_BAD_BITS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Total number of unexpectedly clear (set in A but not B) bits in area 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FUSE_DIAGS_OUT_AREA0_PAIR_B_BAD_BITS_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Checksum of data after logical OR of pairs in area 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FUSE_DIAGS_OUT_AREA0_CHECKSUM_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Total number of mismatched bits between pairs in area 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FUSE_DIAGS_OUT_AREA1_MISMATCH_BITS_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Total number of unexpectedly clear (set in B but not A) bits in area 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FUSE_DIAGS_OUT_AREA1_PAIR_A_BAD_BITS_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Total number of unexpectedly clear (set in A but not B) bits in area 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FUSE_DIAGS_OUT_AREA1_PAIR_B_BAD_BITS_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Checksum of data after logical OR of pairs in area 1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FUSE_DIAGS_OUT_AREA1_CHECKSUM_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Total number of mismatched bits between pairs in area 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FUSE_DIAGS_OUT_AREA2_MISMATCH_BITS_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Total number of unexpectedly clear (set in B but not A) bits in area 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FUSE_DIAGS_OUT_AREA2_PAIR_A_BAD_BITS_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Total number of unexpectedly clear (set in A but not B) bits in area 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FUSE_DIAGS_OUT_AREA2_PAIR_B_BAD_BITS_OFST 40
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Checksum of data after logical OR of pairs in area 2 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_FUSE_DIAGS_OUT_AREA2_CHECKSUM_OFST 44
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PRIVILEGE_MODIFY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Modify the privileges of a set of PCIe functions. Note that this operation
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * only effects non-admin functions unless the admin privilege itself is
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * included in one of the masks provided.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x60_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PRIVILEGE_MODIFY_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* The groups of functions to have their privilege masks modified. */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_FN_GROUP_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_NONE 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_ALL 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_PFS_ONLY 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_VFS_ONLY 0x3 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_VFS_OF_PF 0x4 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_ONE 0x5 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* For VFS_OF_PF specify the PF, for ONE specify the target function */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_FUNCTION_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_FUNCTION_PF_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_FUNCTION_PF_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_FUNCTION_VF_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_FUNCTION_VF_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Privileges to be added to the target functions. For privilege definitions
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * refer to the command MC_CMD_PRIVILEGE_MASK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_ADD_MASK_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Privileges to be removed from the target functions. For privilege
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * definitions refer to the command MC_CMD_PRIVILEGE_MASK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PRIVILEGE_MODIFY_IN_REMOVE_MASK_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PRIVILEGE_MODIFY_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_READ_BYTES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read XPM memory
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x103_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_READ_BYTES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Start address (byte) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Count (bytes) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_BYTES_IN_COUNT_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_READ_BYTES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_BYTES_OUT_LEN(num) (0+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_BYTES_OUT_DATA_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_BYTES_OUT_DATA_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_BYTES_OUT_DATA_MAXNUM 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_WRITE_BYTES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Write XPM memory
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x104_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_WRITE_BYTES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_BYTES_IN_LEN(num) (8+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Start address (byte) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_BYTES_IN_ADDR_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Count (bytes) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_BYTES_IN_COUNT_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_BYTES_IN_DATA_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_BYTES_IN_DATA_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_BYTES_IN_DATA_MAXNUM 244
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_WRITE_BYTES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_READ_SECTOR
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Read XPM sector
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x105_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_READ_SECTOR_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sector index */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_SECTOR_IN_INDEX_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sector size */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_SECTOR_IN_SIZE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_READ_SECTOR_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_SECTOR_OUT_LEN(num) (4+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sector type */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_SECTOR_OUT_TYPE_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_SECTOR_OUT_BLANK 0x0 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_SECTOR_OUT_CRYPTO_KEY_128 0x1 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_SECTOR_OUT_CRYPTO_KEY_256 0x2 /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_SECTOR_OUT_INVALID 0xff /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sector data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_SECTOR_OUT_DATA_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_SECTOR_OUT_DATA_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_SECTOR_OUT_DATA_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_READ_SECTOR_OUT_DATA_MAXNUM 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_WRITE_SECTOR
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Write XPM sector
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x106_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_WRITE_SECTOR_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_SECTOR_IN_LEN(num) (12+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* If writing fails due to an uncorrectable error, try up to RETRIES following
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * sectors (or until no more space available). If 0, only one write attempt is
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * made. Note that uncorrectable errors are unlikely, thanks to XPM self-repair
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_SECTOR_IN_RETRIES_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_SECTOR_IN_RETRIES_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_SECTOR_IN_RESERVED_OFST 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_SECTOR_IN_RESERVED_LEN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sector type */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_SECTOR_IN_TYPE_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Enum values, see field(s): */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_READ_SECTOR/MC_CMD_XPM_READ_SECTOR_OUT/TYPE */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sector size */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_SECTOR_IN_SIZE_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sector data */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_SECTOR_IN_DATA_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_SECTOR_IN_DATA_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_SECTOR_IN_DATA_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_SECTOR_IN_DATA_MAXNUM 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_WRITE_SECTOR_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* New sector index */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_WRITE_SECTOR_OUT_INDEX_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_INVALIDATE_SECTOR
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Invalidate XPM sector
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x107_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_INVALIDATE_SECTOR_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_INVALIDATE_SECTOR_IN_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Sector index */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_INVALIDATE_SECTOR_IN_INDEX_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_INVALIDATE_SECTOR_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_INVALIDATE_SECTOR_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_BLANK_CHECK
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Blank-check XPM memory and report bad locations
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x108_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_BLANK_CHECK_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Start address (byte) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_BLANK_CHECK_IN_ADDR_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Count (bytes) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_BLANK_CHECK_IN_COUNT_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_BLANK_CHECK_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_BLANK_CHECK_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_BLANK_CHECK_OUT_LEN(num) (4+2*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Total number of bad (non-blank) locations */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_BLANK_CHECK_OUT_BAD_COUNT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Addresses of bad locations (may be less than BAD_COUNT, if all cannot fit
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * into MCDI response)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_BLANK_CHECK_OUT_BAD_ADDR_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_BLANK_CHECK_OUT_BAD_ADDR_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_BLANK_CHECK_OUT_BAD_ADDR_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_XPM_BLANK_CHECK_OUT_BAD_ADDR_MAXNUM 124
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_REPAIR
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Blank-check and repair XPM memory
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x109_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_REPAIR_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Start address (byte) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Count (bytes) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_REPAIR_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_DECODER_TEST
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Test XPM memory address decoders for gross manufacturing defects. Can only
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * be performed on an unprogrammed part.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x10a_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_DECODER_TEST_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_DECODER_TEST_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_WRITE_TEST
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * XPM memory write test. Test XPM write logic for gross manufacturing defects
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * by writing to a dedicated test row. There are 16 locations in the test row
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * and the test can only be performed on locations that have not been
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * previously used (i.e. can be run at most 16 times). The test will pick the
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * first available location to use, or fail with ENOSPC if none left.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x10b_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_WRITE_TEST_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_XPM_WRITE_TEST_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_EXEC_SIGNED
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Check the CMAC of the contents of IMEM and DMEM against the value supplied
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * and if correct begin execution from the start of IMEM. The caller supplies a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * key ID, the length of IMEM and DMEM to validate and the expected CMAC. CMAC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * computation runs from the start of IMEM, and from the start of DMEM + 16k,
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * to match flash booting. The command will respond with EINVAL if the CMAC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * does match, otherwise it will respond with success before it jumps to IMEM.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x10c_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_EXEC_SIGNED_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the length of code to include in the CMAC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the length of date to include in the CMAC */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the XPM sector containing the key to use */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_EXEC_SIGNED_IN_KEYSECTOR_OFST 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the expected CMAC value */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_EXEC_SIGNED_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PREPARE_SIGNED
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Prepare to upload a signed image. This will scrub the specified length of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * the data region, which must be at least as large as the DATALEN supplied to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_EXEC_SIGNED.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x10d_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PREPARE_SIGNED_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the length of data area to clear */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_PREPARE_SIGNED_IN_DATALEN_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_PREPARE_SIGNED_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_SECURITY_RULE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Set blacklist and/or whitelist action for a particular match criteria.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Medford-only; for use by SolarSecure apps, not directly by drivers. See
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * been used in any released code and may change during development. This note
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * will be removed once it is regarded as stable.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x10f_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_SECURITY_RULE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* fields to include in match criteria */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_FIELDS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_REMOTE_IP_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_REMOTE_IP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_LOCAL_IP_LBN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_LOCAL_IP_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_REMOTE_MAC_LBN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_REMOTE_MAC_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_REMOTE_PORT_LBN 3
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_REMOTE_PORT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_LOCAL_MAC_LBN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_LOCAL_MAC_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_LOCAL_PORT_LBN 5
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_LOCAL_PORT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_ETHER_TYPE_LBN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_ETHER_TYPE_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_INNER_VLAN_LBN 7
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_INNER_VLAN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_OUTER_VLAN_LBN 8
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_OUTER_VLAN_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_IP_PROTO_LBN 9
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_IP_PROTO_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_PHYSICAL_PORT_LBN 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_PHYSICAL_PORT_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_RESERVED_LBN 11
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_RESERVED_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_REMOTE_SUBNET_ID_LBN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_REMOTE_SUBNET_ID_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_REMOTE_PORTRANGE_ID_LBN 13
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_REMOTE_PORTRANGE_ID_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_LOCAL_PORTRANGE_ID_LBN 14
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_MATCH_LOCAL_PORTRANGE_ID_WIDTH 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* remote MAC address to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_REMOTE_MAC_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_REMOTE_MAC_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* remote port to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_REMOTE_PORT_OFST 10
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_REMOTE_PORT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* local MAC address to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_LOCAL_MAC_OFST 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_LOCAL_MAC_LEN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* local port to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_LOCAL_PORT_OFST 18
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_LOCAL_PORT_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Ethernet type to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_ETHER_TYPE_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_ETHER_TYPE_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Inner VLAN tag to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_INNER_VLAN_OFST 22
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_INNER_VLAN_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Outer VLAN tag to match (as bytes in network order) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_OUTER_VLAN_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_OUTER_VLAN_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* IP protocol to match (in low byte; set high byte to 0) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_IP_PROTO_OFST 26
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_IP_PROTO_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Physical port to match (as little-endian 32-bit value) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_PHYSICAL_PORT_OFST 28
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Reserved; set to 0 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_RESERVED_OFST 32
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* remote IP address to match (as bytes in network order; set last 12 bytes to
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * 0 for IPv4 address)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_REMOTE_IP_OFST 36
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_REMOTE_IP_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* local IP address to match (as bytes in network order; set last 12 bytes to 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * for IPv4 address)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_LOCAL_IP_OFST 52
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_LOCAL_IP_LEN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* remote subnet ID to match (as little-endian 32-bit value); note that remote
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * subnets are matched by mapping the remote IP address to a "subnet ID" via a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * data structure which must already have been configured using
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_SUBNET_MAP_SET_NODE appropriately
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_REMOTE_SUBNET_ID_OFST 68
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* remote portrange ID to match (as little-endian 32-bit value); note that
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * remote port ranges are matched by mapping the remote port to a "portrange
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * ID" via a data structure which must already have been configured using
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_REMOTE_PORTRANGE_ID_OFST 72
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* local portrange ID to match (as little-endian 32-bit value); note that local
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * port ranges are matched by mapping the local port to a "portrange ID" via a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * data structure which must already have been configured using
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_LOCAL_PORTRANGE_ID_OFST 76
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* set the action for transmitted packets matching this rule */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_TX_ACTION_OFST 80
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: make no decision */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_TX_ACTION_NONE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: decide to accept the packet */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_TX_ACTION_WHITELIST 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: decide to drop the packet */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_TX_ACTION_BLACKLIST 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: do not change the current TX action */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_TX_ACTION_UNCHANGED 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* set the action for received packets matching this rule */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_RX_ACTION_OFST 84
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: make no decision */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_RX_ACTION_NONE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: decide to accept the packet */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_RX_ACTION_WHITELIST 0x1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: decide to drop the packet */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_RX_ACTION_BLACKLIST 0x2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: do not change the current RX action */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_RX_ACTION_UNCHANGED 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* counter ID to associate with this rule; IDs are allocated using
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * MC_CMD_SECURITY_RULE_COUNTER_ALLOC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_COUNTER_ID_OFST 88
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: special value for the null counter ID */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_IN_COUNTER_ID_NONE 0x0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SET_SECURITY_RULE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* new reference count for uses of counter ID */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_OUT_COUNTER_REFCNT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* constructed match bits for this rule (as a tracing aid only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_OUT_LUE_MATCH_BITS_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_OUT_LUE_MATCH_BITS_LEN 12
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* constructed discriminator bits for this rule (as a tracing aid only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_OUT_LUE_DISCRIMINATOR_OFST 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* base location for probes for this rule (as a tracing aid only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_OUT_LUE_PROBE_BASE_OFST 20
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* step for probes for this rule (as a tracing aid only) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SET_SECURITY_RULE_OUT_LUE_PROBE_STEP_OFST 24
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RESET_SECURITY_RULES
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Reset all blacklist and whitelist actions for a particular physical port, or
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * all ports. (Medford-only; for use by SolarSecure apps, not directly by
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * drivers. See SF-114946-SW.) NOTE - this message definition is provisional.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * It has not yet been used in any released code and may change during
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * development. This note will be removed once it is regarded as stable.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x110_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RESET_SECURITY_RULES_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* index of physical port to reset (or ALL_PHYSICAL_PORTS to reset all) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RESET_SECURITY_RULES_IN_PHYSICAL_PORT_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* enum: special value to reset all physical ports */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RESET_SECURITY_RULES_IN_ALL_PHYSICAL_PORTS 0xffffffff
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_RESET_SECURITY_RULES_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_RESET_SECURITY_RULES_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_SECURITY_RULESET_VERSION
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Return a large hash value representing a "version" of the complete set of
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * currently active blacklist / whitelist rules and associated data structures.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Medford-only; for use by SolarSecure apps, not directly by drivers. See
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * been used in any released code and may change during development. This note
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * will be removed once it is regarded as stable.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SECURITY_RULESET_VERSION 0x111
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x111_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_SECURITY_RULESET_VERSION_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SECURITY_RULESET_VERSION_IN_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_GET_SECURITY_RULESET_VERSION_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SECURITY_RULESET_VERSION_OUT_LENMIN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SECURITY_RULESET_VERSION_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SECURITY_RULESET_VERSION_OUT_LEN(num) (0+1*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* Opaque hash value; length may vary depending on the hash scheme used */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SECURITY_RULESET_VERSION_OUT_VERSION_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SECURITY_RULESET_VERSION_OUT_VERSION_LEN 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SECURITY_RULESET_VERSION_OUT_VERSION_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_GET_SECURITY_RULESET_VERSION_OUT_VERSION_MAXNUM 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SECURITY_RULE_COUNTER_ALLOC
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Allocate counters for use with blacklist / whitelist rules. (Medford-only;
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * for use by SolarSecure apps, not directly by drivers. See SF-114946-SW.)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * NOTE - this message definition is provisional. It has not yet been used in
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * any released code and may change during development. This note will be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * removed once it is regarded as stable.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_ALLOC 0x112
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x112_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SECURITY_RULE_COUNTER_ALLOC_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_ALLOC_IN_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the number of new counter IDs to request */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_ALLOC_IN_NUM_COUNTERS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SECURITY_RULE_COUNTER_ALLOC_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_ALLOC_OUT_LENMIN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_ALLOC_OUT_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_ALLOC_OUT_LEN(num) (4+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the number of new counter IDs allocated (may be less than the number
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * requested if resources are unavailable)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_ALLOC_OUT_NUM_COUNTERS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* new counter ID(s) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_ALLOC_OUT_COUNTER_ID_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_ALLOC_OUT_COUNTER_ID_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_ALLOC_OUT_COUNTER_ID_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_ALLOC_OUT_COUNTER_ID_MAXNUM 62
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SECURITY_RULE_COUNTER_FREE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Allocate counters for use with blacklist / whitelist rules. (Medford-only;
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * for use by SolarSecure apps, not directly by drivers. See SF-114946-SW.)
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * NOTE - this message definition is provisional. It has not yet been used in
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * any released code and may change during development. This note will be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * removed once it is regarded as stable.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_FREE 0x113
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x113_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SECURITY_RULE_COUNTER_FREE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_FREE_IN_LENMIN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_FREE_IN_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_FREE_IN_LEN(num) (4+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the number of counter IDs to free */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_FREE_IN_NUM_COUNTERS_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* the counter ID(s) to free */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_FREE_IN_COUNTER_ID_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_FREE_IN_COUNTER_ID_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_FREE_IN_COUNTER_ID_MINNUM 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_FREE_IN_COUNTER_ID_MAXNUM 62
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SECURITY_RULE_COUNTER_FREE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SECURITY_RULE_COUNTER_FREE_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SUBNET_MAP_SET_NODE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Atomically update a trie node in the map of subnets to subnet IDs. The
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * constants in the descriptions of the fields of this message may be retrieved
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * by the GET_SECURITY_RULE_INFO op of MC_CMD_GET_PARSER_DISP_INFO. (Medford-
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * only; for use by SolarSecure apps, not directly by drivers. See
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * been used in any released code and may change during development. This note
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * will be removed once it is regarded as stable.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x114_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SUBNET_MAP_SET_NODE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SUBNET_MAP_SET_NODE_IN_LENMIN 6
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SUBNET_MAP_SET_NODE_IN_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SUBNET_MAP_SET_NODE_IN_LEN(num) (4+2*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* node to update in the range 0 .. SUBNET_MAP_NUM_NODES-1 */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SUBNET_MAP_SET_NODE_IN_NODE_ID_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* SUBNET_MAP_NUM_ENTRIES_PER_NODE new entries; each entry is either a pointer
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * to the next node, expressed as an offset in the trie memory (i.e. node ID
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * multiplied by SUBNET_MAP_NUM_ENTRIES_PER_NODE), or a leaf value in the range
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * SUBNET_ID_MIN .. SUBNET_ID_MAX
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SUBNET_MAP_SET_NODE_IN_ENTRY_OFST 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SUBNET_MAP_SET_NODE_IN_ENTRY_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SUBNET_MAP_SET_NODE_IN_ENTRY_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_SUBNET_MAP_SET_NODE_IN_ENTRY_MAXNUM 124
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_SUBNET_MAP_SET_NODE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* PORTRANGE_TREE_ENTRY structuredef */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* key for branch nodes (<= key takes left branch, > key takes right branch),
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * or magic value for leaf nodes
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORTRANGE_TREE_ENTRY_BRANCH_KEY_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORTRANGE_TREE_ENTRY_BRANCH_KEY_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORTRANGE_TREE_ENTRY_LEAF_NODE_KEY 0xffff /* enum */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORTRANGE_TREE_ENTRY_BRANCH_KEY_LBN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORTRANGE_TREE_ENTRY_BRANCH_KEY_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* final portrange ID for leaf nodes (don't care for branch nodes) */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORTRANGE_TREE_ENTRY_LEAF_PORTRANGE_ID_OFST 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORTRANGE_TREE_ENTRY_LEAF_PORTRANGE_ID_LEN 2
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORTRANGE_TREE_ENTRY_LEAF_PORTRANGE_ID_LBN 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define PORTRANGE_TREE_ENTRY_LEAF_PORTRANGE_ID_WIDTH 16
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Atomically update the entire tree mapping remote port ranges to portrange
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * IDs. The constants in the descriptions of the fields of this message may be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * retrieved by the GET_SECURITY_RULE_INFO op of MC_CMD_GET_PARSER_DISP_INFO.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Medford-only; for use by SolarSecure apps, not directly by drivers. See
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * been used in any released code and may change during development. This note
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * will be removed once it is regarded as stable.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE 0x115
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x115_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE_IN_LENMIN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE_IN_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE_IN_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* PORTRANGE_TREE_NUM_ENTRIES new entries, each laid out as a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PORTRANGE_TREE_ENTRY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE_IN_ENTRIES_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE_IN_ENTRIES_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE_IN_ENTRIES_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE_IN_ENTRIES_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_REMOTE_PORTRANGE_MAP_SET_TREE_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/***********************************/
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * Atomically update the entire tree mapping remote port ranges to portrange
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * IDs. The constants in the descriptions of the fields of this message may be
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * retrieved by the GET_SECURITY_RULE_INFO op of MC_CMD_GET_PARSER_DISP_INFO.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * (Medford-only; for use by SolarSecure apps, not directly by drivers. See
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * been used in any released code and may change during development. This note
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * will be removed once it is regarded as stable.
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE 0x116
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_0x116_PRIVILEGE_CTG SRIOV_CTG_ADMIN
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE_IN msgrequest */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE_IN_LENMIN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE_IN_LENMAX 252
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE_IN_LEN(num) (0+4*(num))
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* PORTRANGE_TREE_NUM_ENTRIES new entries, each laid out as a
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore * PORTRANGE_TREE_ENTRY
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE_IN_ENTRIES_OFST 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE_IN_ENTRIES_LEN 4
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE_IN_ENTRIES_MINNUM 1
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE_IN_ENTRIES_MAXNUM 63
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/* MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE_OUT msgresponse */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#define MC_CMD_LOCAL_PORTRANGE_MAP_SET_TREE_OUT_LEN 0
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore#endif /* _SIENA_MC_DRIVER_PCOL_H */
49ef7e0638c8b771d8a136eae78b1c0f99acc8e0Garrett D'Amore/*! \cidoxg_end */