diff options
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h')
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h | 297 |
1 files changed, 294 insertions, 3 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h b/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h index ab47c4679640..cf0ac9f40c97 100644 --- a/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h +++ b/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h | |||
@@ -6,7 +6,7 @@ | |||
6 | * Title: MPI Configuration messages and pages | 6 | * Title: MPI Configuration messages and pages |
7 | * Creation Date: November 10, 2006 | 7 | * Creation Date: November 10, 2006 |
8 | * | 8 | * |
9 | * mpi2_cnfg.h Version: 02.00.11 | 9 | * mpi2_cnfg.h Version: 02.00.13 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -100,6 +100,15 @@ | |||
100 | * Added expander reduced functionality data to SAS | 100 | * Added expander reduced functionality data to SAS |
101 | * Expander Page 0. | 101 | * Expander Page 0. |
102 | * Added SAS PHY Page 2 and SAS PHY Page 3. | 102 | * Added SAS PHY Page 2 and SAS PHY Page 3. |
103 | * 07-30-09 02.00.12 Added IO Unit Page 7. | ||
104 | * Added new device ids. | ||
105 | * Added SAS IO Unit Page 5. | ||
106 | * Added partial and slumber power management capable flags | ||
107 | * to SAS Device Page 0 Flags field. | ||
108 | * Added PhyInfo defines for power condition. | ||
109 | * Added Ethernet configuration pages. | ||
110 | * 10-28-09 02.00.13 Added MPI2_IOUNITPAGE1_ENABLE_HOST_BASED_DISCOVERY. | ||
111 | * Added SAS PHY Page 4 structure and defines. | ||
103 | * -------------------------------------------------------------------------- | 112 | * -------------------------------------------------------------------------- |
104 | */ | 113 | */ |
105 | 114 | ||
@@ -182,6 +191,7 @@ typedef union _MPI2_CONFIG_EXT_PAGE_HEADER_UNION | |||
182 | #define MPI2_CONFIG_EXTPAGETYPE_RAID_CONFIG (0x16) | 191 | #define MPI2_CONFIG_EXTPAGETYPE_RAID_CONFIG (0x16) |
183 | #define MPI2_CONFIG_EXTPAGETYPE_DRIVER_MAPPING (0x17) | 192 | #define MPI2_CONFIG_EXTPAGETYPE_DRIVER_MAPPING (0x17) |
184 | #define MPI2_CONFIG_EXTPAGETYPE_SAS_PORT (0x18) | 193 | #define MPI2_CONFIG_EXTPAGETYPE_SAS_PORT (0x18) |
194 | #define MPI2_CONFIG_EXTPAGETYPE_ETHERNET (0x19) | ||
185 | 195 | ||
186 | 196 | ||
187 | /***************************************************************************** | 197 | /***************************************************************************** |
@@ -268,6 +278,14 @@ typedef union _MPI2_CONFIG_EXT_PAGE_HEADER_UNION | |||
268 | #define MPI2_DPM_PGAD_START_ENTRY_MASK (0x0000FFFF) | 278 | #define MPI2_DPM_PGAD_START_ENTRY_MASK (0x0000FFFF) |
269 | 279 | ||
270 | 280 | ||
281 | /* Ethernet PageAddress format */ | ||
282 | #define MPI2_ETHERNET_PGAD_FORM_MASK (0xF0000000) | ||
283 | #define MPI2_ETHERNET_PGAD_FORM_IF_NUM (0x00000000) | ||
284 | |||
285 | #define MPI2_ETHERNET_PGAD_IF_NUMBER_MASK (0x000000FF) | ||
286 | |||
287 | |||
288 | |||
271 | /**************************************************************************** | 289 | /**************************************************************************** |
272 | * Configuration messages | 290 | * Configuration messages |
273 | ****************************************************************************/ | 291 | ****************************************************************************/ |
@@ -349,6 +367,15 @@ typedef struct _MPI2_CONFIG_REPLY | |||
349 | #define MPI2_MFGPAGE_DEVID_SAS2116_1 (0x0064) | 367 | #define MPI2_MFGPAGE_DEVID_SAS2116_1 (0x0064) |
350 | #define MPI2_MFGPAGE_DEVID_SAS2116_2 (0x0065) | 368 | #define MPI2_MFGPAGE_DEVID_SAS2116_2 (0x0065) |
351 | 369 | ||
370 | #define MPI2_MFGPAGE_DEVID_SAS2208_1 (0x0080) | ||
371 | #define MPI2_MFGPAGE_DEVID_SAS2208_2 (0x0081) | ||
372 | #define MPI2_MFGPAGE_DEVID_SAS2208_3 (0x0082) | ||
373 | #define MPI2_MFGPAGE_DEVID_SAS2208_4 (0x0083) | ||
374 | #define MPI2_MFGPAGE_DEVID_SAS2208_5 (0x0084) | ||
375 | #define MPI2_MFGPAGE_DEVID_SAS2208_6 (0x0085) | ||
376 | #define MPI2_MFGPAGE_DEVID_SAS2208_7 (0x0086) | ||
377 | #define MPI2_MFGPAGE_DEVID_SAS2208_8 (0x0087) | ||
378 | |||
352 | 379 | ||
353 | /* Manufacturing Page 0 */ | 380 | /* Manufacturing Page 0 */ |
354 | 381 | ||
@@ -687,6 +714,7 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_1 | |||
687 | #define MPI2_IOUNITPAGE1_PAGEVERSION (0x04) | 714 | #define MPI2_IOUNITPAGE1_PAGEVERSION (0x04) |
688 | 715 | ||
689 | /* IO Unit Page 1 Flags defines */ | 716 | /* IO Unit Page 1 Flags defines */ |
717 | #define MPI2_IOUNITPAGE1_ENABLE_HOST_BASED_DISCOVERY (0x00000800) | ||
690 | #define MPI2_IOUNITPAGE1_MASK_SATA_WRITE_CACHE (0x00000600) | 718 | #define MPI2_IOUNITPAGE1_MASK_SATA_WRITE_CACHE (0x00000600) |
691 | #define MPI2_IOUNITPAGE1_ENABLE_SATA_WRITE_CACHE (0x00000000) | 719 | #define MPI2_IOUNITPAGE1_ENABLE_SATA_WRITE_CACHE (0x00000000) |
692 | #define MPI2_IOUNITPAGE1_DISABLE_SATA_WRITE_CACHE (0x00000200) | 720 | #define MPI2_IOUNITPAGE1_DISABLE_SATA_WRITE_CACHE (0x00000200) |
@@ -787,6 +815,56 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_6 { | |||
787 | #define MPI2_IOUNITPAGE6_FLAGS_ENABLE_RAID_ACCELERATOR (0x0001) | 815 | #define MPI2_IOUNITPAGE6_FLAGS_ENABLE_RAID_ACCELERATOR (0x0001) |
788 | 816 | ||
789 | 817 | ||
818 | /* IO Unit Page 7 */ | ||
819 | |||
820 | typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 { | ||
821 | MPI2_CONFIG_PAGE_HEADER Header; /* 0x00 */ | ||
822 | U16 Reserved1; /* 0x04 */ | ||
823 | U8 PCIeWidth; /* 0x06 */ | ||
824 | U8 PCIeSpeed; /* 0x07 */ | ||
825 | U32 ProcessorState; /* 0x08 */ | ||
826 | U32 Reserved2; /* 0x0C */ | ||
827 | U16 IOCTemperature; /* 0x10 */ | ||
828 | U8 IOCTemperatureUnits; /* 0x12 */ | ||
829 | U8 IOCSpeed; /* 0x13 */ | ||
830 | U32 Reserved3; /* 0x14 */ | ||
831 | } MPI2_CONFIG_PAGE_IO_UNIT_7, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_IO_UNIT_7, | ||
832 | Mpi2IOUnitPage7_t, MPI2_POINTER pMpi2IOUnitPage7_t; | ||
833 | |||
834 | #define MPI2_IOUNITPAGE7_PAGEVERSION (0x00) | ||
835 | |||
836 | /* defines for IO Unit Page 7 PCIeWidth field */ | ||
837 | #define MPI2_IOUNITPAGE7_PCIE_WIDTH_X1 (0x01) | ||
838 | #define MPI2_IOUNITPAGE7_PCIE_WIDTH_X2 (0x02) | ||
839 | #define MPI2_IOUNITPAGE7_PCIE_WIDTH_X4 (0x04) | ||
840 | #define MPI2_IOUNITPAGE7_PCIE_WIDTH_X8 (0x08) | ||
841 | |||
842 | /* defines for IO Unit Page 7 PCIeSpeed field */ | ||
843 | #define MPI2_IOUNITPAGE7_PCIE_SPEED_2_5_GBPS (0x00) | ||
844 | #define MPI2_IOUNITPAGE7_PCIE_SPEED_5_0_GBPS (0x01) | ||
845 | #define MPI2_IOUNITPAGE7_PCIE_SPEED_8_0_GBPS (0x02) | ||
846 | |||
847 | /* defines for IO Unit Page 7 ProcessorState field */ | ||
848 | #define MPI2_IOUNITPAGE7_PSTATE_MASK_SECOND (0x0000000F) | ||
849 | #define MPI2_IOUNITPAGE7_PSTATE_SHIFT_SECOND (0) | ||
850 | |||
851 | #define MPI2_IOUNITPAGE7_PSTATE_NOT_PRESENT (0x00) | ||
852 | #define MPI2_IOUNITPAGE7_PSTATE_DISABLED (0x01) | ||
853 | #define MPI2_IOUNITPAGE7_PSTATE_ENABLED (0x02) | ||
854 | |||
855 | /* defines for IO Unit Page 7 IOCTemperatureUnits field */ | ||
856 | #define MPI2_IOUNITPAGE7_IOC_TEMP_NOT_PRESENT (0x00) | ||
857 | #define MPI2_IOUNITPAGE7_IOC_TEMP_FAHRENHEIT (0x01) | ||
858 | #define MPI2_IOUNITPAGE7_IOC_TEMP_CELSIUS (0x02) | ||
859 | |||
860 | /* defines for IO Unit Page 7 IOCSpeed field */ | ||
861 | #define MPI2_IOUNITPAGE7_IOC_SPEED_FULL (0x01) | ||
862 | #define MPI2_IOUNITPAGE7_IOC_SPEED_HALF (0x02) | ||
863 | #define MPI2_IOUNITPAGE7_IOC_SPEED_QUARTER (0x04) | ||
864 | #define MPI2_IOUNITPAGE7_IOC_SPEED_EIGHTH (0x08) | ||
865 | |||
866 | |||
867 | |||
790 | /**************************************************************************** | 868 | /**************************************************************************** |
791 | * IOC Config Pages | 869 | * IOC Config Pages |
792 | ****************************************************************************/ | 870 | ****************************************************************************/ |
@@ -1470,6 +1548,12 @@ typedef struct _MPI2_CONFIG_PAGE_RD_PDISK_1 | |||
1470 | 1548 | ||
1471 | /* values for PhyInfo fields */ | 1549 | /* values for PhyInfo fields */ |
1472 | #define MPI2_SAS_PHYINFO_PHY_VACANT (0x80000000) | 1550 | #define MPI2_SAS_PHYINFO_PHY_VACANT (0x80000000) |
1551 | |||
1552 | #define MPI2_SAS_PHYINFO_PHY_POWER_CONDITION_MASK (0x18000000) | ||
1553 | #define MPI2_SAS_PHYINFO_PHY_POWER_ACTIVE (0x00000000) | ||
1554 | #define MPI2_SAS_PHYINFO_PHY_POWER_PARTIAL (0x08000000) | ||
1555 | #define MPI2_SAS_PHYINFO_PHY_POWER_SLUMBER (0x10000000) | ||
1556 | |||
1473 | #define MPI2_SAS_PHYINFO_CHANGED_REQ_INSIDE_ZPSDS (0x04000000) | 1557 | #define MPI2_SAS_PHYINFO_CHANGED_REQ_INSIDE_ZPSDS (0x04000000) |
1474 | #define MPI2_SAS_PHYINFO_INSIDE_ZPSDS_PERSISTENT (0x02000000) | 1558 | #define MPI2_SAS_PHYINFO_INSIDE_ZPSDS_PERSISTENT (0x02000000) |
1475 | #define MPI2_SAS_PHYINFO_REQ_INSIDE_ZPSDS (0x01000000) | 1559 | #define MPI2_SAS_PHYINFO_REQ_INSIDE_ZPSDS (0x01000000) |
@@ -1682,11 +1766,11 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_1 | |||
1682 | /* values for SAS IO Unit Page 1 PortFlags */ | 1766 | /* values for SAS IO Unit Page 1 PortFlags */ |
1683 | #define MPI2_SASIOUNIT1_PORT_FLAGS_AUTO_PORT_CONFIG (0x01) | 1767 | #define MPI2_SASIOUNIT1_PORT_FLAGS_AUTO_PORT_CONFIG (0x01) |
1684 | 1768 | ||
1685 | /* values for SAS IO Unit Page 2 PhyFlags */ | 1769 | /* values for SAS IO Unit Page 1 PhyFlags */ |
1686 | #define MPI2_SASIOUNIT1_PHYFLAGS_ZONING_ENABLE (0x10) | 1770 | #define MPI2_SASIOUNIT1_PHYFLAGS_ZONING_ENABLE (0x10) |
1687 | #define MPI2_SASIOUNIT1_PHYFLAGS_PHY_DISABLE (0x08) | 1771 | #define MPI2_SASIOUNIT1_PHYFLAGS_PHY_DISABLE (0x08) |
1688 | 1772 | ||
1689 | /* values for SAS IO Unit Page 0 MaxMinLinkRate */ | 1773 | /* values for SAS IO Unit Page 1 MaxMinLinkRate */ |
1690 | #define MPI2_SASIOUNIT1_MAX_RATE_MASK (0xF0) | 1774 | #define MPI2_SASIOUNIT1_MAX_RATE_MASK (0xF0) |
1691 | #define MPI2_SASIOUNIT1_MAX_RATE_1_5 (0x80) | 1775 | #define MPI2_SASIOUNIT1_MAX_RATE_1_5 (0x80) |
1692 | #define MPI2_SASIOUNIT1_MAX_RATE_3_0 (0x90) | 1776 | #define MPI2_SASIOUNIT1_MAX_RATE_3_0 (0x90) |
@@ -1745,6 +1829,74 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_4 | |||
1745 | #define MPI2_SASIOUNIT4_PHY_SPINUP_GROUP_MASK (0x03) | 1829 | #define MPI2_SASIOUNIT4_PHY_SPINUP_GROUP_MASK (0x03) |
1746 | 1830 | ||
1747 | 1831 | ||
1832 | /* SAS IO Unit Page 5 */ | ||
1833 | |||
1834 | typedef struct _MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS { | ||
1835 | U8 ControlFlags; /* 0x00 */ | ||
1836 | U8 Reserved1; /* 0x01 */ | ||
1837 | U16 InactivityTimerExponent; /* 0x02 */ | ||
1838 | U8 SATAPartialTimeout; /* 0x04 */ | ||
1839 | U8 Reserved2; /* 0x05 */ | ||
1840 | U8 SATASlumberTimeout; /* 0x06 */ | ||
1841 | U8 Reserved3; /* 0x07 */ | ||
1842 | U8 SASPartialTimeout; /* 0x08 */ | ||
1843 | U8 Reserved4; /* 0x09 */ | ||
1844 | U8 SASSlumberTimeout; /* 0x0A */ | ||
1845 | U8 Reserved5; /* 0x0B */ | ||
1846 | } MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS, | ||
1847 | MPI2_POINTER PTR_MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS, | ||
1848 | Mpi2SasIOUnit5PhyPmSettings_t, MPI2_POINTER pMpi2SasIOUnit5PhyPmSettings_t; | ||
1849 | |||
1850 | /* defines for ControlFlags field */ | ||
1851 | #define MPI2_SASIOUNIT5_CONTROL_SAS_SLUMBER_ENABLE (0x08) | ||
1852 | #define MPI2_SASIOUNIT5_CONTROL_SAS_PARTIAL_ENABLE (0x04) | ||
1853 | #define MPI2_SASIOUNIT5_CONTROL_SATA_SLUMBER_ENABLE (0x02) | ||
1854 | #define MPI2_SASIOUNIT5_CONTROL_SATA_PARTIAL_ENABLE (0x01) | ||
1855 | |||
1856 | /* defines for InactivityTimerExponent field */ | ||
1857 | #define MPI2_SASIOUNIT5_ITE_MASK_SAS_SLUMBER (0x7000) | ||
1858 | #define MPI2_SASIOUNIT5_ITE_SHIFT_SAS_SLUMBER (12) | ||
1859 | #define MPI2_SASIOUNIT5_ITE_MASK_SAS_PARTIAL (0x0700) | ||
1860 | #define MPI2_SASIOUNIT5_ITE_SHIFT_SAS_PARTIAL (8) | ||
1861 | #define MPI2_SASIOUNIT5_ITE_MASK_SATA_SLUMBER (0x0070) | ||
1862 | #define MPI2_SASIOUNIT5_ITE_SHIFT_SATA_SLUMBER (4) | ||
1863 | #define MPI2_SASIOUNIT5_ITE_MASK_SATA_PARTIAL (0x0007) | ||
1864 | #define MPI2_SASIOUNIT5_ITE_SHIFT_SATA_PARTIAL (0) | ||
1865 | |||
1866 | #define MPI2_SASIOUNIT5_ITE_TEN_SECONDS (7) | ||
1867 | #define MPI2_SASIOUNIT5_ITE_ONE_SECOND (6) | ||
1868 | #define MPI2_SASIOUNIT5_ITE_HUNDRED_MILLISECONDS (5) | ||
1869 | #define MPI2_SASIOUNIT5_ITE_TEN_MILLISECONDS (4) | ||
1870 | #define MPI2_SASIOUNIT5_ITE_ONE_MILLISECOND (3) | ||
1871 | #define MPI2_SASIOUNIT5_ITE_HUNDRED_MICROSECONDS (2) | ||
1872 | #define MPI2_SASIOUNIT5_ITE_TEN_MICROSECONDS (1) | ||
1873 | #define MPI2_SASIOUNIT5_ITE_ONE_MICROSECOND (0) | ||
1874 | |||
1875 | /* | ||
1876 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | ||
1877 | * one and check Header.ExtPageLength or NumPhys at runtime. | ||
1878 | */ | ||
1879 | #ifndef MPI2_SAS_IOUNIT5_PHY_MAX | ||
1880 | #define MPI2_SAS_IOUNIT5_PHY_MAX (1) | ||
1881 | #endif | ||
1882 | |||
1883 | typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_5 { | ||
1884 | MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */ | ||
1885 | U8 NumPhys; /* 0x08 */ | ||
1886 | U8 Reserved1; /* 0x09 */ | ||
1887 | U16 Reserved2; /* 0x0A */ | ||
1888 | U32 Reserved3; /* 0x0C */ | ||
1889 | MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS SASPhyPowerManagementSettings | ||
1890 | [MPI2_SAS_IOUNIT5_PHY_MAX]; /* 0x10 */ | ||
1891 | } MPI2_CONFIG_PAGE_SASIOUNIT_5, | ||
1892 | MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SASIOUNIT_5, | ||
1893 | Mpi2SasIOUnitPage5_t, MPI2_POINTER pMpi2SasIOUnitPage5_t; | ||
1894 | |||
1895 | #define MPI2_SASIOUNITPAGE5_PAGEVERSION (0x00) | ||
1896 | |||
1897 | |||
1898 | |||
1899 | |||
1748 | /**************************************************************************** | 1900 | /**************************************************************************** |
1749 | * SAS Expander Config Pages | 1901 | * SAS Expander Config Pages |
1750 | ****************************************************************************/ | 1902 | ****************************************************************************/ |
@@ -1927,6 +2079,8 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_DEV_0 | |||
1927 | /* see mpi2_sas.h for values for SAS Device Page 0 DeviceInfo values */ | 2079 | /* see mpi2_sas.h for values for SAS Device Page 0 DeviceInfo values */ |
1928 | 2080 | ||
1929 | /* values for SAS Device Page 0 Flags field */ | 2081 | /* values for SAS Device Page 0 Flags field */ |
2082 | #define MPI2_SAS_DEVICE0_FLAGS_SLUMBER_PM_CAPABLE (0x1000) | ||
2083 | #define MPI2_SAS_DEVICE0_FLAGS_PARTIAL_PM_CAPABLE (0x0800) | ||
1930 | #define MPI2_SAS_DEVICE0_FLAGS_SATA_ASYNCHRONOUS_NOTIFY (0x0400) | 2084 | #define MPI2_SAS_DEVICE0_FLAGS_SATA_ASYNCHRONOUS_NOTIFY (0x0400) |
1931 | #define MPI2_SAS_DEVICE0_FLAGS_SATA_SW_PRESERVE (0x0200) | 2085 | #define MPI2_SAS_DEVICE0_FLAGS_SATA_SW_PRESERVE (0x0200) |
1932 | #define MPI2_SAS_DEVICE0_FLAGS_UNSUPPORTED_DEVICE (0x0100) | 2086 | #define MPI2_SAS_DEVICE0_FLAGS_UNSUPPORTED_DEVICE (0x0100) |
@@ -2140,6 +2294,26 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_PHY_3 { | |||
2140 | #define MPI2_SASPHY3_PAGEVERSION (0x00) | 2294 | #define MPI2_SASPHY3_PAGEVERSION (0x00) |
2141 | 2295 | ||
2142 | 2296 | ||
2297 | /* SAS PHY Page 4 */ | ||
2298 | |||
2299 | typedef struct _MPI2_CONFIG_PAGE_SAS_PHY_4 { | ||
2300 | MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */ | ||
2301 | U16 Reserved1; /* 0x08 */ | ||
2302 | U8 Reserved2; /* 0x0A */ | ||
2303 | U8 Flags; /* 0x0B */ | ||
2304 | U8 InitialFrame[28]; /* 0x0C */ | ||
2305 | } MPI2_CONFIG_PAGE_SAS_PHY_4, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SAS_PHY_4, | ||
2306 | Mpi2SasPhyPage4_t, MPI2_POINTER pMpi2SasPhyPage4_t; | ||
2307 | |||
2308 | #define MPI2_SASPHY4_PAGEVERSION (0x00) | ||
2309 | |||
2310 | /* values for the Flags field */ | ||
2311 | #define MPI2_SASPHY4_FLAGS_FRAME_VALID (0x02) | ||
2312 | #define MPI2_SASPHY4_FLAGS_SATA_FRAME (0x01) | ||
2313 | |||
2314 | |||
2315 | |||
2316 | |||
2143 | /**************************************************************************** | 2317 | /**************************************************************************** |
2144 | * SAS Port Config Pages | 2318 | * SAS Port Config Pages |
2145 | ****************************************************************************/ | 2319 | ****************************************************************************/ |
@@ -2343,5 +2517,122 @@ typedef struct _MPI2_CONFIG_PAGE_DRIVER_MAPPING_0 | |||
2343 | #define MPI2_DRVMAP0_MAPINFO_MISSING_MASK (0x000F) | 2517 | #define MPI2_DRVMAP0_MAPINFO_MISSING_MASK (0x000F) |
2344 | 2518 | ||
2345 | 2519 | ||
2520 | /**************************************************************************** | ||
2521 | * Ethernet Config Pages | ||
2522 | ****************************************************************************/ | ||
2523 | |||
2524 | /* Ethernet Page 0 */ | ||
2525 | |||
2526 | /* IP address (union of IPv4 and IPv6) */ | ||
2527 | typedef union _MPI2_ETHERNET_IP_ADDR { | ||
2528 | U32 IPv4Addr; | ||
2529 | U32 IPv6Addr[4]; | ||
2530 | } MPI2_ETHERNET_IP_ADDR, MPI2_POINTER PTR_MPI2_ETHERNET_IP_ADDR, | ||
2531 | Mpi2EthernetIpAddr_t, MPI2_POINTER pMpi2EthernetIpAddr_t; | ||
2532 | |||
2533 | #define MPI2_ETHERNET_HOST_NAME_LENGTH (32) | ||
2534 | |||
2535 | typedef struct _MPI2_CONFIG_PAGE_ETHERNET_0 { | ||
2536 | MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */ | ||
2537 | U8 NumInterfaces; /* 0x08 */ | ||
2538 | U8 Reserved0; /* 0x09 */ | ||
2539 | U16 Reserved1; /* 0x0A */ | ||
2540 | U32 Status; /* 0x0C */ | ||
2541 | U8 MediaState; /* 0x10 */ | ||
2542 | U8 Reserved2; /* 0x11 */ | ||
2543 | U16 Reserved3; /* 0x12 */ | ||
2544 | U8 MacAddress[6]; /* 0x14 */ | ||
2545 | U8 Reserved4; /* 0x1A */ | ||
2546 | U8 Reserved5; /* 0x1B */ | ||
2547 | MPI2_ETHERNET_IP_ADDR IpAddress; /* 0x1C */ | ||
2548 | MPI2_ETHERNET_IP_ADDR SubnetMask; /* 0x2C */ | ||
2549 | MPI2_ETHERNET_IP_ADDR GatewayIpAddress; /* 0x3C */ | ||
2550 | MPI2_ETHERNET_IP_ADDR DNS1IpAddress; /* 0x4C */ | ||
2551 | MPI2_ETHERNET_IP_ADDR DNS2IpAddress; /* 0x5C */ | ||
2552 | MPI2_ETHERNET_IP_ADDR DhcpIpAddress; /* 0x6C */ | ||
2553 | U8 HostName | ||
2554 | [MPI2_ETHERNET_HOST_NAME_LENGTH];/* 0x7C */ | ||
2555 | } MPI2_CONFIG_PAGE_ETHERNET_0, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_ETHERNET_0, | ||
2556 | Mpi2EthernetPage0_t, MPI2_POINTER pMpi2EthernetPage0_t; | ||
2557 | |||
2558 | #define MPI2_ETHERNETPAGE0_PAGEVERSION (0x00) | ||
2559 | |||
2560 | /* values for Ethernet Page 0 Status field */ | ||
2561 | #define MPI2_ETHPG0_STATUS_IPV6_CAPABLE (0x80000000) | ||
2562 | #define MPI2_ETHPG0_STATUS_IPV4_CAPABLE (0x40000000) | ||
2563 | #define MPI2_ETHPG0_STATUS_CONSOLE_CONNECTED (0x20000000) | ||
2564 | #define MPI2_ETHPG0_STATUS_DEFAULT_IF (0x00000100) | ||
2565 | #define MPI2_ETHPG0_STATUS_FW_DWNLD_ENABLED (0x00000080) | ||
2566 | #define MPI2_ETHPG0_STATUS_TELNET_ENABLED (0x00000040) | ||
2567 | #define MPI2_ETHPG0_STATUS_SSH2_ENABLED (0x00000020) | ||
2568 | #define MPI2_ETHPG0_STATUS_DHCP_CLIENT_ENABLED (0x00000010) | ||
2569 | #define MPI2_ETHPG0_STATUS_IPV6_ENABLED (0x00000008) | ||
2570 | #define MPI2_ETHPG0_STATUS_IPV4_ENABLED (0x00000004) | ||
2571 | #define MPI2_ETHPG0_STATUS_IPV6_ADDRESSES (0x00000002) | ||
2572 | #define MPI2_ETHPG0_STATUS_ETH_IF_ENABLED (0x00000001) | ||
2573 | |||
2574 | /* values for Ethernet Page 0 MediaState field */ | ||
2575 | #define MPI2_ETHPG0_MS_DUPLEX_MASK (0x80) | ||
2576 | #define MPI2_ETHPG0_MS_HALF_DUPLEX (0x00) | ||
2577 | #define MPI2_ETHPG0_MS_FULL_DUPLEX (0x80) | ||
2578 | |||
2579 | #define MPI2_ETHPG0_MS_CONNECT_SPEED_MASK (0x07) | ||
2580 | #define MPI2_ETHPG0_MS_NOT_CONNECTED (0x00) | ||
2581 | #define MPI2_ETHPG0_MS_10MBIT (0x01) | ||
2582 | #define MPI2_ETHPG0_MS_100MBIT (0x02) | ||
2583 | #define MPI2_ETHPG0_MS_1GBIT (0x03) | ||
2584 | |||
2585 | |||
2586 | /* Ethernet Page 1 */ | ||
2587 | |||
2588 | typedef struct _MPI2_CONFIG_PAGE_ETHERNET_1 { | ||
2589 | MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */ | ||
2590 | U32 Reserved0; /* 0x08 */ | ||
2591 | U32 Flags; /* 0x0C */ | ||
2592 | U8 MediaState; /* 0x10 */ | ||
2593 | U8 Reserved1; /* 0x11 */ | ||
2594 | U16 Reserved2; /* 0x12 */ | ||
2595 | U8 MacAddress[6]; /* 0x14 */ | ||
2596 | U8 Reserved3; /* 0x1A */ | ||
2597 | U8 Reserved4; /* 0x1B */ | ||
2598 | MPI2_ETHERNET_IP_ADDR StaticIpAddress; /* 0x1C */ | ||
2599 | MPI2_ETHERNET_IP_ADDR StaticSubnetMask; /* 0x2C */ | ||
2600 | MPI2_ETHERNET_IP_ADDR StaticGatewayIpAddress; /* 0x3C */ | ||
2601 | MPI2_ETHERNET_IP_ADDR StaticDNS1IpAddress; /* 0x4C */ | ||
2602 | MPI2_ETHERNET_IP_ADDR StaticDNS2IpAddress; /* 0x5C */ | ||
2603 | U32 Reserved5; /* 0x6C */ | ||
2604 | U32 Reserved6; /* 0x70 */ | ||
2605 | U32 Reserved7; /* 0x74 */ | ||
2606 | U32 Reserved8; /* 0x78 */ | ||
2607 | U8 HostName | ||
2608 | [MPI2_ETHERNET_HOST_NAME_LENGTH];/* 0x7C */ | ||
2609 | } MPI2_CONFIG_PAGE_ETHERNET_1, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_ETHERNET_1, | ||
2610 | Mpi2EthernetPage1_t, MPI2_POINTER pMpi2EthernetPage1_t; | ||
2611 | |||
2612 | #define MPI2_ETHERNETPAGE1_PAGEVERSION (0x00) | ||
2613 | |||
2614 | /* values for Ethernet Page 1 Flags field */ | ||
2615 | #define MPI2_ETHPG1_FLAG_SET_DEFAULT_IF (0x00000100) | ||
2616 | #define MPI2_ETHPG1_FLAG_ENABLE_FW_DOWNLOAD (0x00000080) | ||
2617 | #define MPI2_ETHPG1_FLAG_ENABLE_TELNET (0x00000040) | ||
2618 | #define MPI2_ETHPG1_FLAG_ENABLE_SSH2 (0x00000020) | ||
2619 | #define MPI2_ETHPG1_FLAG_ENABLE_DHCP_CLIENT (0x00000010) | ||
2620 | #define MPI2_ETHPG1_FLAG_ENABLE_IPV6 (0x00000008) | ||
2621 | #define MPI2_ETHPG1_FLAG_ENABLE_IPV4 (0x00000004) | ||
2622 | #define MPI2_ETHPG1_FLAG_USE_IPV6_ADDRESSES (0x00000002) | ||
2623 | #define MPI2_ETHPG1_FLAG_ENABLE_ETH_IF (0x00000001) | ||
2624 | |||
2625 | /* values for Ethernet Page 1 MediaState field */ | ||
2626 | #define MPI2_ETHPG1_MS_DUPLEX_MASK (0x80) | ||
2627 | #define MPI2_ETHPG1_MS_HALF_DUPLEX (0x00) | ||
2628 | #define MPI2_ETHPG1_MS_FULL_DUPLEX (0x80) | ||
2629 | |||
2630 | #define MPI2_ETHPG1_MS_DATA_RATE_MASK (0x07) | ||
2631 | #define MPI2_ETHPG1_MS_DATA_RATE_AUTO (0x00) | ||
2632 | #define MPI2_ETHPG1_MS_DATA_RATE_10MBIT (0x01) | ||
2633 | #define MPI2_ETHPG1_MS_DATA_RATE_100MBIT (0x02) | ||
2634 | #define MPI2_ETHPG1_MS_DATA_RATE_1GBIT (0x03) | ||
2635 | |||
2636 | |||
2346 | #endif | 2637 | #endif |
2347 | 2638 | ||