diff options
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h')
-rw-r--r-- | drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h | 274 |
1 files changed, 271 insertions, 3 deletions
diff --git a/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h b/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h index ab47c4679640..1611c57a6fdf 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.12 |
10 | * | 10 | * |
11 | * Version History | 11 | * Version History |
12 | * --------------- | 12 | * --------------- |
@@ -100,6 +100,13 @@ | |||
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. | ||
103 | * -------------------------------------------------------------------------- | 110 | * -------------------------------------------------------------------------- |
104 | */ | 111 | */ |
105 | 112 | ||
@@ -182,6 +189,7 @@ typedef union _MPI2_CONFIG_EXT_PAGE_HEADER_UNION | |||
182 | #define MPI2_CONFIG_EXTPAGETYPE_RAID_CONFIG (0x16) | 189 | #define MPI2_CONFIG_EXTPAGETYPE_RAID_CONFIG (0x16) |
183 | #define MPI2_CONFIG_EXTPAGETYPE_DRIVER_MAPPING (0x17) | 190 | #define MPI2_CONFIG_EXTPAGETYPE_DRIVER_MAPPING (0x17) |
184 | #define MPI2_CONFIG_EXTPAGETYPE_SAS_PORT (0x18) | 191 | #define MPI2_CONFIG_EXTPAGETYPE_SAS_PORT (0x18) |
192 | #define MPI2_CONFIG_EXTPAGETYPE_ETHERNET (0x19) | ||
185 | 193 | ||
186 | 194 | ||
187 | /***************************************************************************** | 195 | /***************************************************************************** |
@@ -268,6 +276,14 @@ typedef union _MPI2_CONFIG_EXT_PAGE_HEADER_UNION | |||
268 | #define MPI2_DPM_PGAD_START_ENTRY_MASK (0x0000FFFF) | 276 | #define MPI2_DPM_PGAD_START_ENTRY_MASK (0x0000FFFF) |
269 | 277 | ||
270 | 278 | ||
279 | /* Ethernet PageAddress format */ | ||
280 | #define MPI2_ETHERNET_PGAD_FORM_MASK (0xF0000000) | ||
281 | #define MPI2_ETHERNET_PGAD_FORM_IF_NUM (0x00000000) | ||
282 | |||
283 | #define MPI2_ETHERNET_PGAD_IF_NUMBER_MASK (0x000000FF) | ||
284 | |||
285 | |||
286 | |||
271 | /**************************************************************************** | 287 | /**************************************************************************** |
272 | * Configuration messages | 288 | * Configuration messages |
273 | ****************************************************************************/ | 289 | ****************************************************************************/ |
@@ -349,6 +365,15 @@ typedef struct _MPI2_CONFIG_REPLY | |||
349 | #define MPI2_MFGPAGE_DEVID_SAS2116_1 (0x0064) | 365 | #define MPI2_MFGPAGE_DEVID_SAS2116_1 (0x0064) |
350 | #define MPI2_MFGPAGE_DEVID_SAS2116_2 (0x0065) | 366 | #define MPI2_MFGPAGE_DEVID_SAS2116_2 (0x0065) |
351 | 367 | ||
368 | #define MPI2_MFGPAGE_DEVID_SAS2208_1 (0x0080) | ||
369 | #define MPI2_MFGPAGE_DEVID_SAS2208_2 (0x0081) | ||
370 | #define MPI2_MFGPAGE_DEVID_SAS2208_3 (0x0082) | ||
371 | #define MPI2_MFGPAGE_DEVID_SAS2208_4 (0x0083) | ||
372 | #define MPI2_MFGPAGE_DEVID_SAS2208_5 (0x0084) | ||
373 | #define MPI2_MFGPAGE_DEVID_SAS2208_6 (0x0085) | ||
374 | #define MPI2_MFGPAGE_DEVID_SAS2208_7 (0x0086) | ||
375 | #define MPI2_MFGPAGE_DEVID_SAS2208_8 (0x0087) | ||
376 | |||
352 | 377 | ||
353 | /* Manufacturing Page 0 */ | 378 | /* Manufacturing Page 0 */ |
354 | 379 | ||
@@ -787,6 +812,56 @@ typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_6 { | |||
787 | #define MPI2_IOUNITPAGE6_FLAGS_ENABLE_RAID_ACCELERATOR (0x0001) | 812 | #define MPI2_IOUNITPAGE6_FLAGS_ENABLE_RAID_ACCELERATOR (0x0001) |
788 | 813 | ||
789 | 814 | ||
815 | /* IO Unit Page 7 */ | ||
816 | |||
817 | typedef struct _MPI2_CONFIG_PAGE_IO_UNIT_7 { | ||
818 | MPI2_CONFIG_PAGE_HEADER Header; /* 0x00 */ | ||
819 | U16 Reserved1; /* 0x04 */ | ||
820 | U8 PCIeWidth; /* 0x06 */ | ||
821 | U8 PCIeSpeed; /* 0x07 */ | ||
822 | U32 ProcessorState; /* 0x08 */ | ||
823 | U32 Reserved2; /* 0x0C */ | ||
824 | U16 IOCTemperature; /* 0x10 */ | ||
825 | U8 IOCTemperatureUnits; /* 0x12 */ | ||
826 | U8 IOCSpeed; /* 0x13 */ | ||
827 | U32 Reserved3; /* 0x14 */ | ||
828 | } MPI2_CONFIG_PAGE_IO_UNIT_7, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_IO_UNIT_7, | ||
829 | Mpi2IOUnitPage7_t, MPI2_POINTER pMpi2IOUnitPage7_t; | ||
830 | |||
831 | #define MPI2_IOUNITPAGE7_PAGEVERSION (0x00) | ||
832 | |||
833 | /* defines for IO Unit Page 7 PCIeWidth field */ | ||
834 | #define MPI2_IOUNITPAGE7_PCIE_WIDTH_X1 (0x01) | ||
835 | #define MPI2_IOUNITPAGE7_PCIE_WIDTH_X2 (0x02) | ||
836 | #define MPI2_IOUNITPAGE7_PCIE_WIDTH_X4 (0x04) | ||
837 | #define MPI2_IOUNITPAGE7_PCIE_WIDTH_X8 (0x08) | ||
838 | |||
839 | /* defines for IO Unit Page 7 PCIeSpeed field */ | ||
840 | #define MPI2_IOUNITPAGE7_PCIE_SPEED_2_5_GBPS (0x00) | ||
841 | #define MPI2_IOUNITPAGE7_PCIE_SPEED_5_0_GBPS (0x01) | ||
842 | #define MPI2_IOUNITPAGE7_PCIE_SPEED_8_0_GBPS (0x02) | ||
843 | |||
844 | /* defines for IO Unit Page 7 ProcessorState field */ | ||
845 | #define MPI2_IOUNITPAGE7_PSTATE_MASK_SECOND (0x0000000F) | ||
846 | #define MPI2_IOUNITPAGE7_PSTATE_SHIFT_SECOND (0) | ||
847 | |||
848 | #define MPI2_IOUNITPAGE7_PSTATE_NOT_PRESENT (0x00) | ||
849 | #define MPI2_IOUNITPAGE7_PSTATE_DISABLED (0x01) | ||
850 | #define MPI2_IOUNITPAGE7_PSTATE_ENABLED (0x02) | ||
851 | |||
852 | /* defines for IO Unit Page 7 IOCTemperatureUnits field */ | ||
853 | #define MPI2_IOUNITPAGE7_IOC_TEMP_NOT_PRESENT (0x00) | ||
854 | #define MPI2_IOUNITPAGE7_IOC_TEMP_FAHRENHEIT (0x01) | ||
855 | #define MPI2_IOUNITPAGE7_IOC_TEMP_CELSIUS (0x02) | ||
856 | |||
857 | /* defines for IO Unit Page 7 IOCSpeed field */ | ||
858 | #define MPI2_IOUNITPAGE7_IOC_SPEED_FULL (0x01) | ||
859 | #define MPI2_IOUNITPAGE7_IOC_SPEED_HALF (0x02) | ||
860 | #define MPI2_IOUNITPAGE7_IOC_SPEED_QUARTER (0x04) | ||
861 | #define MPI2_IOUNITPAGE7_IOC_SPEED_EIGHTH (0x08) | ||
862 | |||
863 | |||
864 | |||
790 | /**************************************************************************** | 865 | /**************************************************************************** |
791 | * IOC Config Pages | 866 | * IOC Config Pages |
792 | ****************************************************************************/ | 867 | ****************************************************************************/ |
@@ -1470,6 +1545,12 @@ typedef struct _MPI2_CONFIG_PAGE_RD_PDISK_1 | |||
1470 | 1545 | ||
1471 | /* values for PhyInfo fields */ | 1546 | /* values for PhyInfo fields */ |
1472 | #define MPI2_SAS_PHYINFO_PHY_VACANT (0x80000000) | 1547 | #define MPI2_SAS_PHYINFO_PHY_VACANT (0x80000000) |
1548 | |||
1549 | #define MPI2_SAS_PHYINFO_PHY_POWER_CONDITION_MASK (0x18000000) | ||
1550 | #define MPI2_SAS_PHYINFO_PHY_POWER_ACTIVE (0x00000000) | ||
1551 | #define MPI2_SAS_PHYINFO_PHY_POWER_PARTIAL (0x08000000) | ||
1552 | #define MPI2_SAS_PHYINFO_PHY_POWER_SLUMBER (0x10000000) | ||
1553 | |||
1473 | #define MPI2_SAS_PHYINFO_CHANGED_REQ_INSIDE_ZPSDS (0x04000000) | 1554 | #define MPI2_SAS_PHYINFO_CHANGED_REQ_INSIDE_ZPSDS (0x04000000) |
1474 | #define MPI2_SAS_PHYINFO_INSIDE_ZPSDS_PERSISTENT (0x02000000) | 1555 | #define MPI2_SAS_PHYINFO_INSIDE_ZPSDS_PERSISTENT (0x02000000) |
1475 | #define MPI2_SAS_PHYINFO_REQ_INSIDE_ZPSDS (0x01000000) | 1556 | #define MPI2_SAS_PHYINFO_REQ_INSIDE_ZPSDS (0x01000000) |
@@ -1682,11 +1763,11 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_1 | |||
1682 | /* values for SAS IO Unit Page 1 PortFlags */ | 1763 | /* values for SAS IO Unit Page 1 PortFlags */ |
1683 | #define MPI2_SASIOUNIT1_PORT_FLAGS_AUTO_PORT_CONFIG (0x01) | 1764 | #define MPI2_SASIOUNIT1_PORT_FLAGS_AUTO_PORT_CONFIG (0x01) |
1684 | 1765 | ||
1685 | /* values for SAS IO Unit Page 2 PhyFlags */ | 1766 | /* values for SAS IO Unit Page 1 PhyFlags */ |
1686 | #define MPI2_SASIOUNIT1_PHYFLAGS_ZONING_ENABLE (0x10) | 1767 | #define MPI2_SASIOUNIT1_PHYFLAGS_ZONING_ENABLE (0x10) |
1687 | #define MPI2_SASIOUNIT1_PHYFLAGS_PHY_DISABLE (0x08) | 1768 | #define MPI2_SASIOUNIT1_PHYFLAGS_PHY_DISABLE (0x08) |
1688 | 1769 | ||
1689 | /* values for SAS IO Unit Page 0 MaxMinLinkRate */ | 1770 | /* values for SAS IO Unit Page 1 MaxMinLinkRate */ |
1690 | #define MPI2_SASIOUNIT1_MAX_RATE_MASK (0xF0) | 1771 | #define MPI2_SASIOUNIT1_MAX_RATE_MASK (0xF0) |
1691 | #define MPI2_SASIOUNIT1_MAX_RATE_1_5 (0x80) | 1772 | #define MPI2_SASIOUNIT1_MAX_RATE_1_5 (0x80) |
1692 | #define MPI2_SASIOUNIT1_MAX_RATE_3_0 (0x90) | 1773 | #define MPI2_SASIOUNIT1_MAX_RATE_3_0 (0x90) |
@@ -1745,6 +1826,74 @@ typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_4 | |||
1745 | #define MPI2_SASIOUNIT4_PHY_SPINUP_GROUP_MASK (0x03) | 1826 | #define MPI2_SASIOUNIT4_PHY_SPINUP_GROUP_MASK (0x03) |
1746 | 1827 | ||
1747 | 1828 | ||
1829 | /* SAS IO Unit Page 5 */ | ||
1830 | |||
1831 | typedef struct _MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS { | ||
1832 | U8 ControlFlags; /* 0x00 */ | ||
1833 | U8 Reserved1; /* 0x01 */ | ||
1834 | U16 InactivityTimerExponent; /* 0x02 */ | ||
1835 | U8 SATAPartialTimeout; /* 0x04 */ | ||
1836 | U8 Reserved2; /* 0x05 */ | ||
1837 | U8 SATASlumberTimeout; /* 0x06 */ | ||
1838 | U8 Reserved3; /* 0x07 */ | ||
1839 | U8 SASPartialTimeout; /* 0x08 */ | ||
1840 | U8 Reserved4; /* 0x09 */ | ||
1841 | U8 SASSlumberTimeout; /* 0x0A */ | ||
1842 | U8 Reserved5; /* 0x0B */ | ||
1843 | } MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS, | ||
1844 | MPI2_POINTER PTR_MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS, | ||
1845 | Mpi2SasIOUnit5PhyPmSettings_t, MPI2_POINTER pMpi2SasIOUnit5PhyPmSettings_t; | ||
1846 | |||
1847 | /* defines for ControlFlags field */ | ||
1848 | #define MPI2_SASIOUNIT5_CONTROL_SAS_SLUMBER_ENABLE (0x08) | ||
1849 | #define MPI2_SASIOUNIT5_CONTROL_SAS_PARTIAL_ENABLE (0x04) | ||
1850 | #define MPI2_SASIOUNIT5_CONTROL_SATA_SLUMBER_ENABLE (0x02) | ||
1851 | #define MPI2_SASIOUNIT5_CONTROL_SATA_PARTIAL_ENABLE (0x01) | ||
1852 | |||
1853 | /* defines for InactivityTimerExponent field */ | ||
1854 | #define MPI2_SASIOUNIT5_ITE_MASK_SAS_SLUMBER (0x7000) | ||
1855 | #define MPI2_SASIOUNIT5_ITE_SHIFT_SAS_SLUMBER (12) | ||
1856 | #define MPI2_SASIOUNIT5_ITE_MASK_SAS_PARTIAL (0x0700) | ||
1857 | #define MPI2_SASIOUNIT5_ITE_SHIFT_SAS_PARTIAL (8) | ||
1858 | #define MPI2_SASIOUNIT5_ITE_MASK_SATA_SLUMBER (0x0070) | ||
1859 | #define MPI2_SASIOUNIT5_ITE_SHIFT_SATA_SLUMBER (4) | ||
1860 | #define MPI2_SASIOUNIT5_ITE_MASK_SATA_PARTIAL (0x0007) | ||
1861 | #define MPI2_SASIOUNIT5_ITE_SHIFT_SATA_PARTIAL (0) | ||
1862 | |||
1863 | #define MPI2_SASIOUNIT5_ITE_TEN_SECONDS (7) | ||
1864 | #define MPI2_SASIOUNIT5_ITE_ONE_SECOND (6) | ||
1865 | #define MPI2_SASIOUNIT5_ITE_HUNDRED_MILLISECONDS (5) | ||
1866 | #define MPI2_SASIOUNIT5_ITE_TEN_MILLISECONDS (4) | ||
1867 | #define MPI2_SASIOUNIT5_ITE_ONE_MILLISECOND (3) | ||
1868 | #define MPI2_SASIOUNIT5_ITE_HUNDRED_MICROSECONDS (2) | ||
1869 | #define MPI2_SASIOUNIT5_ITE_TEN_MICROSECONDS (1) | ||
1870 | #define MPI2_SASIOUNIT5_ITE_ONE_MICROSECOND (0) | ||
1871 | |||
1872 | /* | ||
1873 | * Host code (drivers, BIOS, utilities, etc.) should leave this define set to | ||
1874 | * one and check Header.ExtPageLength or NumPhys at runtime. | ||
1875 | */ | ||
1876 | #ifndef MPI2_SAS_IOUNIT5_PHY_MAX | ||
1877 | #define MPI2_SAS_IOUNIT5_PHY_MAX (1) | ||
1878 | #endif | ||
1879 | |||
1880 | typedef struct _MPI2_CONFIG_PAGE_SASIOUNIT_5 { | ||
1881 | MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */ | ||
1882 | U8 NumPhys; /* 0x08 */ | ||
1883 | U8 Reserved1; /* 0x09 */ | ||
1884 | U16 Reserved2; /* 0x0A */ | ||
1885 | U32 Reserved3; /* 0x0C */ | ||
1886 | MPI2_SAS_IO_UNIT5_PHY_PM_SETTINGS SASPhyPowerManagementSettings | ||
1887 | [MPI2_SAS_IOUNIT5_PHY_MAX]; /* 0x10 */ | ||
1888 | } MPI2_CONFIG_PAGE_SASIOUNIT_5, | ||
1889 | MPI2_POINTER PTR_MPI2_CONFIG_PAGE_SASIOUNIT_5, | ||
1890 | Mpi2SasIOUnitPage5_t, MPI2_POINTER pMpi2SasIOUnitPage5_t; | ||
1891 | |||
1892 | #define MPI2_SASIOUNITPAGE5_PAGEVERSION (0x00) | ||
1893 | |||
1894 | |||
1895 | |||
1896 | |||
1748 | /**************************************************************************** | 1897 | /**************************************************************************** |
1749 | * SAS Expander Config Pages | 1898 | * SAS Expander Config Pages |
1750 | ****************************************************************************/ | 1899 | ****************************************************************************/ |
@@ -1927,6 +2076,8 @@ typedef struct _MPI2_CONFIG_PAGE_SAS_DEV_0 | |||
1927 | /* see mpi2_sas.h for values for SAS Device Page 0 DeviceInfo values */ | 2076 | /* see mpi2_sas.h for values for SAS Device Page 0 DeviceInfo values */ |
1928 | 2077 | ||
1929 | /* values for SAS Device Page 0 Flags field */ | 2078 | /* values for SAS Device Page 0 Flags field */ |
2079 | #define MPI2_SAS_DEVICE0_FLAGS_SLUMBER_PM_CAPABLE (0x1000) | ||
2080 | #define MPI2_SAS_DEVICE0_FLAGS_PARTIAL_PM_CAPABLE (0x0800) | ||
1930 | #define MPI2_SAS_DEVICE0_FLAGS_SATA_ASYNCHRONOUS_NOTIFY (0x0400) | 2081 | #define MPI2_SAS_DEVICE0_FLAGS_SATA_ASYNCHRONOUS_NOTIFY (0x0400) |
1931 | #define MPI2_SAS_DEVICE0_FLAGS_SATA_SW_PRESERVE (0x0200) | 2082 | #define MPI2_SAS_DEVICE0_FLAGS_SATA_SW_PRESERVE (0x0200) |
1932 | #define MPI2_SAS_DEVICE0_FLAGS_UNSUPPORTED_DEVICE (0x0100) | 2083 | #define MPI2_SAS_DEVICE0_FLAGS_UNSUPPORTED_DEVICE (0x0100) |
@@ -2343,5 +2494,122 @@ typedef struct _MPI2_CONFIG_PAGE_DRIVER_MAPPING_0 | |||
2343 | #define MPI2_DRVMAP0_MAPINFO_MISSING_MASK (0x000F) | 2494 | #define MPI2_DRVMAP0_MAPINFO_MISSING_MASK (0x000F) |
2344 | 2495 | ||
2345 | 2496 | ||
2497 | /**************************************************************************** | ||
2498 | * Ethernet Config Pages | ||
2499 | ****************************************************************************/ | ||
2500 | |||
2501 | /* Ethernet Page 0 */ | ||
2502 | |||
2503 | /* IP address (union of IPv4 and IPv6) */ | ||
2504 | typedef union _MPI2_ETHERNET_IP_ADDR { | ||
2505 | U32 IPv4Addr; | ||
2506 | U32 IPv6Addr[4]; | ||
2507 | } MPI2_ETHERNET_IP_ADDR, MPI2_POINTER PTR_MPI2_ETHERNET_IP_ADDR, | ||
2508 | Mpi2EthernetIpAddr_t, MPI2_POINTER pMpi2EthernetIpAddr_t; | ||
2509 | |||
2510 | #define MPI2_ETHERNET_HOST_NAME_LENGTH (32) | ||
2511 | |||
2512 | typedef struct _MPI2_CONFIG_PAGE_ETHERNET_0 { | ||
2513 | MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */ | ||
2514 | U8 NumInterfaces; /* 0x08 */ | ||
2515 | U8 Reserved0; /* 0x09 */ | ||
2516 | U16 Reserved1; /* 0x0A */ | ||
2517 | U32 Status; /* 0x0C */ | ||
2518 | U8 MediaState; /* 0x10 */ | ||
2519 | U8 Reserved2; /* 0x11 */ | ||
2520 | U16 Reserved3; /* 0x12 */ | ||
2521 | U8 MacAddress[6]; /* 0x14 */ | ||
2522 | U8 Reserved4; /* 0x1A */ | ||
2523 | U8 Reserved5; /* 0x1B */ | ||
2524 | MPI2_ETHERNET_IP_ADDR IpAddress; /* 0x1C */ | ||
2525 | MPI2_ETHERNET_IP_ADDR SubnetMask; /* 0x2C */ | ||
2526 | MPI2_ETHERNET_IP_ADDR GatewayIpAddress; /* 0x3C */ | ||
2527 | MPI2_ETHERNET_IP_ADDR DNS1IpAddress; /* 0x4C */ | ||
2528 | MPI2_ETHERNET_IP_ADDR DNS2IpAddress; /* 0x5C */ | ||
2529 | MPI2_ETHERNET_IP_ADDR DhcpIpAddress; /* 0x6C */ | ||
2530 | U8 HostName | ||
2531 | [MPI2_ETHERNET_HOST_NAME_LENGTH];/* 0x7C */ | ||
2532 | } MPI2_CONFIG_PAGE_ETHERNET_0, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_ETHERNET_0, | ||
2533 | Mpi2EthernetPage0_t, MPI2_POINTER pMpi2EthernetPage0_t; | ||
2534 | |||
2535 | #define MPI2_ETHERNETPAGE0_PAGEVERSION (0x00) | ||
2536 | |||
2537 | /* values for Ethernet Page 0 Status field */ | ||
2538 | #define MPI2_ETHPG0_STATUS_IPV6_CAPABLE (0x80000000) | ||
2539 | #define MPI2_ETHPG0_STATUS_IPV4_CAPABLE (0x40000000) | ||
2540 | #define MPI2_ETHPG0_STATUS_CONSOLE_CONNECTED (0x20000000) | ||
2541 | #define MPI2_ETHPG0_STATUS_DEFAULT_IF (0x00000100) | ||
2542 | #define MPI2_ETHPG0_STATUS_FW_DWNLD_ENABLED (0x00000080) | ||
2543 | #define MPI2_ETHPG0_STATUS_TELNET_ENABLED (0x00000040) | ||
2544 | #define MPI2_ETHPG0_STATUS_SSH2_ENABLED (0x00000020) | ||
2545 | #define MPI2_ETHPG0_STATUS_DHCP_CLIENT_ENABLED (0x00000010) | ||
2546 | #define MPI2_ETHPG0_STATUS_IPV6_ENABLED (0x00000008) | ||
2547 | #define MPI2_ETHPG0_STATUS_IPV4_ENABLED (0x00000004) | ||
2548 | #define MPI2_ETHPG0_STATUS_IPV6_ADDRESSES (0x00000002) | ||
2549 | #define MPI2_ETHPG0_STATUS_ETH_IF_ENABLED (0x00000001) | ||
2550 | |||
2551 | /* values for Ethernet Page 0 MediaState field */ | ||
2552 | #define MPI2_ETHPG0_MS_DUPLEX_MASK (0x80) | ||
2553 | #define MPI2_ETHPG0_MS_HALF_DUPLEX (0x00) | ||
2554 | #define MPI2_ETHPG0_MS_FULL_DUPLEX (0x80) | ||
2555 | |||
2556 | #define MPI2_ETHPG0_MS_CONNECT_SPEED_MASK (0x07) | ||
2557 | #define MPI2_ETHPG0_MS_NOT_CONNECTED (0x00) | ||
2558 | #define MPI2_ETHPG0_MS_10MBIT (0x01) | ||
2559 | #define MPI2_ETHPG0_MS_100MBIT (0x02) | ||
2560 | #define MPI2_ETHPG0_MS_1GBIT (0x03) | ||
2561 | |||
2562 | |||
2563 | /* Ethernet Page 1 */ | ||
2564 | |||
2565 | typedef struct _MPI2_CONFIG_PAGE_ETHERNET_1 { | ||
2566 | MPI2_CONFIG_EXTENDED_PAGE_HEADER Header; /* 0x00 */ | ||
2567 | U32 Reserved0; /* 0x08 */ | ||
2568 | U32 Flags; /* 0x0C */ | ||
2569 | U8 MediaState; /* 0x10 */ | ||
2570 | U8 Reserved1; /* 0x11 */ | ||
2571 | U16 Reserved2; /* 0x12 */ | ||
2572 | U8 MacAddress[6]; /* 0x14 */ | ||
2573 | U8 Reserved3; /* 0x1A */ | ||
2574 | U8 Reserved4; /* 0x1B */ | ||
2575 | MPI2_ETHERNET_IP_ADDR StaticIpAddress; /* 0x1C */ | ||
2576 | MPI2_ETHERNET_IP_ADDR StaticSubnetMask; /* 0x2C */ | ||
2577 | MPI2_ETHERNET_IP_ADDR StaticGatewayIpAddress; /* 0x3C */ | ||
2578 | MPI2_ETHERNET_IP_ADDR StaticDNS1IpAddress; /* 0x4C */ | ||
2579 | MPI2_ETHERNET_IP_ADDR StaticDNS2IpAddress; /* 0x5C */ | ||
2580 | U32 Reserved5; /* 0x6C */ | ||
2581 | U32 Reserved6; /* 0x70 */ | ||
2582 | U32 Reserved7; /* 0x74 */ | ||
2583 | U32 Reserved8; /* 0x78 */ | ||
2584 | U8 HostName | ||
2585 | [MPI2_ETHERNET_HOST_NAME_LENGTH];/* 0x7C */ | ||
2586 | } MPI2_CONFIG_PAGE_ETHERNET_1, MPI2_POINTER PTR_MPI2_CONFIG_PAGE_ETHERNET_1, | ||
2587 | Mpi2EthernetPage1_t, MPI2_POINTER pMpi2EthernetPage1_t; | ||
2588 | |||
2589 | #define MPI2_ETHERNETPAGE1_PAGEVERSION (0x00) | ||
2590 | |||
2591 | /* values for Ethernet Page 1 Flags field */ | ||
2592 | #define MPI2_ETHPG1_FLAG_SET_DEFAULT_IF (0x00000100) | ||
2593 | #define MPI2_ETHPG1_FLAG_ENABLE_FW_DOWNLOAD (0x00000080) | ||
2594 | #define MPI2_ETHPG1_FLAG_ENABLE_TELNET (0x00000040) | ||
2595 | #define MPI2_ETHPG1_FLAG_ENABLE_SSH2 (0x00000020) | ||
2596 | #define MPI2_ETHPG1_FLAG_ENABLE_DHCP_CLIENT (0x00000010) | ||
2597 | #define MPI2_ETHPG1_FLAG_ENABLE_IPV6 (0x00000008) | ||
2598 | #define MPI2_ETHPG1_FLAG_ENABLE_IPV4 (0x00000004) | ||
2599 | #define MPI2_ETHPG1_FLAG_USE_IPV6_ADDRESSES (0x00000002) | ||
2600 | #define MPI2_ETHPG1_FLAG_ENABLE_ETH_IF (0x00000001) | ||
2601 | |||
2602 | /* values for Ethernet Page 1 MediaState field */ | ||
2603 | #define MPI2_ETHPG1_MS_DUPLEX_MASK (0x80) | ||
2604 | #define MPI2_ETHPG1_MS_HALF_DUPLEX (0x00) | ||
2605 | #define MPI2_ETHPG1_MS_FULL_DUPLEX (0x80) | ||
2606 | |||
2607 | #define MPI2_ETHPG1_MS_DATA_RATE_MASK (0x07) | ||
2608 | #define MPI2_ETHPG1_MS_DATA_RATE_AUTO (0x00) | ||
2609 | #define MPI2_ETHPG1_MS_DATA_RATE_10MBIT (0x01) | ||
2610 | #define MPI2_ETHPG1_MS_DATA_RATE_100MBIT (0x02) | ||
2611 | #define MPI2_ETHPG1_MS_DATA_RATE_1GBIT (0x03) | ||
2612 | |||
2613 | |||
2346 | #endif | 2614 | #endif |
2347 | 2615 | ||