aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/sfc/mcdi_pcol.h733
1 files changed, 663 insertions, 70 deletions
diff --git a/drivers/net/ethernet/sfc/mcdi_pcol.h b/drivers/net/ethernet/sfc/mcdi_pcol.h
index e0a63ddb7a6c..a707fb5ef14c 100644
--- a/drivers/net/ethernet/sfc/mcdi_pcol.h
+++ b/drivers/net/ethernet/sfc/mcdi_pcol.h
@@ -224,6 +224,8 @@
224#define MC_CMD_ERR_MAC_EXIST 0x1009 224#define MC_CMD_ERR_MAC_EXIST 0x1009
225/* Slave core not present */ 225/* Slave core not present */
226#define MC_CMD_ERR_SLAVE_NOT_PRESENT 0x100a 226#define MC_CMD_ERR_SLAVE_NOT_PRESENT 0x100a
227/* The datapath is disabled. */
228#define MC_CMD_ERR_DATAPATH_DISABLED 0x100b
227 229
228#define MC_CMD_ERR_CODE_OFST 0 230#define MC_CMD_ERR_CODE_OFST 0
229 231
@@ -390,6 +392,8 @@
390 * AOE_ERR_DATA) 392 * AOE_ERR_DATA)
391 */ 393 */
392#define MCDI_EVENT_AOE_BYTEBLASTER 0x9 394#define MCDI_EVENT_AOE_BYTEBLASTER 0x9
395/* enum: DDR ECC status update */
396#define MCDI_EVENT_AOE_DDR_ECC_STATUS 0xa
393#define MCDI_EVENT_AOE_ERR_DATA_LBN 8 397#define MCDI_EVENT_AOE_ERR_DATA_LBN 8
394#define MCDI_EVENT_AOE_ERR_DATA_WIDTH 8 398#define MCDI_EVENT_AOE_ERR_DATA_WIDTH 8
395#define MCDI_EVENT_RX_ERR_RXQ_LBN 0 399#define MCDI_EVENT_RX_ERR_RXQ_LBN 0
@@ -462,6 +466,10 @@
462#define MCDI_EVENT_CODE_ECC_CORR_ERR 0x17 466#define MCDI_EVENT_CODE_ECC_CORR_ERR 0x17
463/* enum: the MC has detected an uncorrectable error */ 467/* enum: the MC has detected an uncorrectable error */
464#define MCDI_EVENT_CODE_ECC_FATAL_ERR 0x18 468#define MCDI_EVENT_CODE_ECC_FATAL_ERR 0x18
469/* enum: The MC has entered offline BIST mode */
470#define MCDI_EVENT_CODE_MC_BIST 0x19
471/* enum: PTP tick event providing current NIC time */
472#define MCDI_EVENT_CODE_PTP_TIME 0x1a
465/* enum: Artificial event generated by host and posted via MC for test 473/* enum: Artificial event generated by host and posted via MC for test
466 * purposes. 474 * purposes.
467 */ 475 */
@@ -481,15 +489,32 @@
481#define MCDI_EVENT_TX_ERR_DATA_OFST 0 489#define MCDI_EVENT_TX_ERR_DATA_OFST 0
482#define MCDI_EVENT_TX_ERR_DATA_LBN 0 490#define MCDI_EVENT_TX_ERR_DATA_LBN 0
483#define MCDI_EVENT_TX_ERR_DATA_WIDTH 32 491#define MCDI_EVENT_TX_ERR_DATA_WIDTH 32
484/* Seconds field of timestamp */ 492/* For CODE_PTP_RX, CODE_PTP_PPS and CODE_HW_PPS events the seconds field of
493 * timestamp
494 */
485#define MCDI_EVENT_PTP_SECONDS_OFST 0 495#define MCDI_EVENT_PTP_SECONDS_OFST 0
486#define MCDI_EVENT_PTP_SECONDS_LBN 0 496#define MCDI_EVENT_PTP_SECONDS_LBN 0
487#define MCDI_EVENT_PTP_SECONDS_WIDTH 32 497#define MCDI_EVENT_PTP_SECONDS_WIDTH 32
488/* Nanoseconds field of timestamp */ 498/* For CODE_PTP_RX, CODE_PTP_PPS and CODE_HW_PPS events the major field of
499 * timestamp
500 */
501#define MCDI_EVENT_PTP_MAJOR_OFST 0
502#define MCDI_EVENT_PTP_MAJOR_LBN 0
503#define MCDI_EVENT_PTP_MAJOR_WIDTH 32
504/* For CODE_PTP_RX, CODE_PTP_PPS and CODE_HW_PPS events the nanoseconds field
505 * of timestamp
506 */
489#define MCDI_EVENT_PTP_NANOSECONDS_OFST 0 507#define MCDI_EVENT_PTP_NANOSECONDS_OFST 0
490#define MCDI_EVENT_PTP_NANOSECONDS_LBN 0 508#define MCDI_EVENT_PTP_NANOSECONDS_LBN 0
491#define MCDI_EVENT_PTP_NANOSECONDS_WIDTH 32 509#define MCDI_EVENT_PTP_NANOSECONDS_WIDTH 32
492/* Lowest four bytes of sourceUUID from PTP packet */ 510/* For CODE_PTP_RX, CODE_PTP_PPS and CODE_HW_PPS events the minor field of
511 * timestamp
512 */
513#define MCDI_EVENT_PTP_MINOR_OFST 0
514#define MCDI_EVENT_PTP_MINOR_LBN 0
515#define MCDI_EVENT_PTP_MINOR_WIDTH 32
516/* For CODE_PTP_RX events, the lowest four bytes of sourceUUID from PTP packet
517 */
493#define MCDI_EVENT_PTP_UUID_OFST 0 518#define MCDI_EVENT_PTP_UUID_OFST 0
494#define MCDI_EVENT_PTP_UUID_LBN 0 519#define MCDI_EVENT_PTP_UUID_LBN 0
495#define MCDI_EVENT_PTP_UUID_WIDTH 32 520#define MCDI_EVENT_PTP_UUID_WIDTH 32
@@ -505,6 +530,13 @@
505#define MCDI_EVENT_ECC_FATAL_ERR_DATA_OFST 0 530#define MCDI_EVENT_ECC_FATAL_ERR_DATA_OFST 0
506#define MCDI_EVENT_ECC_FATAL_ERR_DATA_LBN 0 531#define MCDI_EVENT_ECC_FATAL_ERR_DATA_LBN 0
507#define MCDI_EVENT_ECC_FATAL_ERR_DATA_WIDTH 32 532#define MCDI_EVENT_ECC_FATAL_ERR_DATA_WIDTH 32
533/* For CODE_PTP_TIME events, the major value of the PTP clock */
534#define MCDI_EVENT_PTP_TIME_MAJOR_OFST 0
535#define MCDI_EVENT_PTP_TIME_MAJOR_LBN 0
536#define MCDI_EVENT_PTP_TIME_MAJOR_WIDTH 32
537/* For CODE_PTP_TIME events, bits 19-26 of the minor value of the PTP clock */
538#define MCDI_EVENT_PTP_TIME_MINOR_26_19_LBN 36
539#define MCDI_EVENT_PTP_TIME_MINOR_26_19_WIDTH 8
508 540
509/* FCDI_EVENT structuredef */ 541/* FCDI_EVENT structuredef */
510#define FCDI_EVENT_LEN 8 542#define FCDI_EVENT_LEN 8
@@ -545,8 +577,10 @@
545#define FCDI_EVENT_CODE_TIMED_READ 0x5 577#define FCDI_EVENT_CODE_TIMED_READ 0x5
546/* enum: One or more PPS IN events */ 578/* enum: One or more PPS IN events */
547#define FCDI_EVENT_CODE_PPS_IN 0x6 579#define FCDI_EVENT_CODE_PPS_IN 0x6
548/* enum: One or more PPS OUT events */ 580/* enum: Tick event from PTP clock */
549#define FCDI_EVENT_CODE_PPS_OUT 0x7 581#define FCDI_EVENT_CODE_PTP_TICK 0x7
582/* enum: ECC error counters */
583#define FCDI_EVENT_CODE_DDR_ECC_STATUS 0x8
550#define FCDI_EVENT_ASSERT_INSTR_ADDRESS_OFST 0 584#define FCDI_EVENT_ASSERT_INSTR_ADDRESS_OFST 0
551#define FCDI_EVENT_ASSERT_INSTR_ADDRESS_LBN 0 585#define FCDI_EVENT_ASSERT_INSTR_ADDRESS_LBN 0
552#define FCDI_EVENT_ASSERT_INSTR_ADDRESS_WIDTH 32 586#define FCDI_EVENT_ASSERT_INSTR_ADDRESS_WIDTH 32
@@ -560,14 +594,21 @@
560#define FCDI_EVENT_LINK_STATE_DATA_OFST 0 594#define FCDI_EVENT_LINK_STATE_DATA_OFST 0
561#define FCDI_EVENT_LINK_STATE_DATA_LBN 0 595#define FCDI_EVENT_LINK_STATE_DATA_LBN 0
562#define FCDI_EVENT_LINK_STATE_DATA_WIDTH 32 596#define FCDI_EVENT_LINK_STATE_DATA_WIDTH 32
563#define FCDI_EVENT_PPS_COUNT_OFST 0 597#define FCDI_EVENT_DDR_ECC_STATUS_BANK_ID_LBN 36
564#define FCDI_EVENT_PPS_COUNT_LBN 0 598#define FCDI_EVENT_DDR_ECC_STATUS_BANK_ID_WIDTH 8
565#define FCDI_EVENT_PPS_COUNT_WIDTH 32 599#define FCDI_EVENT_DDR_ECC_STATUS_STATUS_OFST 0
566 600#define FCDI_EVENT_DDR_ECC_STATUS_STATUS_LBN 0
567/* FCDI_EXTENDED_EVENT structuredef */ 601#define FCDI_EVENT_DDR_ECC_STATUS_STATUS_WIDTH 32
568#define FCDI_EXTENDED_EVENT_LENMIN 16 602
569#define FCDI_EXTENDED_EVENT_LENMAX 248 603/* FCDI_EXTENDED_EVENT_PPS structuredef: Extended FCDI event to send PPS events
570#define FCDI_EXTENDED_EVENT_LEN(num) (8+8*(num)) 604 * to the MC. Note that this structure | is overlayed over a normal FCDI event
605 * such that bits 32-63 containing | event code, level, source etc remain the
606 * same. In this case the data | field of the header is defined to be the
607 * number of timestamps
608 */
609#define FCDI_EXTENDED_EVENT_PPS_LENMIN 16
610#define FCDI_EXTENDED_EVENT_PPS_LENMAX 248
611#define FCDI_EXTENDED_EVENT_PPS_LEN(num) (8+8*(num))
571/* Number of timestamps following */ 612/* Number of timestamps following */
572#define FCDI_EXTENDED_EVENT_PPS_COUNT_OFST 0 613#define FCDI_EXTENDED_EVENT_PPS_COUNT_OFST 0
573#define FCDI_EXTENDED_EVENT_PPS_COUNT_LBN 0 614#define FCDI_EXTENDED_EVENT_PPS_COUNT_LBN 0
@@ -581,14 +622,14 @@
581#define FCDI_EXTENDED_EVENT_PPS_NANOSECONDS_LBN 96 622#define FCDI_EXTENDED_EVENT_PPS_NANOSECONDS_LBN 96
582#define FCDI_EXTENDED_EVENT_PPS_NANOSECONDS_WIDTH 32 623#define FCDI_EXTENDED_EVENT_PPS_NANOSECONDS_WIDTH 32
583/* Timestamp records comprising the event */ 624/* Timestamp records comprising the event */
584#define FCDI_EXTENDED_EVENT_PPS_TIME_OFST 8 625#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_OFST 8
585#define FCDI_EXTENDED_EVENT_PPS_TIME_LEN 8 626#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_LEN 8
586#define FCDI_EXTENDED_EVENT_PPS_TIME_LO_OFST 8 627#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_LO_OFST 8
587#define FCDI_EXTENDED_EVENT_PPS_TIME_HI_OFST 12 628#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_HI_OFST 12
588#define FCDI_EXTENDED_EVENT_PPS_TIME_MINNUM 1 629#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_MINNUM 1
589#define FCDI_EXTENDED_EVENT_PPS_TIME_MAXNUM 30 630#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_MAXNUM 30
590#define FCDI_EXTENDED_EVENT_PPS_TIME_LBN 64 631#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_LBN 64
591#define FCDI_EXTENDED_EVENT_PPS_TIME_WIDTH 64 632#define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_WIDTH 64
592 633
593 634
594/***********************************/ 635/***********************************/
@@ -642,6 +683,10 @@
642#define MC_CMD_COPYCODE_IN_LEN 16 683#define MC_CMD_COPYCODE_IN_LEN 16
643/* Source address */ 684/* Source address */
644#define MC_CMD_COPYCODE_IN_SRC_ADDR_OFST 0 685#define MC_CMD_COPYCODE_IN_SRC_ADDR_OFST 0
686/* enum: The main image should be entered via a copy of a single word from and
687 * to this address when none of the other magic behaviours are required.
688 */
689#define MC_CMD_COPYCODE_HUNT_NO_MAGIC_ADDR 0x10000
645/* enum: Entering the main image via a copy of a single word from and to this 690/* enum: Entering the main image via a copy of a single word from and to this
646 * address indicates that it should not attempt to start the datapath CPUs. 691 * address indicates that it should not attempt to start the datapath CPUs.
647 * This is useful for certain soft rebooting scenarios. (Huntington only) 692 * This is useful for certain soft rebooting scenarios. (Huntington only)
@@ -872,8 +917,28 @@
872#define MC_CMD_PTP_OP_RST_CLK 0x14 917#define MC_CMD_PTP_OP_RST_CLK 0x14
873/* enum: Enable the forwarding of PPS events to the host */ 918/* enum: Enable the forwarding of PPS events to the host */
874#define MC_CMD_PTP_OP_PPS_ENABLE 0x15 919#define MC_CMD_PTP_OP_PPS_ENABLE 0x15
920/* enum: Get the time format used by this NIC for PTP operations */
921#define MC_CMD_PTP_OP_GET_TIME_FORMAT 0x16
922/* enum: Get the clock attributes. NOTE- extended version of
923 * MC_CMD_PTP_OP_GET_TIME_FORMAT
924 */
925#define MC_CMD_PTP_OP_GET_ATTRIBUTES 0x16
926/* enum: Get corrections that should be applied to the various different
927 * timestamps
928 */
929#define MC_CMD_PTP_OP_GET_TIMESTAMP_CORRECTIONS 0x17
930/* enum: Subscribe to receive periodic time events indicating the current NIC
931 * time
932 */
933#define MC_CMD_PTP_OP_TIME_EVENT_SUBSCRIBE 0x18
934/* enum: Unsubscribe to stop receiving time events */
935#define MC_CMD_PTP_OP_TIME_EVENT_UNSUBSCRIBE 0x19
936/* enum: PPS based manfacturing tests. Requires PPS output to be looped to PPS
937 * input on the same NIC.
938 */
939#define MC_CMD_PTP_OP_MANFTEST_PPS 0x1a
875/* enum: Above this for future use. */ 940/* enum: Above this for future use. */
876#define MC_CMD_PTP_OP_MAX 0x16 941#define MC_CMD_PTP_OP_MAX 0x1b
877 942
878/* MC_CMD_PTP_IN_ENABLE msgrequest */ 943/* MC_CMD_PTP_IN_ENABLE msgrequest */
879#define MC_CMD_PTP_IN_ENABLE_LEN 16 944#define MC_CMD_PTP_IN_ENABLE_LEN 16
@@ -938,8 +1003,12 @@
938#define MC_CMD_PTP_IN_ADJUST_BITS 0x28 1003#define MC_CMD_PTP_IN_ADJUST_BITS 0x28
939/* Time adjustment in seconds */ 1004/* Time adjustment in seconds */
940#define MC_CMD_PTP_IN_ADJUST_SECONDS_OFST 16 1005#define MC_CMD_PTP_IN_ADJUST_SECONDS_OFST 16
1006/* Time adjustment major value */
1007#define MC_CMD_PTP_IN_ADJUST_MAJOR_OFST 16
941/* Time adjustment in nanoseconds */ 1008/* Time adjustment in nanoseconds */
942#define MC_CMD_PTP_IN_ADJUST_NANOSECONDS_OFST 20 1009#define MC_CMD_PTP_IN_ADJUST_NANOSECONDS_OFST 20
1010/* Time adjustment minor value */
1011#define MC_CMD_PTP_IN_ADJUST_MINOR_OFST 20
943 1012
944/* MC_CMD_PTP_IN_SYNCHRONIZE msgrequest */ 1013/* MC_CMD_PTP_IN_SYNCHRONIZE msgrequest */
945#define MC_CMD_PTP_IN_SYNCHRONIZE_LEN 20 1014#define MC_CMD_PTP_IN_SYNCHRONIZE_LEN 20
@@ -1005,8 +1074,12 @@
1005/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */ 1074/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
1006/* Time adjustment in seconds */ 1075/* Time adjustment in seconds */
1007#define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_SECONDS_OFST 8 1076#define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_SECONDS_OFST 8
1077/* Time adjustment major value */
1078#define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_MAJOR_OFST 8
1008/* Time adjustment in nanoseconds */ 1079/* Time adjustment in nanoseconds */
1009#define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_NANOSECONDS_OFST 12 1080#define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_NANOSECONDS_OFST 12
1081/* Time adjustment minor value */
1082#define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_MINOR_OFST 12
1010 1083
1011/* MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST msgrequest */ 1084/* MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST msgrequest */
1012#define MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST_LEN 16 1085#define MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST_LEN 16
@@ -1078,9 +1151,51 @@
1078#define MC_CMD_PTP_ENABLE_PPS 0x0 1151#define MC_CMD_PTP_ENABLE_PPS 0x0
1079/* enum: Disable */ 1152/* enum: Disable */
1080#define MC_CMD_PTP_DISABLE_PPS 0x1 1153#define MC_CMD_PTP_DISABLE_PPS 0x1
1081/* Queueid to send events back */ 1154/* Queue id to send events back */
1082#define MC_CMD_PTP_IN_PPS_ENABLE_QUEUE_ID_OFST 8 1155#define MC_CMD_PTP_IN_PPS_ENABLE_QUEUE_ID_OFST 8
1083 1156
1157/* MC_CMD_PTP_IN_GET_TIME_FORMAT msgrequest */
1158#define MC_CMD_PTP_IN_GET_TIME_FORMAT_LEN 8
1159/* MC_CMD_PTP_IN_CMD_OFST 0 */
1160/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
1161
1162/* MC_CMD_PTP_IN_GET_ATTRIBUTES msgrequest */
1163#define MC_CMD_PTP_IN_GET_ATTRIBUTES_LEN 8
1164/* MC_CMD_PTP_IN_CMD_OFST 0 */
1165/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
1166
1167/* MC_CMD_PTP_IN_GET_TIMESTAMP_CORRECTIONS msgrequest */
1168#define MC_CMD_PTP_IN_GET_TIMESTAMP_CORRECTIONS_LEN 8
1169/* MC_CMD_PTP_IN_CMD_OFST 0 */
1170/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
1171
1172/* MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE msgrequest */
1173#define MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE_LEN 12
1174/* MC_CMD_PTP_IN_CMD_OFST 0 */
1175/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
1176/* Event queue to send PTP time events to */
1177#define MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE_QUEUE_OFST 8
1178
1179/* MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE msgrequest */
1180#define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_LEN 16
1181/* MC_CMD_PTP_IN_CMD_OFST 0 */
1182/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
1183/* Unsubscribe options */
1184#define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_CONTROL_OFST 8
1185/* enum: Unsubscribe a single queue */
1186#define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_SINGLE 0x0
1187/* enum: Unsubscribe all queues */
1188#define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_ALL 0x1
1189/* Event queue ID */
1190#define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_QUEUE_OFST 12
1191
1192/* MC_CMD_PTP_IN_MANFTEST_PPS msgrequest */
1193#define MC_CMD_PTP_IN_MANFTEST_PPS_LEN 12
1194/* MC_CMD_PTP_IN_CMD_OFST 0 */
1195/* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
1196/* 1 to enable PPS test mode, 0 to disable and return result. */
1197#define MC_CMD_PTP_IN_MANFTEST_PPS_TEST_ENABLE_OFST 8
1198
1084/* MC_CMD_PTP_OUT msgresponse */ 1199/* MC_CMD_PTP_OUT msgresponse */
1085#define MC_CMD_PTP_OUT_LEN 0 1200#define MC_CMD_PTP_OUT_LEN 0
1086 1201
@@ -1088,15 +1203,29 @@
1088#define MC_CMD_PTP_OUT_TRANSMIT_LEN 8 1203#define MC_CMD_PTP_OUT_TRANSMIT_LEN 8
1089/* Value of seconds timestamp */ 1204/* Value of seconds timestamp */
1090#define MC_CMD_PTP_OUT_TRANSMIT_SECONDS_OFST 0 1205#define MC_CMD_PTP_OUT_TRANSMIT_SECONDS_OFST 0
1206/* Timestamp major value */
1207#define MC_CMD_PTP_OUT_TRANSMIT_MAJOR_OFST 0
1091/* Value of nanoseconds timestamp */ 1208/* Value of nanoseconds timestamp */
1092#define MC_CMD_PTP_OUT_TRANSMIT_NANOSECONDS_OFST 4 1209#define MC_CMD_PTP_OUT_TRANSMIT_NANOSECONDS_OFST 4
1210/* Timestamp minor value */
1211#define MC_CMD_PTP_OUT_TRANSMIT_MINOR_OFST 4
1212
1213/* MC_CMD_PTP_OUT_TIME_EVENT_SUBSCRIBE msgresponse */
1214#define MC_CMD_PTP_OUT_TIME_EVENT_SUBSCRIBE_LEN 0
1215
1216/* MC_CMD_PTP_OUT_TIME_EVENT_UNSUBSCRIBE msgresponse */
1217#define MC_CMD_PTP_OUT_TIME_EVENT_UNSUBSCRIBE_LEN 0
1093 1218
1094/* MC_CMD_PTP_OUT_READ_NIC_TIME msgresponse */ 1219/* MC_CMD_PTP_OUT_READ_NIC_TIME msgresponse */
1095#define MC_CMD_PTP_OUT_READ_NIC_TIME_LEN 8 1220#define MC_CMD_PTP_OUT_READ_NIC_TIME_LEN 8
1096/* Value of seconds timestamp */ 1221/* Value of seconds timestamp */
1097#define MC_CMD_PTP_OUT_READ_NIC_TIME_SECONDS_OFST 0 1222#define MC_CMD_PTP_OUT_READ_NIC_TIME_SECONDS_OFST 0
1223/* Timestamp major value */
1224#define MC_CMD_PTP_OUT_READ_NIC_TIME_MAJOR_OFST 0
1098/* Value of nanoseconds timestamp */ 1225/* Value of nanoseconds timestamp */
1099#define MC_CMD_PTP_OUT_READ_NIC_TIME_NANOSECONDS_OFST 4 1226#define MC_CMD_PTP_OUT_READ_NIC_TIME_NANOSECONDS_OFST 4
1227/* Timestamp minor value */
1228#define MC_CMD_PTP_OUT_READ_NIC_TIME_MINOR_OFST 4
1100 1229
1101/* MC_CMD_PTP_OUT_STATUS msgresponse */ 1230/* MC_CMD_PTP_OUT_STATUS msgresponse */
1102#define MC_CMD_PTP_OUT_STATUS_LEN 64 1231#define MC_CMD_PTP_OUT_STATUS_LEN 64
@@ -1116,21 +1245,21 @@
1116#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFLOW_OFST 24 1245#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFLOW_OFST 24
1117/* Number of PPS bad periods */ 1246/* Number of PPS bad periods */
1118#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_BAD_OFST 28 1247#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_BAD_OFST 28
1119/* Minimum period of PPS pulse */ 1248/* Minimum period of PPS pulse in nanoseconds */
1120#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MIN_OFST 32 1249#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MIN_OFST 32
1121/* Maximum period of PPS pulse */ 1250/* Maximum period of PPS pulse in nanoseconds */
1122#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MAX_OFST 36 1251#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MAX_OFST 36
1123/* Last period of PPS pulse */ 1252/* Last period of PPS pulse in nanoseconds */
1124#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_LAST_OFST 40 1253#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_LAST_OFST 40
1125/* Mean period of PPS pulse */ 1254/* Mean period of PPS pulse in nanoseconds */
1126#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MEAN_OFST 44 1255#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MEAN_OFST 44
1127/* Minimum offset of PPS pulse (signed) */ 1256/* Minimum offset of PPS pulse in nanoseconds (signed) */
1128#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MIN_OFST 48 1257#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MIN_OFST 48
1129/* Maximum offset of PPS pulse (signed) */ 1258/* Maximum offset of PPS pulse in nanoseconds (signed) */
1130#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MAX_OFST 52 1259#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MAX_OFST 52
1131/* Last offset of PPS pulse (signed) */ 1260/* Last offset of PPS pulse in nanoseconds (signed) */
1132#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_LAST_OFST 56 1261#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_LAST_OFST 56
1133/* Mean offset of PPS pulse (signed) */ 1262/* Mean offset of PPS pulse in nanoseconds (signed) */
1134#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MEAN_OFST 60 1263#define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MEAN_OFST 60
1135 1264
1136/* MC_CMD_PTP_OUT_SYNCHRONIZE msgresponse */ 1265/* MC_CMD_PTP_OUT_SYNCHRONIZE msgresponse */
@@ -1146,8 +1275,12 @@
1146#define MC_CMD_PTP_OUT_SYNCHRONIZE_HOSTSTART_OFST 0 1275#define MC_CMD_PTP_OUT_SYNCHRONIZE_HOSTSTART_OFST 0
1147/* Value of seconds timestamp */ 1276/* Value of seconds timestamp */
1148#define MC_CMD_PTP_OUT_SYNCHRONIZE_SECONDS_OFST 4 1277#define MC_CMD_PTP_OUT_SYNCHRONIZE_SECONDS_OFST 4
1278/* Timestamp major value */
1279#define MC_CMD_PTP_OUT_SYNCHRONIZE_MAJOR_OFST 4
1149/* Value of nanoseconds timestamp */ 1280/* Value of nanoseconds timestamp */
1150#define MC_CMD_PTP_OUT_SYNCHRONIZE_NANOSECONDS_OFST 8 1281#define MC_CMD_PTP_OUT_SYNCHRONIZE_NANOSECONDS_OFST 8
1282/* Timestamp minor value */
1283#define MC_CMD_PTP_OUT_SYNCHRONIZE_MINOR_OFST 8
1151/* Host time immediately after NIC's hardware clock read */ 1284/* Host time immediately after NIC's hardware clock read */
1152#define MC_CMD_PTP_OUT_SYNCHRONIZE_HOSTEND_OFST 12 1285#define MC_CMD_PTP_OUT_SYNCHRONIZE_HOSTEND_OFST 12
1153/* Number of nanoseconds waited after reading NIC's hardware clock */ 1286/* Number of nanoseconds waited after reading NIC's hardware clock */
@@ -1177,6 +1310,16 @@
1177#define MC_CMD_PTP_MANF_PACKET_ENOUGH 0x8 1310#define MC_CMD_PTP_MANF_PACKET_ENOUGH 0x8
1178/* enum: Timestamp trigger GPIO not working */ 1311/* enum: Timestamp trigger GPIO not working */
1179#define MC_CMD_PTP_MANF_GPIO_TRIGGER 0x9 1312#define MC_CMD_PTP_MANF_GPIO_TRIGGER 0x9
1313/* enum: Insufficient PPS events to perform checks */
1314#define MC_CMD_PTP_MANF_PPS_ENOUGH 0xa
1315/* enum: PPS time event period not sufficiently close to 1s. */
1316#define MC_CMD_PTP_MANF_PPS_PERIOD 0xb
1317/* enum: PPS time event nS reading not sufficiently close to zero. */
1318#define MC_CMD_PTP_MANF_PPS_NS 0xc
1319/* enum: PTP peripheral registers incorrect */
1320#define MC_CMD_PTP_MANF_REGISTERS 0xd
1321/* enum: Failed to read time from PTP peripheral */
1322#define MC_CMD_PTP_MANF_CLOCK_READ 0xe
1180/* Presence of external oscillator */ 1323/* Presence of external oscillator */
1181#define MC_CMD_PTP_OUT_MANFTEST_BASIC_TEST_EXTOSC_OFST 4 1324#define MC_CMD_PTP_OUT_MANFTEST_BASIC_TEST_EXTOSC_OFST 4
1182 1325
@@ -1198,6 +1341,62 @@
1198#define MC_CMD_PTP_OUT_FPGAREAD_BUFFER_MINNUM 1 1341#define MC_CMD_PTP_OUT_FPGAREAD_BUFFER_MINNUM 1
1199#define MC_CMD_PTP_OUT_FPGAREAD_BUFFER_MAXNUM 252 1342#define MC_CMD_PTP_OUT_FPGAREAD_BUFFER_MAXNUM 252
1200 1343
1344/* MC_CMD_PTP_OUT_GET_TIME_FORMAT msgresponse */
1345#define MC_CMD_PTP_OUT_GET_TIME_FORMAT_LEN 4
1346/* Time format required/used by for this NIC. Applies to all PTP MCDI
1347 * operations that pass times between the host and firmware. If this operation
1348 * is not supported (older firmware) a format of seconds and nanoseconds should
1349 * be assumed.
1350 */
1351#define MC_CMD_PTP_OUT_GET_TIME_FORMAT_FORMAT_OFST 0
1352/* enum: Times are in seconds and nanoseconds */
1353#define MC_CMD_PTP_OUT_GET_TIME_FORMAT_SECONDS_NANOSECONDS 0x0
1354/* enum: Major register has units of 16 second per tick, minor 8 ns per tick */
1355#define MC_CMD_PTP_OUT_GET_TIME_FORMAT_16SECONDS_8NANOSECONDS 0x1
1356/* enum: Major register has units of seconds, minor 2^-27s per tick */
1357#define MC_CMD_PTP_OUT_GET_TIME_FORMAT_SECONDS_27FRACTION 0x2
1358
1359/* MC_CMD_PTP_OUT_GET_ATTRIBUTES msgresponse */
1360#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_LEN 8
1361/* Time format required/used by for this NIC. Applies to all PTP MCDI
1362 * operations that pass times between the host and firmware. If this operation
1363 * is not supported (older firmware) a format of seconds and nanoseconds should
1364 * be assumed.
1365 */
1366#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_TIME_FORMAT_OFST 0
1367/* enum: Times are in seconds and nanoseconds */
1368#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_SECONDS_NANOSECONDS 0x0
1369/* enum: Major register has units of 16 second per tick, minor 8 ns per tick */
1370#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_16SECONDS_8NANOSECONDS 0x1
1371/* enum: Major register has units of seconds, minor 2^-27s per tick */
1372#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_SECONDS_27FRACTION 0x2
1373/* Minimum acceptable value for a corrected synchronization timeset. When
1374 * comparing host and NIC clock times, the MC returns a set of samples that
1375 * contain the host start and end time, the MC time when the host start was
1376 * detected and the time the MC waited between reading the time and detecting
1377 * the host end. The corrected sync window is the difference between the host
1378 * end and start times minus the time that the MC waited for host end.
1379 */
1380#define MC_CMD_PTP_OUT_GET_ATTRIBUTES_SYNC_WINDOW_MIN_OFST 4
1381
1382/* MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS msgresponse */
1383#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_LEN 16
1384/* Uncorrected error on transmit timestamps in NIC clock format */
1385#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_TRANSMIT_OFST 0
1386/* Uncorrected error on receive timestamps in NIC clock format */
1387#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_RECEIVE_OFST 4
1388/* Uncorrected error on PPS output in NIC clock format */
1389#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_PPS_OUT_OFST 8
1390/* Uncorrected error on PPS input in NIC clock format */
1391#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_PPS_IN_OFST 12
1392
1393/* MC_CMD_PTP_OUT_MANFTEST_PPS msgresponse */
1394#define MC_CMD_PTP_OUT_MANFTEST_PPS_LEN 4
1395/* Results of testing */
1396#define MC_CMD_PTP_OUT_MANFTEST_PPS_TEST_RESULT_OFST 0
1397/* Enum values, see field(s): */
1398/* MC_CMD_PTP_OUT_MANFTEST_BASIC/TEST_RESULT */
1399
1201 1400
1202/***********************************/ 1401/***********************************/
1203/* MC_CMD_CSR_READ32 1402/* MC_CMD_CSR_READ32
@@ -1923,6 +2122,8 @@
1923#define MC_CMD_MEDIA_SFP_PLUS 0x5 2122#define MC_CMD_MEDIA_SFP_PLUS 0x5
1924/* enum: 10GBaseT. */ 2123/* enum: 10GBaseT. */
1925#define MC_CMD_MEDIA_BASE_T 0x6 2124#define MC_CMD_MEDIA_BASE_T 0x6
2125/* enum: QSFP+. */
2126#define MC_CMD_MEDIA_QSFP_PLUS 0x7
1926#define MC_CMD_GET_PHY_CFG_OUT_MMD_MASK_OFST 48 2127#define MC_CMD_GET_PHY_CFG_OUT_MMD_MASK_OFST 48
1927/* enum: Native clause 22 */ 2128/* enum: Native clause 22 */
1928#define MC_CMD_MMD_CLAUSE22 0x0 2129#define MC_CMD_MMD_CLAUSE22 0x0
@@ -2223,6 +2424,8 @@
2223#define MC_CMD_LOOPBACK_SD_FEP_WS 0x21 2424#define MC_CMD_LOOPBACK_SD_FEP_WS 0x21
2224/* enum: KR Serdes Serial Wireside. */ 2425/* enum: KR Serdes Serial Wireside. */
2225#define MC_CMD_LOOPBACK_SD_FES_WS 0x22 2426#define MC_CMD_LOOPBACK_SD_FES_WS 0x22
2427/* enum: Near side of AOE Siena side port */
2428#define MC_CMD_LOOPBACK_AOE_INT_NEAR 0x23
2226/* Supported loopbacks. */ 2429/* Supported loopbacks. */
2227#define MC_CMD_GET_LOOPBACK_MODES_OUT_1G_OFST 8 2430#define MC_CMD_GET_LOOPBACK_MODES_OUT_1G_OFST 8
2228#define MC_CMD_GET_LOOPBACK_MODES_OUT_1G_LEN 8 2431#define MC_CMD_GET_LOOPBACK_MODES_OUT_1G_LEN 8
@@ -2286,6 +2489,10 @@
2286#define MC_CMD_GET_LINK_OUT_BPX_LINK_WIDTH 1 2489#define MC_CMD_GET_LINK_OUT_BPX_LINK_WIDTH 1
2287#define MC_CMD_GET_LINK_OUT_PHY_LINK_LBN 3 2490#define MC_CMD_GET_LINK_OUT_PHY_LINK_LBN 3
2288#define MC_CMD_GET_LINK_OUT_PHY_LINK_WIDTH 1 2491#define MC_CMD_GET_LINK_OUT_PHY_LINK_WIDTH 1
2492#define MC_CMD_GET_LINK_OUT_LINK_FAULT_RX_LBN 6
2493#define MC_CMD_GET_LINK_OUT_LINK_FAULT_RX_WIDTH 1
2494#define MC_CMD_GET_LINK_OUT_LINK_FAULT_TX_LBN 7
2495#define MC_CMD_GET_LINK_OUT_LINK_FAULT_TX_WIDTH 1
2289/* This returns the negotiated flow control value. */ 2496/* This returns the negotiated flow control value. */
2290#define MC_CMD_GET_LINK_OUT_FCNTL_OFST 20 2497#define MC_CMD_GET_LINK_OUT_FCNTL_OFST 20
2291/* enum: Flow control is off. */ 2498/* enum: Flow control is off. */
@@ -3175,7 +3382,7 @@
3175#define MC_CMD_SENSOR_INFO_EXT_IN_PAGE_OFST 0 3382#define MC_CMD_SENSOR_INFO_EXT_IN_PAGE_OFST 0
3176 3383
3177/* MC_CMD_SENSOR_INFO_OUT msgresponse */ 3384/* MC_CMD_SENSOR_INFO_OUT msgresponse */
3178#define MC_CMD_SENSOR_INFO_OUT_LENMIN 12 3385#define MC_CMD_SENSOR_INFO_OUT_LENMIN 4
3179#define MC_CMD_SENSOR_INFO_OUT_LENMAX 252 3386#define MC_CMD_SENSOR_INFO_OUT_LENMAX 252
3180#define MC_CMD_SENSOR_INFO_OUT_LEN(num) (4+8*(num)) 3387#define MC_CMD_SENSOR_INFO_OUT_LEN(num) (4+8*(num))
3181#define MC_CMD_SENSOR_INFO_OUT_MASK_OFST 0 3388#define MC_CMD_SENSOR_INFO_OUT_MASK_OFST 0
@@ -3269,16 +3476,18 @@
3269#define MC_CMD_SENSOR_VDD08D_VSS08D_CSR 0x2b 3476#define MC_CMD_SENSOR_VDD08D_VSS08D_CSR 0x2b
3270/* enum: voltage between VSS08D and VSS08D at CSR (external ADC): mV */ 3477/* enum: voltage between VSS08D and VSS08D at CSR (external ADC): mV */
3271#define MC_CMD_SENSOR_VDD08D_VSS08D_CSR_EXTADC 0x2c 3478#define MC_CMD_SENSOR_VDD08D_VSS08D_CSR_EXTADC 0x2c
3479/* enum: Hotpoint temperature: degC */
3480#define MC_CMD_SENSOR_HOTPOINT_TEMP 0x2d
3272/* MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF */ 3481/* MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF */
3273#define MC_CMD_SENSOR_ENTRY_OFST 4 3482#define MC_CMD_SENSOR_ENTRY_OFST 4
3274#define MC_CMD_SENSOR_ENTRY_LEN 8 3483#define MC_CMD_SENSOR_ENTRY_LEN 8
3275#define MC_CMD_SENSOR_ENTRY_LO_OFST 4 3484#define MC_CMD_SENSOR_ENTRY_LO_OFST 4
3276#define MC_CMD_SENSOR_ENTRY_HI_OFST 8 3485#define MC_CMD_SENSOR_ENTRY_HI_OFST 8
3277#define MC_CMD_SENSOR_ENTRY_MINNUM 1 3486#define MC_CMD_SENSOR_ENTRY_MINNUM 0
3278#define MC_CMD_SENSOR_ENTRY_MAXNUM 31 3487#define MC_CMD_SENSOR_ENTRY_MAXNUM 31
3279 3488
3280/* MC_CMD_SENSOR_INFO_EXT_OUT msgresponse */ 3489/* MC_CMD_SENSOR_INFO_EXT_OUT msgresponse */
3281#define MC_CMD_SENSOR_INFO_EXT_OUT_LENMIN 12 3490#define MC_CMD_SENSOR_INFO_EXT_OUT_LENMIN 4
3282#define MC_CMD_SENSOR_INFO_EXT_OUT_LENMAX 252 3491#define MC_CMD_SENSOR_INFO_EXT_OUT_LENMAX 252
3283#define MC_CMD_SENSOR_INFO_EXT_OUT_LEN(num) (4+8*(num)) 3492#define MC_CMD_SENSOR_INFO_EXT_OUT_LEN(num) (4+8*(num))
3284#define MC_CMD_SENSOR_INFO_EXT_OUT_MASK_OFST 0 3493#define MC_CMD_SENSOR_INFO_EXT_OUT_MASK_OFST 0
@@ -3291,7 +3500,7 @@
3291/* MC_CMD_SENSOR_ENTRY_LEN 8 */ 3500/* MC_CMD_SENSOR_ENTRY_LEN 8 */
3292/* MC_CMD_SENSOR_ENTRY_LO_OFST 4 */ 3501/* MC_CMD_SENSOR_ENTRY_LO_OFST 4 */
3293/* MC_CMD_SENSOR_ENTRY_HI_OFST 8 */ 3502/* MC_CMD_SENSOR_ENTRY_HI_OFST 8 */
3294/* MC_CMD_SENSOR_ENTRY_MINNUM 1 */ 3503/* MC_CMD_SENSOR_ENTRY_MINNUM 0 */
3295/* MC_CMD_SENSOR_ENTRY_MAXNUM 31 */ 3504/* MC_CMD_SENSOR_ENTRY_MAXNUM 31 */
3296 3505
3297/* MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF structuredef */ 3506/* MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF structuredef */
@@ -3864,6 +4073,18 @@
3864#define NVRAM_PARTITION_TYPE_ID_LBN 0 4073#define NVRAM_PARTITION_TYPE_ID_LBN 0
3865#define NVRAM_PARTITION_TYPE_ID_WIDTH 16 4074#define NVRAM_PARTITION_TYPE_ID_WIDTH 16
3866 4075
4076/* LICENSED_APP_ID structuredef */
4077#define LICENSED_APP_ID_LEN 4
4078#define LICENSED_APP_ID_ID_OFST 0
4079/* enum: OpenOnload */
4080#define LICENSED_APP_ID_ONLOAD 0x1
4081/* enum: PTP timestamping */
4082#define LICENSED_APP_ID_PTP 0x2
4083/* enum: SolarCapture Pro */
4084#define LICENSED_APP_ID_SOLARCAPTURE_PRO 0x4
4085#define LICENSED_APP_ID_ID_LBN 0
4086#define LICENSED_APP_ID_ID_WIDTH 32
4087
3867 4088
3868/***********************************/ 4089/***********************************/
3869/* MC_CMD_READ_REGS 4090/* MC_CMD_READ_REGS
@@ -4021,6 +4242,8 @@
4021#define MC_CMD_INIT_RXQ_IN_FLAG_CHAIN_WIDTH 1 4242#define MC_CMD_INIT_RXQ_IN_FLAG_CHAIN_WIDTH 1
4022#define MC_CMD_INIT_RXQ_IN_FLAG_PREFIX_LBN 8 4243#define MC_CMD_INIT_RXQ_IN_FLAG_PREFIX_LBN 8
4023#define MC_CMD_INIT_RXQ_IN_FLAG_PREFIX_WIDTH 1 4244#define MC_CMD_INIT_RXQ_IN_FLAG_PREFIX_WIDTH 1
4245#define MC_CMD_INIT_RXQ_IN_FLAG_DISABLE_SCATTER_LBN 9
4246#define MC_CMD_INIT_RXQ_IN_FLAG_DISABLE_SCATTER_WIDTH 1
4024/* Owner ID to use if in buffer mode (zero if physical) */ 4247/* Owner ID to use if in buffer mode (zero if physical) */
4025#define MC_CMD_INIT_RXQ_IN_OWNER_ID_OFST 20 4248#define MC_CMD_INIT_RXQ_IN_OWNER_ID_OFST 20
4026/* The port ID associated with the v-adaptor which should contain this DMAQ. */ 4249/* The port ID associated with the v-adaptor which should contain this DMAQ. */
@@ -4179,6 +4402,9 @@
4179#define MC_CMD_PROXY_CMD_IN_TARGET_VF_WIDTH 16 4402#define MC_CMD_PROXY_CMD_IN_TARGET_VF_WIDTH 16
4180#define MC_CMD_PROXY_CMD_IN_VF_NULL 0xffff /* enum */ 4403#define MC_CMD_PROXY_CMD_IN_VF_NULL 0xffff /* enum */
4181 4404
4405/* MC_CMD_PROXY_CMD_OUT msgresponse */
4406#define MC_CMD_PROXY_CMD_OUT_LEN 0
4407
4182 4408
4183/***********************************/ 4409/***********************************/
4184/* MC_CMD_ALLOC_BUFTBL_CHUNK 4410/* MC_CMD_ALLOC_BUFTBL_CHUNK
@@ -4213,7 +4439,7 @@
4213 4439
4214/* MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN msgrequest */ 4440/* MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN msgrequest */
4215#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_LENMIN 20 4441#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_LENMIN 20
4216#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_LENMAX 252 4442#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_LENMAX 268
4217#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_LEN(num) (12+8*(num)) 4443#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_LEN(num) (12+8*(num))
4218#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_HANDLE_OFST 0 4444#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_HANDLE_OFST 0
4219/* ID */ 4445/* ID */
@@ -4226,7 +4452,7 @@
4226#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_LO_OFST 12 4452#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_LO_OFST 12
4227#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_HI_OFST 16 4453#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_HI_OFST 16
4228#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_MINNUM 1 4454#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_MINNUM 1
4229#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_MAXNUM 30 4455#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_MAXNUM 32
4230 4456
4231/* MC_CMD_PROGRAM_BUFTBL_ENTRIES_OUT msgresponse */ 4457/* MC_CMD_PROGRAM_BUFTBL_ENTRIES_OUT msgresponse */
4232#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_OUT_LEN 0 4458#define MC_CMD_PROGRAM_BUFTBL_ENTRIES_OUT_LEN 0
@@ -6800,6 +7026,30 @@
6800 7026
6801 7027
6802/***********************************/ 7028/***********************************/
7029/* MC_CMD_CAP_BLK_READ
7030 * Read multiple 64bit words from capture block memory
7031 */
7032#define MC_CMD_CAP_BLK_READ 0xe7
7033
7034/* MC_CMD_CAP_BLK_READ_IN msgrequest */
7035#define MC_CMD_CAP_BLK_READ_IN_LEN 12
7036#define MC_CMD_CAP_BLK_READ_IN_CAP_REG_OFST 0
7037#define MC_CMD_CAP_BLK_READ_IN_ADDR_OFST 4
7038#define MC_CMD_CAP_BLK_READ_IN_COUNT_OFST 8
7039
7040/* MC_CMD_CAP_BLK_READ_OUT msgresponse */
7041#define MC_CMD_CAP_BLK_READ_OUT_LENMIN 8
7042#define MC_CMD_CAP_BLK_READ_OUT_LENMAX 248
7043#define MC_CMD_CAP_BLK_READ_OUT_LEN(num) (0+8*(num))
7044#define MC_CMD_CAP_BLK_READ_OUT_BUFFER_OFST 0
7045#define MC_CMD_CAP_BLK_READ_OUT_BUFFER_LEN 8
7046#define MC_CMD_CAP_BLK_READ_OUT_BUFFER_LO_OFST 0
7047#define MC_CMD_CAP_BLK_READ_OUT_BUFFER_HI_OFST 4
7048#define MC_CMD_CAP_BLK_READ_OUT_BUFFER_MINNUM 1
7049#define MC_CMD_CAP_BLK_READ_OUT_BUFFER_MAXNUM 31
7050
7051
7052/***********************************/
6803/* MC_CMD_DUMP_DO 7053/* MC_CMD_DUMP_DO
6804 * Take a dump of the DUT state 7054 * Take a dump of the DUT state
6805 */ 7055 */
@@ -6826,6 +7076,10 @@
6826#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_DEPTH_OFST 20 7076#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_DEPTH_OFST 20
6827#define MC_CMD_DUMP_DO_IN_HOST_MEMORY_MLI_MAX_DEPTH 0x2 /* enum */ 7077#define MC_CMD_DUMP_DO_IN_HOST_MEMORY_MLI_MAX_DEPTH 0x2 /* enum */
6828#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_UART_PORT_OFST 12 7078#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_UART_PORT_OFST 12
7079/* enum: The uart port this command was received over (if using a uart
7080 * transport)
7081 */
7082#define MC_CMD_DUMP_DO_IN_UART_PORT_SRC 0xff
6829#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_SIZE_OFST 24 7083#define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_SIZE_OFST 24
6830#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_OFST 28 7084#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_OFST 28
6831#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM 0x0 /* enum */ 7085#define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM 0x0 /* enum */
@@ -6942,39 +7196,68 @@
6942 7196
6943 7197
6944/***********************************/ 7198/***********************************/
6945/* MC_CMD_START_KR_EYE_PLOT 7199/* MC_CMD_UART_SEND_DATA
6946 * Start KR Serdes Eye diagram plot on a given lane. Lane must have valid 7200 * Send checksummed[sic] block of data over the uart. Response is a placeholder
6947 * signal. 7201 * should we wish to make this reliable; currently requests are fire-and-
6948 */ 7202 * forget.
6949#define MC_CMD_START_KR_EYE_PLOT 0xee 7203 */
6950 7204#define MC_CMD_UART_SEND_DATA 0xee
6951/* MC_CMD_START_KR_EYE_PLOT_IN msgrequest */ 7205
6952#define MC_CMD_START_KR_EYE_PLOT_IN_LEN 4 7206/* MC_CMD_UART_SEND_DATA_OUT msgrequest */
6953#define MC_CMD_START_KR_EYE_PLOT_IN_LANE_OFST 0 7207#define MC_CMD_UART_SEND_DATA_OUT_LENMIN 16
6954 7208#define MC_CMD_UART_SEND_DATA_OUT_LENMAX 252
6955/* MC_CMD_START_KR_EYE_PLOT_OUT msgresponse */ 7209#define MC_CMD_UART_SEND_DATA_OUT_LEN(num) (16+1*(num))
6956#define MC_CMD_START_KR_EYE_PLOT_OUT_LEN 0 7210/* CRC32 over OFFSET, LENGTH, RESERVED, DATA */
6957 7211#define MC_CMD_UART_SEND_DATA_OUT_CHECKSUM_OFST 0
6958 7212/* Offset at which to write the data */
6959/***********************************/ 7213#define MC_CMD_UART_SEND_DATA_OUT_OFFSET_OFST 4
6960/* MC_CMD_POLL_KR_EYE_PLOT 7214/* Length of data */
6961 * Poll KR Serdes Eye diagram plot. Returns one row of BER data. The caller 7215#define MC_CMD_UART_SEND_DATA_OUT_LENGTH_OFST 8
6962 * should call this command repeatedly after starting eye plot, until no more 7216/* Reserved for future use */
6963 * data is returned. 7217#define MC_CMD_UART_SEND_DATA_OUT_RESERVED_OFST 12
6964 */ 7218#define MC_CMD_UART_SEND_DATA_OUT_DATA_OFST 16
6965#define MC_CMD_POLL_KR_EYE_PLOT 0xef 7219#define MC_CMD_UART_SEND_DATA_OUT_DATA_LEN 1
6966 7220#define MC_CMD_UART_SEND_DATA_OUT_DATA_MINNUM 0
6967/* MC_CMD_POLL_KR_EYE_PLOT_IN msgrequest */ 7221#define MC_CMD_UART_SEND_DATA_OUT_DATA_MAXNUM 236
6968#define MC_CMD_POLL_KR_EYE_PLOT_IN_LEN 0 7222
6969 7223/* MC_CMD_UART_SEND_DATA_IN msgresponse */
6970/* MC_CMD_POLL_KR_EYE_PLOT_OUT msgresponse */ 7224#define MC_CMD_UART_SEND_DATA_IN_LEN 0
6971#define MC_CMD_POLL_KR_EYE_PLOT_OUT_LENMIN 0 7225
6972#define MC_CMD_POLL_KR_EYE_PLOT_OUT_LENMAX 252 7226
6973#define MC_CMD_POLL_KR_EYE_PLOT_OUT_LEN(num) (0+2*(num)) 7227/***********************************/
6974#define MC_CMD_POLL_KR_EYE_PLOT_OUT_SAMPLES_OFST 0 7228/* MC_CMD_UART_RECV_DATA
6975#define MC_CMD_POLL_KR_EYE_PLOT_OUT_SAMPLES_LEN 2 7229 * Request checksummed[sic] block of data over the uart. Only a placeholder,
6976#define MC_CMD_POLL_KR_EYE_PLOT_OUT_SAMPLES_MINNUM 0 7230 * subject to change and not currently implemented.
6977#define MC_CMD_POLL_KR_EYE_PLOT_OUT_SAMPLES_MAXNUM 126 7231 */
7232#define MC_CMD_UART_RECV_DATA 0xef
7233
7234/* MC_CMD_UART_RECV_DATA_OUT msgrequest */
7235#define MC_CMD_UART_RECV_DATA_OUT_LEN 16
7236/* CRC32 over OFFSET, LENGTH, RESERVED */
7237#define MC_CMD_UART_RECV_DATA_OUT_CHECKSUM_OFST 0
7238/* Offset from which to read the data */
7239#define MC_CMD_UART_RECV_DATA_OUT_OFFSET_OFST 4
7240/* Length of data */
7241#define MC_CMD_UART_RECV_DATA_OUT_LENGTH_OFST 8
7242/* Reserved for future use */
7243#define MC_CMD_UART_RECV_DATA_OUT_RESERVED_OFST 12
7244
7245/* MC_CMD_UART_RECV_DATA_IN msgresponse */
7246#define MC_CMD_UART_RECV_DATA_IN_LENMIN 16
7247#define MC_CMD_UART_RECV_DATA_IN_LENMAX 252
7248#define MC_CMD_UART_RECV_DATA_IN_LEN(num) (16+1*(num))
7249/* CRC32 over RESERVED1, RESERVED2, RESERVED3, DATA */
7250#define MC_CMD_UART_RECV_DATA_IN_CHECKSUM_OFST 0
7251/* Offset at which to write the data */
7252#define MC_CMD_UART_RECV_DATA_IN_RESERVED1_OFST 4
7253/* Length of data */
7254#define MC_CMD_UART_RECV_DATA_IN_RESERVED2_OFST 8
7255/* Reserved for future use */
7256#define MC_CMD_UART_RECV_DATA_IN_RESERVED3_OFST 12
7257#define MC_CMD_UART_RECV_DATA_IN_DATA_OFST 16
7258#define MC_CMD_UART_RECV_DATA_IN_DATA_LEN 1
7259#define MC_CMD_UART_RECV_DATA_IN_DATA_MINNUM 0
7260#define MC_CMD_UART_RECV_DATA_IN_DATA_MAXNUM 236
6978 7261
6979 7262
6980/***********************************/ 7263/***********************************/
@@ -7026,6 +7309,15 @@
7026#define MC_CMD_KR_TUNE_IN_TXEQ_SET 0x3 7309#define MC_CMD_KR_TUNE_IN_TXEQ_SET 0x3
7027/* enum: Force KR Serdes reset / recalibration */ 7310/* enum: Force KR Serdes reset / recalibration */
7028#define MC_CMD_KR_TUNE_IN_RECAL 0x4 7311#define MC_CMD_KR_TUNE_IN_RECAL 0x4
7312/* enum: Start KR Serdes Eye diagram plot on a given lane. Lane must have valid
7313 * signal.
7314 */
7315#define MC_CMD_KR_TUNE_IN_START_EYE_PLOT 0x5
7316/* enum: Poll KR Serdes Eye diagram plot. Returns one row of BER data. The
7317 * caller should call this command repeatedly after starting eye plot, until no
7318 * more data is returned.
7319 */
7320#define MC_CMD_KR_TUNE_IN_POLL_EYE_PLOT 0x6
7029/* Align the arguments to 32 bits */ 7321/* Align the arguments to 32 bits */
7030#define MC_CMD_KR_TUNE_IN_KR_TUNE_RSVD_OFST 1 7322#define MC_CMD_KR_TUNE_IN_KR_TUNE_RSVD_OFST 1
7031#define MC_CMD_KR_TUNE_IN_KR_TUNE_RSVD_LEN 3 7323#define MC_CMD_KR_TUNE_IN_KR_TUNE_RSVD_LEN 3
@@ -7123,6 +7415,91 @@
7123/* MC_CMD_KR_TUNE_RXEQ_SET_OUT msgresponse */ 7415/* MC_CMD_KR_TUNE_RXEQ_SET_OUT msgresponse */
7124#define MC_CMD_KR_TUNE_RXEQ_SET_OUT_LEN 0 7416#define MC_CMD_KR_TUNE_RXEQ_SET_OUT_LEN 0
7125 7417
7418/* MC_CMD_KR_TUNE_TXEQ_GET_IN msgrequest */
7419#define MC_CMD_KR_TUNE_TXEQ_GET_IN_LEN 4
7420/* Requested operation */
7421#define MC_CMD_KR_TUNE_TXEQ_GET_IN_KR_TUNE_OP_OFST 0
7422#define MC_CMD_KR_TUNE_TXEQ_GET_IN_KR_TUNE_OP_LEN 1
7423/* Align the arguments to 32 bits */
7424#define MC_CMD_KR_TUNE_TXEQ_GET_IN_KR_TUNE_RSVD_OFST 1
7425#define MC_CMD_KR_TUNE_TXEQ_GET_IN_KR_TUNE_RSVD_LEN 3
7426
7427/* MC_CMD_KR_TUNE_TXEQ_GET_OUT msgresponse */
7428#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LENMIN 4
7429#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LENMAX 252
7430#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LEN(num) (0+4*(num))
7431/* TXEQ Parameter */
7432#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_OFST 0
7433#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_LEN 4
7434#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_MINNUM 1
7435#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_MAXNUM 63
7436#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_ID_LBN 0
7437#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_ID_WIDTH 8
7438/* enum: TX Amplitude */
7439#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_LEV 0x0
7440/* enum: De-Emphasis Tap1 Magnitude (0-7) */
7441#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_MODE 0x1
7442/* enum: De-Emphasis Tap1 Fine */
7443#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_DTLEV 0x2
7444/* enum: De-Emphasis Tap2 Magnitude (0-6) */
7445#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_D2 0x3
7446/* enum: De-Emphasis Tap2 Fine */
7447#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_D2TLEV 0x4
7448/* enum: Pre-Emphasis Magnitude */
7449#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_E 0x5
7450/* enum: Pre-Emphasis Fine */
7451#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_ETLEV 0x6
7452/* enum: TX Slew Rate Coarse control */
7453#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_PREDRV_DLY 0x7
7454/* enum: TX Slew Rate Fine control */
7455#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_TX_SR_SET 0x8
7456#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_LANE_LBN 8
7457#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_LANE_WIDTH 3
7458#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LANE_0 0x0 /* enum */
7459#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LANE_1 0x1 /* enum */
7460#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LANE_2 0x2 /* enum */
7461#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LANE_3 0x3 /* enum */
7462#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LANE_ALL 0x4 /* enum */
7463#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_RESERVED_LBN 11
7464#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_RESERVED_WIDTH 5
7465#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_INITIAL_LBN 16
7466#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_INITIAL_WIDTH 8
7467#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_RESERVED2_LBN 24
7468#define MC_CMD_KR_TUNE_TXEQ_GET_OUT_RESERVED2_WIDTH 8
7469
7470/* MC_CMD_KR_TUNE_TXEQ_SET_IN msgrequest */
7471#define MC_CMD_KR_TUNE_TXEQ_SET_IN_LENMIN 8
7472#define MC_CMD_KR_TUNE_TXEQ_SET_IN_LENMAX 252
7473#define MC_CMD_KR_TUNE_TXEQ_SET_IN_LEN(num) (4+4*(num))
7474/* Requested operation */
7475#define MC_CMD_KR_TUNE_TXEQ_SET_IN_KR_TUNE_OP_OFST 0
7476#define MC_CMD_KR_TUNE_TXEQ_SET_IN_KR_TUNE_OP_LEN 1
7477/* Align the arguments to 32 bits */
7478#define MC_CMD_KR_TUNE_TXEQ_SET_IN_KR_TUNE_RSVD_OFST 1
7479#define MC_CMD_KR_TUNE_TXEQ_SET_IN_KR_TUNE_RSVD_LEN 3
7480/* TXEQ Parameter */
7481#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_OFST 4
7482#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_LEN 4
7483#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_MINNUM 1
7484#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_MAXNUM 62
7485#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_ID_LBN 0
7486#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_ID_WIDTH 8
7487/* Enum values, see field(s): */
7488/* MC_CMD_KR_TUNE_TXEQ_GET_OUT/PARAM_ID */
7489#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_LANE_LBN 8
7490#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_LANE_WIDTH 3
7491/* Enum values, see field(s): */
7492/* MC_CMD_KR_TUNE_TXEQ_GET_OUT/PARAM_LANE */
7493#define MC_CMD_KR_TUNE_TXEQ_SET_IN_RESERVED_LBN 11
7494#define MC_CMD_KR_TUNE_TXEQ_SET_IN_RESERVED_WIDTH 5
7495#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_INITIAL_LBN 16
7496#define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_INITIAL_WIDTH 8
7497#define MC_CMD_KR_TUNE_TXEQ_SET_IN_RESERVED2_LBN 24
7498#define MC_CMD_KR_TUNE_TXEQ_SET_IN_RESERVED2_WIDTH 8
7499
7500/* MC_CMD_KR_TUNE_TXEQ_SET_OUT msgresponse */
7501#define MC_CMD_KR_TUNE_TXEQ_SET_OUT_LEN 0
7502
7126/* MC_CMD_KR_TUNE_RECAL_IN msgrequest */ 7503/* MC_CMD_KR_TUNE_RECAL_IN msgrequest */
7127#define MC_CMD_KR_TUNE_RECAL_IN_LEN 4 7504#define MC_CMD_KR_TUNE_RECAL_IN_LEN 4
7128/* Requested operation */ 7505/* Requested operation */
@@ -7135,6 +7512,37 @@
7135/* MC_CMD_KR_TUNE_RECAL_OUT msgresponse */ 7512/* MC_CMD_KR_TUNE_RECAL_OUT msgresponse */
7136#define MC_CMD_KR_TUNE_RECAL_OUT_LEN 0 7513#define MC_CMD_KR_TUNE_RECAL_OUT_LEN 0
7137 7514
7515/* MC_CMD_KR_TUNE_START_EYE_PLOT_IN msgrequest */
7516#define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_LEN 8
7517/* Requested operation */
7518#define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_KR_TUNE_OP_OFST 0
7519#define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_KR_TUNE_OP_LEN 1
7520/* Align the arguments to 32 bits */
7521#define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_KR_TUNE_RSVD_OFST 1
7522#define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_KR_TUNE_RSVD_LEN 3
7523#define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_LANE_OFST 4
7524
7525/* MC_CMD_KR_TUNE_START_EYE_PLOT_OUT msgresponse */
7526#define MC_CMD_KR_TUNE_START_EYE_PLOT_OUT_LEN 0
7527
7528/* MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN msgrequest */
7529#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN_LEN 4
7530/* Requested operation */
7531#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN_KR_TUNE_OP_OFST 0
7532#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN_KR_TUNE_OP_LEN 1
7533/* Align the arguments to 32 bits */
7534#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN_KR_TUNE_RSVD_OFST 1
7535#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN_KR_TUNE_RSVD_LEN 3
7536
7537/* MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT msgresponse */
7538#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_LENMIN 0
7539#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_LENMAX 252
7540#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_LEN(num) (0+2*(num))
7541#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_OFST 0
7542#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_LEN 2
7543#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_MINNUM 0
7544#define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_MAXNUM 126
7545
7138 7546
7139/***********************************/ 7547/***********************************/
7140/* MC_CMD_PCIE_TUNE 7548/* MC_CMD_PCIE_TUNE
@@ -7157,6 +7565,13 @@
7157#define MC_CMD_PCIE_TUNE_IN_TXEQ_GET 0x2 7565#define MC_CMD_PCIE_TUNE_IN_TXEQ_GET 0x2
7158/* enum: Override TX Driver settings */ 7566/* enum: Override TX Driver settings */
7159#define MC_CMD_PCIE_TUNE_IN_TXEQ_SET 0x3 7567#define MC_CMD_PCIE_TUNE_IN_TXEQ_SET 0x3
7568/* enum: Start PCIe Serdes Eye diagram plot on a given lane. */
7569#define MC_CMD_PCIE_TUNE_IN_START_EYE_PLOT 0x5
7570/* enum: Poll PCIe Serdes Eye diagram plot. Returns one row of BER data. The
7571 * caller should call this command repeatedly after starting eye plot, until no
7572 * more data is returned.
7573 */
7574#define MC_CMD_PCIE_TUNE_IN_POLL_EYE_PLOT 0x6
7160/* Align the arguments to 32 bits */ 7575/* Align the arguments to 32 bits */
7161#define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_RSVD_OFST 1 7576#define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_RSVD_OFST 1
7162#define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_RSVD_LEN 3 7577#define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_RSVD_LEN 3
@@ -7258,6 +7673,37 @@
7258#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_CURRENT_LBN 24 7673#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_CURRENT_LBN 24
7259#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_CURRENT_WIDTH 8 7674#define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_CURRENT_WIDTH 8
7260 7675
7676/* MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN msgrequest */
7677#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_LEN 8
7678/* Requested operation */
7679#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_PCIE_TUNE_OP_OFST 0
7680#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_PCIE_TUNE_OP_LEN 1
7681/* Align the arguments to 32 bits */
7682#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_PCIE_TUNE_RSVD_OFST 1
7683#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_PCIE_TUNE_RSVD_LEN 3
7684#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_LANE_OFST 4
7685
7686/* MC_CMD_PCIE_TUNE_START_EYE_PLOT_OUT msgresponse */
7687#define MC_CMD_PCIE_TUNE_START_EYE_PLOT_OUT_LEN 0
7688
7689/* MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN msgrequest */
7690#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN_LEN 4
7691/* Requested operation */
7692#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN_PCIE_TUNE_OP_OFST 0
7693#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN_PCIE_TUNE_OP_LEN 1
7694/* Align the arguments to 32 bits */
7695#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN_PCIE_TUNE_RSVD_OFST 1
7696#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN_PCIE_TUNE_RSVD_LEN 3
7697
7698/* MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT msgresponse */
7699#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_LENMIN 0
7700#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_LENMAX 252
7701#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_LEN(num) (0+2*(num))
7702#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_OFST 0
7703#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_LEN 2
7704#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_MINNUM 0
7705#define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_MAXNUM 126
7706
7261 7707
7262/***********************************/ 7708/***********************************/
7263/* MC_CMD_LICENSING 7709/* MC_CMD_LICENSING
@@ -7310,5 +7756,152 @@
7310 */ 7756 */
7311#define MC_CMD_MC2MC_PROXY 0xf4 7757#define MC_CMD_MC2MC_PROXY 0xf4
7312 7758
7759/* MC_CMD_MC2MC_PROXY_IN msgrequest */
7760#define MC_CMD_MC2MC_PROXY_IN_LEN 0
7761
7762/* MC_CMD_MC2MC_PROXY_OUT msgresponse */
7763#define MC_CMD_MC2MC_PROXY_OUT_LEN 0
7764
7765
7766/***********************************/
7767/* MC_CMD_GET_LICENSED_APP_STATE
7768 * Query the state of an individual licensed application. (Note that the actual
7769 * state may be invalidated by the MC_CMD_LICENSING OP_UPDATE_LICENSE operation
7770 * or a reboot of the MC.)
7771 */
7772#define MC_CMD_GET_LICENSED_APP_STATE 0xf5
7773
7774/* MC_CMD_GET_LICENSED_APP_STATE_IN msgrequest */
7775#define MC_CMD_GET_LICENSED_APP_STATE_IN_LEN 4
7776/* application ID to query (LICENSED_APP_ID_xxx) */
7777#define MC_CMD_GET_LICENSED_APP_STATE_IN_APP_ID_OFST 0
7778
7779/* MC_CMD_GET_LICENSED_APP_STATE_OUT msgresponse */
7780#define MC_CMD_GET_LICENSED_APP_STATE_OUT_LEN 4
7781/* state of this application */
7782#define MC_CMD_GET_LICENSED_APP_STATE_OUT_STATE_OFST 0
7783/* enum: no (or invalid) license is present for the application */
7784#define MC_CMD_GET_LICENSED_APP_STATE_OUT_NOT_LICENSED 0x0
7785/* enum: a valid license is present for the application */
7786#define MC_CMD_GET_LICENSED_APP_STATE_OUT_LICENSED 0x1
7787
7788
7789/***********************************/
7790/* MC_CMD_LICENSED_APP_OP
7791 * Perform an action for an individual licensed application.
7792 */
7793#define MC_CMD_LICENSED_APP_OP 0xf6
7794
7795/* MC_CMD_LICENSED_APP_OP_IN msgrequest */
7796#define MC_CMD_LICENSED_APP_OP_IN_LENMIN 8
7797#define MC_CMD_LICENSED_APP_OP_IN_LENMAX 252
7798#define MC_CMD_LICENSED_APP_OP_IN_LEN(num) (8+4*(num))
7799/* application ID */
7800#define MC_CMD_LICENSED_APP_OP_IN_APP_ID_OFST 0
7801/* the type of operation requested */
7802#define MC_CMD_LICENSED_APP_OP_IN_OP_OFST 4
7803/* enum: validate application */
7804#define MC_CMD_LICENSED_APP_OP_IN_OP_VALIDATE 0x0
7805/* arguments specific to this particular operation */
7806#define MC_CMD_LICENSED_APP_OP_IN_ARGS_OFST 8
7807#define MC_CMD_LICENSED_APP_OP_IN_ARGS_LEN 4
7808#define MC_CMD_LICENSED_APP_OP_IN_ARGS_MINNUM 0
7809#define MC_CMD_LICENSED_APP_OP_IN_ARGS_MAXNUM 61
7810
7811/* MC_CMD_LICENSED_APP_OP_OUT msgresponse */
7812#define MC_CMD_LICENSED_APP_OP_OUT_LENMIN 0
7813#define MC_CMD_LICENSED_APP_OP_OUT_LENMAX 252
7814#define MC_CMD_LICENSED_APP_OP_OUT_LEN(num) (0+4*(num))
7815/* result specific to this particular operation */
7816#define MC_CMD_LICENSED_APP_OP_OUT_RESULT_OFST 0
7817#define MC_CMD_LICENSED_APP_OP_OUT_RESULT_LEN 4
7818#define MC_CMD_LICENSED_APP_OP_OUT_RESULT_MINNUM 0
7819#define MC_CMD_LICENSED_APP_OP_OUT_RESULT_MAXNUM 63
7820
7821/* MC_CMD_LICENSED_APP_OP_VALIDATE_IN msgrequest */
7822#define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_LEN 72
7823/* application ID */
7824#define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_APP_ID_OFST 0
7825/* the type of operation requested */
7826#define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_OP_OFST 4
7827/* validation challenge */
7828#define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_CHALLENGE_OFST 8
7829#define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_CHALLENGE_LEN 64
7830
7831/* MC_CMD_LICENSED_APP_OP_VALIDATE_OUT msgresponse */
7832#define MC_CMD_LICENSED_APP_OP_VALIDATE_OUT_LEN 68
7833/* feature expiry (time_t) */
7834#define MC_CMD_LICENSED_APP_OP_VALIDATE_OUT_EXPIRY_OFST 0
7835/* validation response */
7836#define MC_CMD_LICENSED_APP_OP_VALIDATE_OUT_RESPONSE_OFST 4
7837#define MC_CMD_LICENSED_APP_OP_VALIDATE_OUT_RESPONSE_LEN 64
7838
7839
7840/***********************************/
7841/* MC_CMD_SET_PORT_SNIFF_CONFIG
7842 * Configure port sniffing for the physical port associated with the calling
7843 * function. Only a privileged function may change the port sniffing
7844 * configuration. A copy of all traffic delivered to the host (non-promiscuous
7845 * mode) or all traffic arriving at the port (promiscuous mode) may be
7846 * delivered to a specific queue, or a set of queues with RSS.
7847 */
7848#define MC_CMD_SET_PORT_SNIFF_CONFIG 0xf7
7849
7850/* MC_CMD_SET_PORT_SNIFF_CONFIG_IN msgrequest */
7851#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_LEN 16
7852/* configuration flags */
7853#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_FLAGS_OFST 0
7854#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_ENABLE_LBN 0
7855#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_ENABLE_WIDTH 1
7856#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_PROMISCUOUS_LBN 1
7857#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_PROMISCUOUS_WIDTH 1
7858/* receive queue handle (for RSS mode, this is the base queue) */
7859#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_QUEUE_OFST 4
7860/* receive mode */
7861#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_MODE_OFST 8
7862/* enum: receive to just the specified queue */
7863#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_MODE_SIMPLE 0x0
7864/* enum: receive to multiple queues using RSS context */
7865#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_MODE_RSS 0x1
7866/* RSS context (for RX_MODE_RSS) as returned by MC_CMD_RSS_CONTEXT_ALLOC. Note
7867 * that these handles should be considered opaque to the host, although a value
7868 * of 0xFFFFFFFF is guaranteed never to be a valid handle.
7869 */
7870#define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_CONTEXT_OFST 12
7871
7872/* MC_CMD_SET_PORT_SNIFF_CONFIG_OUT msgresponse */
7873#define MC_CMD_SET_PORT_SNIFF_CONFIG_OUT_LEN 0
7874
7875
7876/***********************************/
7877/* MC_CMD_GET_PORT_SNIFF_CONFIG
7878 * Obtain the current port sniffing configuration for the physical port
7879 * associated with the calling function. Only a privileged function may read
7880 * the configuration.
7881 */
7882#define MC_CMD_GET_PORT_SNIFF_CONFIG 0xf8
7883
7884/* MC_CMD_GET_PORT_SNIFF_CONFIG_IN msgrequest */
7885#define MC_CMD_GET_PORT_SNIFF_CONFIG_IN_LEN 0
7886
7887/* MC_CMD_GET_PORT_SNIFF_CONFIG_OUT msgresponse */
7888#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_LEN 16
7889/* configuration flags */
7890#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_FLAGS_OFST 0
7891#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_ENABLE_LBN 0
7892#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_ENABLE_WIDTH 1
7893#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_PROMISCUOUS_LBN 1
7894#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_PROMISCUOUS_WIDTH 1
7895/* receiving queue handle (for RSS mode, this is the base queue) */
7896#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_QUEUE_OFST 4
7897/* receive mode */
7898#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_MODE_OFST 8
7899/* enum: receiving to just the specified queue */
7900#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_MODE_SIMPLE 0x0
7901/* enum: receiving to multiple queues using RSS context */
7902#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_MODE_RSS 0x1
7903/* RSS context (for RX_MODE_RSS) */
7904#define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_CONTEXT_OFST 12
7905
7313 7906
7314#endif /* MCDI_PCOL_H */ 7907#endif /* MCDI_PCOL_H */