| .. | .. |
|---|
| 1 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
|---|
| 2 | 2 | /* |
|---|
| 3 | | - * Copyright 2000-2014 Avago Technologies. All rights reserved. |
|---|
| 3 | + * Copyright 2000-2020 Broadcom Inc. All rights reserved. |
|---|
| 4 | 4 | * |
|---|
| 5 | 5 | * |
|---|
| 6 | 6 | * Name: mpi2_tool.h |
|---|
| 7 | 7 | * Title: MPI diagnostic tool structures and definitions |
|---|
| 8 | 8 | * Creation Date: March 26, 2007 |
|---|
| 9 | 9 | * |
|---|
| 10 | | - * mpi2_tool.h Version: 02.00.14 |
|---|
| 10 | + * mpi2_tool.h Version: 02.00.16 |
|---|
| 11 | 11 | * |
|---|
| 12 | 12 | * Version History |
|---|
| 13 | 13 | * --------------- |
|---|
| .. | .. |
|---|
| 38 | 38 | * 11-18-14 02.00.13 Updated copyright information. |
|---|
| 39 | 39 | * 08-25-16 02.00.14 Added new values for the Flags field of Toolbox Clean |
|---|
| 40 | 40 | * Tool Request Message. |
|---|
| 41 | + * 07-22-18 02.00.15 Added defines for new TOOLBOX_PCIE_LANE_MARGINING tool. |
|---|
| 42 | + * Added option for DeviceInfo field in ISTWI tool. |
|---|
| 43 | + * 12-17-18 02.00.16 Shorten some defines to be compatible with DOS. |
|---|
| 41 | 44 | * -------------------------------------------------------------------------- |
|---|
| 42 | 45 | */ |
|---|
| 43 | 46 | |
|---|
| .. | .. |
|---|
| 58 | 61 | #define MPI2_TOOLBOX_BEACON_TOOL (0x05) |
|---|
| 59 | 62 | #define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL (0x06) |
|---|
| 60 | 63 | #define MPI2_TOOLBOX_TEXT_DISPLAY_TOOL (0x07) |
|---|
| 64 | +#define MPI26_TOOLBOX_BACKEND_PCIE_LANE_MARGIN (0x08) |
|---|
| 61 | 65 | |
|---|
| 62 | 66 | /**************************************************************************** |
|---|
| 63 | 67 | * Toolbox reply |
|---|
| .. | .. |
|---|
| 226 | 230 | #define MPI2_TOOL_ISTWI_FLAG_AUTO_RESERVE_RELEASE (0x80) |
|---|
| 227 | 231 | #define MPI2_TOOL_ISTWI_FLAG_PAGE_ADDR_MASK (0x07) |
|---|
| 228 | 232 | |
|---|
| 233 | +/*MPI26 TOOLBOX Request MsgFlags defines */ |
|---|
| 234 | +#define MPI26_TOOL_ISTWI_MSGFLG_ADDR_MASK (0x01) |
|---|
| 235 | +/*Request uses Man Page 43 device index addressing */ |
|---|
| 236 | +#define MPI26_TOOL_ISTWI_MSGFLG_ADDR_INDEX (0x00) |
|---|
| 237 | +/*Request uses Man Page 43 device info struct addressing */ |
|---|
| 238 | +#define MPI26_TOOL_ISTWI_MSGFLG_ADDR_INFO (0x01) |
|---|
| 239 | + |
|---|
| 229 | 240 | /*Toolbox ISTWI Read Write Tool reply message */ |
|---|
| 230 | 241 | typedef struct _MPI2_TOOLBOX_ISTWI_REPLY { |
|---|
| 231 | 242 | U8 Tool; /*0x00 */ |
|---|
| .. | .. |
|---|
| 387 | 398 | #define MPI2_TOOLBOX_CONSOLE_FLAG_TIMESTAMP (0x01) |
|---|
| 388 | 399 | |
|---|
| 389 | 400 | |
|---|
| 401 | +/*************************************************************************** |
|---|
| 402 | + * Toolbox Backend Lane Margining Tool |
|---|
| 403 | + *************************************************************************** |
|---|
| 404 | + */ |
|---|
| 405 | + |
|---|
| 406 | +/*Toolbox Backend Lane Margining Tool request message */ |
|---|
| 407 | +typedef struct _MPI26_TOOLBOX_LANE_MARGIN_REQUEST { |
|---|
| 408 | + U8 Tool; /*0x00 */ |
|---|
| 409 | + U8 Reserved1; /*0x01 */ |
|---|
| 410 | + U8 ChainOffset; /*0x02 */ |
|---|
| 411 | + U8 Function; /*0x03 */ |
|---|
| 412 | + U16 Reserved2; /*0x04 */ |
|---|
| 413 | + U8 Reserved3; /*0x06 */ |
|---|
| 414 | + U8 MsgFlags; /*0x07 */ |
|---|
| 415 | + U8 VP_ID; /*0x08 */ |
|---|
| 416 | + U8 VF_ID; /*0x09 */ |
|---|
| 417 | + U16 Reserved4; /*0x0A */ |
|---|
| 418 | + U8 Command; /*0x0C */ |
|---|
| 419 | + U8 SwitchPort; /*0x0D */ |
|---|
| 420 | + U16 DevHandle; /*0x0E */ |
|---|
| 421 | + U8 RegisterOffset; /*0x10 */ |
|---|
| 422 | + U8 Reserved5; /*0x11 */ |
|---|
| 423 | + U16 DataLength; /*0x12 */ |
|---|
| 424 | + MPI25_SGE_IO_UNION SGL; /*0x14 */ |
|---|
| 425 | +} MPI26_TOOLBOX_LANE_MARGINING_REQUEST, |
|---|
| 426 | + *PTR_MPI2_TOOLBOX_LANE_MARGINING_REQUEST, |
|---|
| 427 | + Mpi26ToolboxLaneMarginingRequest_t, |
|---|
| 428 | + *pMpi2ToolboxLaneMarginingRequest_t; |
|---|
| 429 | + |
|---|
| 430 | +/* defines for the Command field */ |
|---|
| 431 | +#define MPI26_TOOL_MARGIN_COMMAND_ENTER_MARGIN_MODE (0x01) |
|---|
| 432 | +#define MPI26_TOOL_MARGIN_COMMAND_READ_REGISTER_DATA (0x02) |
|---|
| 433 | +#define MPI26_TOOL_MARGIN_COMMAND_WRITE_REGISTER_DATA (0x03) |
|---|
| 434 | +#define MPI26_TOOL_MARGIN_COMMAND_EXIT_MARGIN_MODE (0x04) |
|---|
| 435 | + |
|---|
| 436 | + |
|---|
| 437 | +/*Toolbox Backend Lane Margining Tool reply message */ |
|---|
| 438 | +typedef struct _MPI26_TOOLBOX_LANE_MARGIN_REPLY { |
|---|
| 439 | + U8 Tool; /*0x00 */ |
|---|
| 440 | + U8 Reserved1; /*0x01 */ |
|---|
| 441 | + U8 MsgLength; /*0x02 */ |
|---|
| 442 | + U8 Function; /*0x03 */ |
|---|
| 443 | + U16 Reserved2; /*0x04 */ |
|---|
| 444 | + U8 Reserved3; /*0x06 */ |
|---|
| 445 | + U8 MsgFlags; /*0x07 */ |
|---|
| 446 | + U8 VP_ID; /*0x08 */ |
|---|
| 447 | + U8 VF_ID; /*0x09 */ |
|---|
| 448 | + U16 Reserved4; /*0x0A */ |
|---|
| 449 | + U16 Reserved5; /*0x0C */ |
|---|
| 450 | + U16 IOCStatus; /*0x0E */ |
|---|
| 451 | + U32 IOCLogInfo; /*0x10 */ |
|---|
| 452 | + U16 ReturnedDataLength; /*0x14 */ |
|---|
| 453 | + U16 Reserved6; /*0x16 */ |
|---|
| 454 | +} MPI26_TOOLBOX_LANE_MARGINING_REPLY, |
|---|
| 455 | + *PTR_MPI26_TOOLBOX_LANE_MARGINING_REPLY, |
|---|
| 456 | + Mpi26ToolboxLaneMarginingReply_t, |
|---|
| 457 | + *pMpi26ToolboxLaneMarginingReply_t; |
|---|
| 458 | + |
|---|
| 390 | 459 | |
|---|
| 391 | 460 | /***************************************************************************** |
|---|
| 392 | 461 | * |
|---|