staging: et131x: move et131x_adapter.h contents into et131x.c
[linux-2.6/btrfs-unstable.git] / drivers / staging / et131x / et131x_defs.h
blob872a5afc3577f37214d19296fffe3d0fd9170630
1 /*
2 * Agere Systems Inc.
3 * 10/100/1000 Base-T Ethernet Driver for the ET1301 and ET131x series MACs
5 * Copyright © 2005 Agere Systems Inc.
6 * All rights reserved.
7 * http://www.agere.com
9 * Copyright (c) 2011 Mark Einon <mark.einon@gmail.com>
11 *------------------------------------------------------------------------------
13 * et131x_defs.h - Defines, structs, enums, prototypes, etc. to assist with OS
14 * compatibility
16 *------------------------------------------------------------------------------
18 * SOFTWARE LICENSE
20 * This software is provided subject to the following terms and conditions,
21 * which you should read carefully before using the software. Using this
22 * software indicates your acceptance of these terms and conditions. If you do
23 * not agree with these terms and conditions, do not use the software.
25 * Copyright © 2005 Agere Systems Inc.
26 * All rights reserved.
28 * Redistribution and use in source or binary forms, with or without
29 * modifications, are permitted provided that the following conditions are met:
31 * . Redistributions of source code must retain the above copyright notice, this
32 * list of conditions and the following Disclaimer as comments in the code as
33 * well as in the documentation and/or other materials provided with the
34 * distribution.
36 * . Redistributions in binary form must reproduce the above copyright notice,
37 * this list of conditions and the following Disclaimer in the documentation
38 * and/or other materials provided with the distribution.
40 * . Neither the name of Agere Systems Inc. nor the names of the contributors
41 * may be used to endorse or promote products derived from this software
42 * without specific prior written permission.
44 * Disclaimer
46 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
47 * INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
48 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY
49 * USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
50 * RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
51 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
52 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
53 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
54 * ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
55 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
56 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
57 * DAMAGE.
61 #ifndef __ET131X_DEFS_H__
62 #define __ET131X_DEFS_H__
64 /* Packet and header sizes */
65 #define NIC_MIN_PACKET_SIZE 60
67 /* Multicast list size */
68 #define NIC_MAX_MCAST_LIST 128
70 /* Supported Filters */
71 #define ET131X_PACKET_TYPE_DIRECTED 0x0001
72 #define ET131X_PACKET_TYPE_MULTICAST 0x0002
73 #define ET131X_PACKET_TYPE_BROADCAST 0x0004
74 #define ET131X_PACKET_TYPE_PROMISCUOUS 0x0008
75 #define ET131X_PACKET_TYPE_ALL_MULTICAST 0x0010
77 /* Tx Timeout */
78 #define ET131X_TX_TIMEOUT (1 * HZ)
79 #define NIC_SEND_HANG_THRESHOLD 0
81 /* MP_TCB flags */
82 #define fMP_DEST_MULTI 0x00000001
83 #define fMP_DEST_BROAD 0x00000002
85 /* MP_ADAPTER flags */
86 #define fMP_ADAPTER_RECV_LOOKASIDE 0x00000004
87 #define fMP_ADAPTER_INTERRUPT_IN_USE 0x00000008
88 #define fMP_ADAPTER_SECONDARY 0x00000010
90 /* MP_SHARED flags */
91 #define fMP_ADAPTER_SHUTDOWN 0x00100000
92 #define fMP_ADAPTER_LOWER_POWER 0x00200000
94 #define fMP_ADAPTER_NON_RECOVER_ERROR 0x00800000
95 #define fMP_ADAPTER_RESET_IN_PROGRESS 0x01000000
96 #define fMP_ADAPTER_NO_CABLE 0x02000000
97 #define fMP_ADAPTER_HARDWARE_ERROR 0x04000000
98 #define fMP_ADAPTER_REMOVE_IN_PROGRESS 0x08000000
99 #define fMP_ADAPTER_HALT_IN_PROGRESS 0x10000000
101 #define fMP_ADAPTER_FAIL_SEND_MASK 0x3ff00000
102 #define fMP_ADAPTER_NOT_READY_MASK 0x3ff00000
104 /* Some offsets in PCI config space that are actually used. */
105 #define ET1310_PCI_MAX_PYLD 0x4C
106 #define ET1310_PCI_MAC_ADDRESS 0xA4
107 #define ET1310_PCI_EEPROM_STATUS 0xB2
108 #define ET1310_PCI_ACK_NACK 0xC0
109 #define ET1310_PCI_REPLAY 0xC2
110 #define ET1310_PCI_L0L1LATENCY 0xCF
112 /* PCI Vendor/Product IDs */
113 #define ET131X_PCI_VENDOR_ID 0x11C1 /* Agere Systems */
114 #define ET131X_PCI_DEVICE_ID_GIG 0xED00 /* ET1310 1000 Base-T 8 */
115 #define ET131X_PCI_DEVICE_ID_FAST 0xED01 /* ET1310 100 Base-T */
117 /* Define order of magnitude converter */
118 #define NANO_IN_A_MICRO 1000
120 #define PARM_RX_NUM_BUFS_DEF 4
121 #define PARM_RX_TIME_INT_DEF 10
122 #define PARM_RX_MEM_END_DEF 0x2bc
123 #define PARM_TX_TIME_INT_DEF 40
124 #define PARM_TX_NUM_BUFS_DEF 4
125 #define PARM_DMA_CACHE_DEF 0
128 #endif /* __ET131X_DEFS_H__ */