aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h')
-rw-r--r--drivers/scsi/mpt2sas/mpi/mpi2_cnfg.h297
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
820typedef 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
1834typedef 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
1883typedef 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
2299typedef 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) */
2527typedef 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
2535typedef 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
2588typedef 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