Commit cb16ef38 authored by Sreekanth Reddy's avatar Sreekanth Reddy Committed by Christoph Hellwig
Browse files

mpt2sas: MPI2 Rev AA (2.00.19) specifications



Below is the changeset from the MPI specification and 2.00.34 header
files:

1) Defined additional bits in the BiosOptions field of BIOS Page 1 to
   allow for finer control of X86 BIOS and UEFI BSD.
2) For the Clean Tool, reserved bit 26 of the Flags field for product
   specific use.

Signed-off-by: default avatarSreekanth Reddy <Sreekanth.Reddy@avagotech.com>
Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 0128d5cf
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@
 *                  scatter/gather formats.
 *  Creation Date:  June 21, 2006
 *
 *  mpi2.h Version:  02.00.32
 *  mpi2.h Version:  02.00.34
 *
 *  Version History
 *  ---------------
@@ -83,6 +83,8 @@
 *  04-09-13  02.00.30  Bumped MPI2_HEADER_VERSION_UNIT.
 *  04-17-13  02.00.31  Bumped MPI2_HEADER_VERSION_UNIT.
 *  08-19-13  02.00.32  Bumped MPI2_HEADER_VERSION_UNIT.
 *  12-05-13  02.00.33  Bumped MPI2_HEADER_VERSION_UNIT.
 *  01-08-14  02.00.34  Bumped MPI2_HEADER_VERSION_UNIT.
 *  --------------------------------------------------------------------------
 */

+31 −7
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@
 *          Title:  MPI Configuration messages and pages
 *  Creation Date:  November 10, 2006
 *
 *    mpi2_cnfg.h Version:  02.00.26
 *    mpi2_cnfg.h Version:  02.00.28
 *
 *  Version History
 *  ---------------
@@ -157,6 +157,18 @@
 *  04-09-13  02.00.25  Added MPI2_IOUNITPAGE1_ATA_SECURITY_FREEZE_LOCK.
 *			Fixed MPI2_IOUNITPAGE5_DMA_CAP_MASK_MAX_REQUESTS to
 *			match the specification.
 *  12-05-13  02.00.27  Added MPI2_MANPAGE7_FLAG_BASE_ENCLOSURE_LEVEL for
 *			MPI2_CONFIG_PAGE_MAN_7.
 *			Added EnclosureLevel and ConnectorName fields to
 *			MPI2_CONFIG_PAGE_SAS_DEV_0.
 *			Added MPI2_SAS_DEVICE0_FLAGS_ENCL_LEVEL_VALID for
 *			MPI2_CONFIG_PAGE_SAS_DEV_0.
 *			Added EnclosureLevel field to
 *			MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0.
 *			Added MPI2_SAS_ENCLS0_FLAGS_ENCL_LEVEL_VALID for
 *			MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0.
 *  01-08-14  02.00.28  Added more defines for the BiosOptions field of
 *			MPI2_CONFIG_PAGE_BIOS_1.
 *  --------------------------------------------------------------------------
 */

@@ -706,6 +718,7 @@ typedef struct _MPI2_CONFIG_PAGE_MAN_7
#define MPI2_MANUFACTURING7_PAGEVERSION                 (0x01)

/* defines for the Flags field */
#define MPI2_MANPAGE7_FLAG_BASE_ENCLOSURE_LEVEL         (0x00000008)
#define MPI2_MANPAGE7_FLAG_EVENTREPLAY_SLOT_ORDER       (0x00000002)
#define MPI2_MANPAGE7_FLAG_USE_SLOT_INFO                (0x00000001)

@@ -1235,9 +1248,17 @@ typedef struct _MPI2_CONFIG_PAGE_BIOS_1
} MPI2_CONFIG_PAGE_BIOS_1, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_BIOS_1,
  Mpi2BiosPage1_t, MPI2_POINTER pMpi2BiosPage1_t;

#define MPI2_BIOSPAGE1_PAGEVERSION                      (0x05)
#define MPI2_BIOSPAGE1_PAGEVERSION                      (0x06)

/* values for BIOS Page 1 BiosOptions field */
#define MPI2_BIOSPAGE1_OPTIONS_X86_DISABLE_BIOS                 (0x00000400)

#define MPI2_BIOSPAGE1_OPTIONS_MASK_REGISTRATION_UEFI_BSD       (0x00000300)
#define MPI2_BIOSPAGE1_OPTIONS_USE_BIT0_REGISTRATION_UEFI_BSD   (0x00000000)
#define MPI2_BIOSPAGE1_OPTIONS_FULL_REGISTRATION_UEFI_BSD       (0x00000100)
#define MPI2_BIOSPAGE1_OPTIONS_ADAPTER_REGISTRATION_UEFI_BSD    (0x00000200)
#define MPI2_BIOSPAGE1_OPTIONS_DISABLE_REGISTRATION_UEFI_BSD    (0x00000300)

#define MPI2_BIOSPAGE1_OPTIONS_MASK_OEM_ID                  (0x000000F0)
#define MPI2_BIOSPAGE1_OPTIONS_LSI_OEM_ID                   (0x00000000)

@@ -2420,13 +2441,13 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_DEV_0
    U8                                  PortGroups;             /* 0x2C */
    U8                                  DmaGroup;               /* 0x2D */
    U8                                  ControlGroup;           /* 0x2E */
    U8                                  Reserved1;              /* 0x2F */
    U32                                 Reserved2;              /* 0x30 */
	U8				 EnclosureLevel;	 /* 0x2F */
	U8				 ConnectorName[4];	 /* 0x30 */
    U32                                 Reserved3;              /* 0x34 */
} MPI2_CONFIG_PAGE_SAS_DEV_0, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SAS_DEV_0,
  Mpi2SasDevicePage0_t, MPI2_POINTER pMpi2SasDevicePage0_t;

#define MPI2_SASDEVICE0_PAGEVERSION         (0x08)
#define MPI2_SASDEVICE0_PAGEVERSION         (0x09)

/* values for SAS Device Page 0 AccessStatus field */
#define MPI2_SAS_DEVICE0_ASTATUS_NO_ERRORS                  (0x00)
@@ -2464,6 +2485,7 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_DEV_0
#define MPI2_SAS_DEVICE0_FLAGS_SATA_NCQ_SUPPORTED           (0x0020)
#define MPI2_SAS_DEVICE0_FLAGS_SATA_FUA_SUPPORTED           (0x0010)
#define MPI2_SAS_DEVICE0_FLAGS_PORT_SELECTOR_ATTACH         (0x0008)
#define MPI2_SAS_DEVICE0_FLAGS_ENCL_LEVEL_VALID             (0x0002)
#define MPI2_SAS_DEVICE0_FLAGS_DEVICE_PRESENT               (0x0001)


@@ -2732,7 +2754,8 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0
    U16                                 EnclosureHandle;            /* 0x16 */
    U16                                 NumSlots;                   /* 0x18 */
    U16                                 StartSlot;                  /* 0x1A */
    U16                                 Reserved2;                  /* 0x1C */
	U8				 Reserved2;		     /* 0x1C */
	U8				 EnclosureLevel;	     /* 0x1D */
    U16                                 SEPDevHandle;               /* 0x1E */
    U32                                 Reserved3;                  /* 0x20 */
    U32                                 Reserved4;                  /* 0x24 */
@@ -2740,9 +2763,10 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0
  MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0,
  Mpi2SasEnclosurePage0_t, MPI2_POINTER pMpi2SasEnclosurePage0_t;

#define MPI2_SASENCLOSURE0_PAGEVERSION      (0x03)
#define MPI2_SASENCLOSURE0_PAGEVERSION      (0x04)

/* values for SAS Enclosure Page 0 Flags field */
#define MPI2_SAS_ENCLS0_FLAGS_ENCL_LEVEL_VALID      (0x0010)
#define MPI2_SAS_ENCLS0_FLAGS_MNG_MASK              (0x000F)
#define MPI2_SAS_ENCLS0_FLAGS_MNG_UNKNOWN           (0x0000)
#define MPI2_SAS_ENCLS0_FLAGS_MNG_IOC_SES           (0x0001)
+3 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@
 *          Title:  MPI IOC, Port, Event, FW Download, and FW Upload messages
 *  Creation Date:  October 11, 2006
 *
 *  mpi2_ioc.h Version:  02.00.23
 *  mpi2_ioc.h Version:  02.00.24
 *
 *  Version History
 *  ---------------
@@ -126,6 +126,7 @@
 *                      Added MPI2_IOCFACTS_CAPABILITY_RDPQ_ARRAY_CAPABLE.
 *                      Added MPI2_FW_DOWNLOAD_ITYPE_PUBLIC_KEY.
 *                      Added Encrypted Hash Extended Image.
 *  12-05-13  02.00.24  Added MPI25_HASH_IMAGE_TYPE_BIOS.
 *  --------------------------------------------------------------------------
 */

@@ -1589,6 +1590,7 @@ Mpi25EncryptedHashEntry_t, MPI2_POINTER pMpi25EncryptedHashEntry_t;
/* values for HashImageType */
#define MPI25_HASH_IMAGE_TYPE_UNUSED            (0x00)
#define MPI25_HASH_IMAGE_TYPE_FIRMWARE          (0x01)
#define MPI25_HASH_IMAGE_TYPE_BIOS              (0x02)

/* values for HashAlgorithm */
#define MPI25_HASH_ALGORITHM_UNUSED             (0x00)
+4 −2
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@
 *          Title:  MPI diagnostic tool structures and definitions
 *  Creation Date:  March 26, 2007
 *
 *    mpi2_tool.h Version:  02.00.11
 *    mpi2_tool.h Version:  02.00.12
 *
 *  Version History
 *  ---------------
@@ -30,6 +30,7 @@
 *  07-26-12  02.00.10  Modified MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST so that
 *			it uses MPI Chain SGE as well as MPI Simple SGE.
 *  08-19-13  02.00.11  Added MPI2_TOOLBOX_TEXT_DISPLAY_TOOL and related info.
 *  01-08-14  02.00.12  Added MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC.
 *  --------------------------------------------------------------------------
 */

@@ -101,6 +102,7 @@ typedef struct _MPI2_TOOLBOX_CLEAN_REQUEST
#define MPI2_TOOLBOX_CLEAN_OTHER_PERSIST_PAGES      (0x20000000)
#define MPI2_TOOLBOX_CLEAN_FW_CURRENT               (0x10000000)
#define MPI2_TOOLBOX_CLEAN_FW_BACKUP                (0x08000000)
#define MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC   (0x04000000)
#define MPI2_TOOLBOX_CLEAN_MEGARAID                 (0x02000000)
#define MPI2_TOOLBOX_CLEAN_INITIALIZATION           (0x01000000)
#define MPI2_TOOLBOX_CLEAN_FLASH                    (0x00000004)