1177867Sjfv/******************************************************************************
2169240Sjfv
3269196Sjfv  Copyright (c) 2001-2014, Intel Corporation
4169240Sjfv  All rights reserved.
5169240Sjfv
6169240Sjfv  Redistribution and use in source and binary forms, with or without
7169240Sjfv  modification, are permitted provided that the following conditions are met:
8169240Sjfv
9169240Sjfv   1. Redistributions of source code must retain the above copyright notice,
10169240Sjfv      this list of conditions and the following disclaimer.
11169240Sjfv
12169240Sjfv   2. Redistributions in binary form must reproduce the above copyright
13169240Sjfv      notice, this list of conditions and the following disclaimer in the
14169240Sjfv      documentation and/or other materials provided with the distribution.
15169240Sjfv
16169240Sjfv   3. Neither the name of the Intel Corporation nor the names of its
17169240Sjfv      contributors may be used to endorse or promote products derived from
18169240Sjfv      this software without specific prior written permission.
19169240Sjfv
20169240Sjfv  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21169240Sjfv  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22169240Sjfv  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23169240Sjfv  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24169240Sjfv  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25169240Sjfv  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26169240Sjfv  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27169240Sjfv  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28169240Sjfv  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29169240Sjfv  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30169240Sjfv  POSSIBILITY OF SUCH DAMAGE.
31169240Sjfv
32177867Sjfv******************************************************************************/
33177867Sjfv/*$FreeBSD$*/
34169240Sjfv
35169240Sjfv#ifndef _E1000_82571_H_
36169240Sjfv#define _E1000_82571_H_
37169240Sjfv
38269196Sjfv#define ID_LED_RESERVED_F746	0xF746
39269196Sjfv#define ID_LED_DEFAULT_82573	((ID_LED_DEF1_DEF2 << 12) | \
40269196Sjfv				 (ID_LED_OFF1_ON2  <<  8) | \
41269196Sjfv				 (ID_LED_DEF1_DEF2 <<  4) | \
42269196Sjfv				 (ID_LED_DEF1_DEF2))
43169240Sjfv
44269196Sjfv#define E1000_GCR_L1_ACT_WITHOUT_L0S_RX	0x08000000
45269196Sjfv#define AN_RETRY_COUNT		5 /* Autoneg Retry Count value */
46169240Sjfv
47178523Sjfv/* Intr Throttling - RW */
48269196Sjfv#define E1000_EITR_82574(_n)	(0x000E8 + (0x4 * (_n)))
49178523Sjfv
50269196Sjfv#define E1000_EIAC_82574	0x000DC /* Ext. Interrupt Auto Clear - RW */
51269196Sjfv#define E1000_EIAC_MASK_82574	0x01F00000
52178523Sjfv
53269196Sjfv#define E1000_IVAR_INT_ALLOC_VALID	0x8
54181027Sjfv
55269196Sjfv/* Manageability Operation Mode mask */
56269196Sjfv#define E1000_NVM_INIT_CTRL2_MNGM	0x6000
57178523Sjfv
58269196Sjfv#define E1000_BASE1000T_STATUS		10
59269196Sjfv#define E1000_IDLE_ERROR_COUNT_MASK	0xFF
60269196Sjfv#define E1000_RECEIVE_ERROR_COUNTER	21
61269196Sjfv#define E1000_RECEIVE_ERROR_MAX		0xFFFF
62213234Sjfvbool e1000_check_phy_82574(struct e1000_hw *hw);
63181027Sjfvbool e1000_get_laa_state_82571(struct e1000_hw *hw);
64181027Sjfvvoid e1000_set_laa_state_82571(struct e1000_hw *hw, bool state);
65181027Sjfv
66169240Sjfv#endif
67