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