#define MAX_GPIO_DEFS_2308 40 typedef struct _IOC_PHY_GROUP { U32 Misc; /* 0x00 */ U32 Sas1G1Low; /* 0x04 */ U32 Sas1G1High; /* 0x08 */ U32 Sas1G2Low; /* 0x0C */ U32 Sas1G2High; /* 0x10 */ U32 SasOobLow; /* 0x14 */ U32 SasOobHigh; /* 0x18 */ U32 Sas2G1Low; /* 0x1C */ U32 Sas2G1High; /* 0x20 */ U32 Sas2G2Low; /* 0x24 */ U32 Sas2G2High; /* 0x28 */ U32 Sas2G3Low; /* 0x2C */ U32 Sas2G3High; /* 0x30 */ U32 SataG1Low; /* 0x34 */ U32 SataG1High; /* 0x38 */ U32 SataG2Low; /* 0x3C */ U32 SataG2High; /* 0x40 */ U32 SataG3Low; /* 0x44 */ U32 SataG3High; /* 0x48 */ U32 SataOobLow; /* 0x4C */ U32 SataOobHigh; /* 0x50 */ } IOC_PHY_GROUP, *PTR_IOC_PHY_GROUP; /* 0x54 bytes in size */ typedef struct _MPI2_CONFIG_PAGE_MFG_PAGE_3 { MPI2_CONFIG_PAGE_HEADER Header; /* 00h */ MPI2_CHIP_REVISION_ID ChipId; /* 04h */ U32 Reserved1; /* 08h */ U32 Reserved2; /* 08h */ U32 Reserved3; /* 08h */ U32 Reserved4; /* 08h */ IOC_PHY_GROUP PhyGroup[4]; /* 18h (0x54*4=150 bytes) */ U8 NumPhys; /* 168h */ U8 Reserved5; /* 169h */ U8 Reserved6; /* 16Ah */ U8 Reserved7; /* 16Bh */ U32 Phy[8]; /* 16Ch */ } MPI2_CONFIG_PAGE_MFG_PAGE_3, *PTR_MPI2_CONFIG_PAGE_MFG_PAGE_3, Mpi2ConfigPageManPage3_t; /* GPIODefinition */ typedef struct _MPI2_CFG_MFG_6_GPIO_DEF { U8 FunctionCode; /* 00h */ U8 Flags; /* 01h */ U8 Param1; /* 02h */ U8 Param2; /* 03h */ U32 Param3; /* 04h */ } MPI2_CFG_MFG_6_GPIO_DEF, *PTR_MPI2_CFG_MFG_6_GPIO_DEF; /* GPIO Defines */ typedef struct _MPI2_CONFIG_PAGE_MFG_PAGE_6 { MPI2_CONFIG_PAGE_HEADER Header; U8 NumGPIO; /* 04h */ U8 Reserved1[3]; /* 05h */ U32 Reserved2; /* 08h */ U32 Reserved3; /* 0Ch */ MPI2_CFG_MFG_6_GPIO_DEF GPIODefinition[MAX_GPIO_DEFS_2308]; /* 10h */ } MPI2_CONFIG_PAGE_MFG_PAGE_6, *PTR_IOC_CONFIG_PAGE_MFG_PAGE_6, Mpi2ConfigPageManPage6_t;