1e78b80b1SDavid Ertman /* Intel PRO/1000 Linux driver 2529498cdSYanir Lubetkin * Copyright(c) 1999 - 2015 Intel Corporation. 3e78b80b1SDavid Ertman * 4e78b80b1SDavid Ertman * This program is free software; you can redistribute it and/or modify it 5e78b80b1SDavid Ertman * under the terms and conditions of the GNU General Public License, 6e78b80b1SDavid Ertman * version 2, as published by the Free Software Foundation. 7e78b80b1SDavid Ertman * 8e78b80b1SDavid Ertman * This program is distributed in the hope it will be useful, but WITHOUT 9e78b80b1SDavid Ertman * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10e78b80b1SDavid Ertman * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11e78b80b1SDavid Ertman * more details. 12e78b80b1SDavid Ertman * 13e78b80b1SDavid Ertman * The full GNU General Public License is included in this distribution in 14e78b80b1SDavid Ertman * the file called "COPYING". 15e78b80b1SDavid Ertman * 16e78b80b1SDavid Ertman * Contact Information: 17e78b80b1SDavid Ertman * Linux NICS <linux.nics@intel.com> 18e78b80b1SDavid Ertman * e1000-devel Mailing List <e1000-devel@lists.sourceforge.net> 19e78b80b1SDavid Ertman * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 20e78b80b1SDavid Ertman */ 21f25701dfSBruce Allan 22f25701dfSBruce Allan #ifndef _E1000E_82571_H_ 23f25701dfSBruce Allan #define _E1000E_82571_H_ 24f25701dfSBruce Allan 25f25701dfSBruce Allan #define ID_LED_RESERVED_F746 0xF746 26f25701dfSBruce Allan #define ID_LED_DEFAULT_82573 ((ID_LED_DEF1_DEF2 << 12) | \ 27f25701dfSBruce Allan (ID_LED_OFF1_ON2 << 8) | \ 28f25701dfSBruce Allan (ID_LED_DEF1_DEF2 << 4) | \ 29f25701dfSBruce Allan (ID_LED_DEF1_DEF2)) 30f25701dfSBruce Allan 31f25701dfSBruce Allan #define E1000_GCR_L1_ACT_WITHOUT_L0S_RX 0x08000000 32f25701dfSBruce Allan #define AN_RETRY_COUNT 5 /* Autoneg Retry Count value */ 33f25701dfSBruce Allan 34f25701dfSBruce Allan /* Intr Throttling - RW */ 35f25701dfSBruce Allan #define E1000_EITR_82574(_n) (0x000E8 + (0x4 * (_n))) 36f25701dfSBruce Allan 37f25701dfSBruce Allan #define E1000_EIAC_82574 0x000DC /* Ext. Interrupt Auto Clear - RW */ 38f25701dfSBruce Allan #define E1000_EIAC_MASK_82574 0x01F00000 39f25701dfSBruce Allan 403ffcf2cbSBruce Allan #define E1000_IVAR_INT_ALLOC_VALID 0x8 413ffcf2cbSBruce Allan 42f25701dfSBruce Allan /* Manageability Operation Mode mask */ 43f25701dfSBruce Allan #define E1000_NVM_INIT_CTRL2_MNGM 0x6000 44f25701dfSBruce Allan 45f25701dfSBruce Allan #define E1000_BASE1000T_STATUS 10 46f25701dfSBruce Allan #define E1000_IDLE_ERROR_COUNT_MASK 0xFF 47f25701dfSBruce Allan #define E1000_RECEIVE_ERROR_COUNTER 21 48f25701dfSBruce Allan #define E1000_RECEIVE_ERROR_MAX 0xFFFF 49f25701dfSBruce Allan bool e1000_check_phy_82574(struct e1000_hw *hw); 50f25701dfSBruce Allan bool e1000e_get_laa_state_82571(struct e1000_hw *hw); 51f25701dfSBruce Allan void e1000e_set_laa_state_82571(struct e1000_hw *hw, bool state); 52f25701dfSBruce Allan 53f25701dfSBruce Allan #endif 54