xref: /onnv-gate/usr/src/uts/common/io/e1000g/e1000_82543.h (revision 11020:e0feef27b61a)
1 /*
2  * This file is provided under a CDDLv1 license.  When using or
3  * redistributing this file, you may do so under this license.
4  * In redistributing this file this license must be included
5  * and no other modification of this header file is permitted.
6  *
7  * CDDL LICENSE SUMMARY
8  *
9  * Copyright(c) 1999 - 2009 Intel Corporation. All rights reserved.
10  *
11  * The contents of this file are subject to the terms of Version
12  * 1.0 of the Common Development and Distribution License (the "License").
13  *
14  * You should have received a copy of the License with this software.
15  * You can obtain a copy of the License at
16  *	http://www.opensolaris.org/os/licensing.
17  * See the License for the specific language governing permissions
18  * and limitations under the License.
19  */
20 
21 /*
22  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23  * Use is subject to license terms of the CDDLv1.
24  */
25 
26 /*
27  * IntelVersion: 1.8 v3-1-10-1_2009-9-18_Release14-6
28  */
29 #ifndef _E1000_82543_H_
30 #define	_E1000_82543_H_
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #define	PHY_PREAMBLE		0xFFFFFFFF
37 #define	PHY_PREAMBLE_SIZE	32
38 #define	PHY_SOF			0x1
39 #define	PHY_OP_READ		0x2
40 #define	PHY_OP_WRITE		0x1
41 #define	PHY_TURNAROUND		0x2
42 
43 #define	TBI_COMPAT_ENABLED	0x1	/* Global "knob" for the workaround */
44 /* If TBI_COMPAT_ENABLED, then this is the current state (on/off) */
45 #define	TBI_SBP_ENABLED		0x2
46 
47 void e1000_tbi_adjust_stats_82543(struct e1000_hw *hw,
48     struct e1000_hw_stats *stats,
49     u32 frame_len, u8 *mac_addr,
50     u32 max_frame_size);
51 void e1000_set_tbi_compatibility_82543(struct e1000_hw *hw, bool state);
52 bool e1000_tbi_sbp_enabled_82543(struct e1000_hw *hw);
53 
54 #ifdef __cplusplus
55 }
56 #endif
57 
58 #endif	/* _E1000_82543_H_ */
59